Skip to content

Instantly share code, notes, and snippets.

@mitchellvanw
Created October 8, 2014 13:38
Show Gist options
  • Save mitchellvanw/1773d5ac1469c8e81fed to your computer and use it in GitHub Desktop.
Save mitchellvanw/1773d5ac1469c8e81fed to your computer and use it in GitHub Desktop.
Slate Configuration
# by Mitchell van Wijngaarden
config defaultToCurrentScreen true
config nudgePercentOf screenSize
config resizePercentOf screenSize
#config windowHintsIgnoreHiddenWindows false
config secondsBetweenRepeat 0.1
config checkDefaultsOnLoad true
config focusCheckWidthMax 3000
config windowHintsSpread true
# Abstract position
alias full move screenOriginX;screenOriginY screenSizeX;screenSizeY
alias lefthalf move screenOriginX;screenOriginY screenSizeX/2;screenSizeY
alias righthalf move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY
alias topleft corner top-left resize:screenSizeX/2;screenSizeY/2
alias topright corner top-right resize:screenSizeX/2;screenSizeY/2
alias bottomleft corner bottom-left resize:screenSizeX/2;screenSizeY/2
alias bottomright corner bottom-right resize:screenSizeX/2;screenSizeY/2
alias right60 move screenOriginX+screenSizeX*0.4;screenOriginY screenSizeX*0.6;screenSizeY
alias right40 move screenOriginX+screenSizeX*0.6;screenOriginY screenSizeX*0.4;screenSizeY
alias left60 move screenOriginX;screenOriginY screenSizeX*0.6;screenSizeY
alias left40 move screenOriginX;screenOriginY screenSizeX*0.4;screenSizeY
alias right80 move screenOriginX+screenSizeX*0.2;screenOriginY screenSizeX*0.8;screenSizeY
alias right20 move screenOriginX+screenSizeX*0.8;screenOriginY screenSizeX*0.2;screenSizeY
alias left80 move screenOriginX;screenOriginY screenSizeX*0.8;screenSizeY
alias left20 move screenOriginX;screenOriginY screenSizeX*0.2;screenSizeY
# Monitors
alias mon-laptop 0
alias mon-second 1
# Layouts
layout work 'PhpStorm' ${full} ${mon-laptop}
layout work 'Telegram' ${left60} ${mon-second}
layout work 'Google Chrome' ${left60} ${mon-second}
layout work 'Textual Trial' ${right40} ${mon-second}
# Hyper Key
alias hyper ctrl;cmd
bind 1:${hyper} layout work
# Bindings
# Grid
bind [:${hyper} grid padding:5 0:6,2
bind ]:${hyper} grid padding:5 0:8,6
# Hint
bind tab:${hyper} hint
# Full
bind w:${hyper} ${full}
# 50% 50%
bind q:${hyper} ${lefthalf}
bind e:${hyper} ${righthalf}
# Quarters
bind i:${hyper} ${topleft}
bind o:${hyper} ${topright}
bind k:${hyper} ${bottomleft}
bind l:${hyper} ${bottomright}
# 60% 40%
bind a:${hyper} ${left60}
bind s:${hyper} ${right40}
# 40% 60%
bind d:${hyper} ${left40}
bind f:${hyper} ${right60}
# 80% 20%
bind z:${hyper} ${left80}
bind x:${hyper} ${right20}
# 20% 80%
bind c:${hyper} ${left20}
bind v:${hyper} ${right80}
# Move
bind right:${hyper} nudge +5% +0
bind left:${hyper} nudge -5% +0
bind up:${hyper} nudge +0 -5%
bind down:${hyper} nudge +0 +5%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment