Skip to content

Instantly share code, notes, and snippets.

@mfurtak
Last active December 16, 2015 20:49
Show Gist options
  • Save mfurtak/5495531 to your computer and use it in GitHub Desktop.
Save mfurtak/5495531 to your computer and use it in GitHub Desktop.
My current Slate configuration
config defaultToCurrentScreen true
config nudgePercentOf screenSize
config resizePercentOf screenSize
config secondsBetweenRepeat 0.1
config checkDefaultsOnLoad true
config focusCheckWidthMax 3000
config windowHintsShowIcons true
config windowHintsIgnoreHiddenWindows false
config windowHintsSpread true
# config keyboardLayout dvorak
# config windowHintsDuration 5
# config windowHintsOrder persist
# Monitors
alias mon-laptop 0
alias mon-thunderbolt 1
# Relative positions
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
# Absolute Positions (on a particular monitor)
alias 1-full move screenOriginX;screenOriginY screenSizeX;screenSizeY ${mon-laptop}
alias 1-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-laptop}
alias 1-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-laptop}
alias 2-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-thunderbolt}
alias 2-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-thunderbolt}
alias 2-righttop move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2 ${mon-thunderbolt}
alias 2-rightbottom move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 ${mon-thunderbolt}
# 1 Monitor layout
layout 1monitor 'Terminal':REPEAT ${1-full}
layout 1monitor 'Safari':REPEAT ${1-full}
layout 1monitor 'Firefox':REPEAT ${1-full}
layout 1monitor 'Google Chrome':REPEAT ${1-full}
layout 1monitor 'Sublime Text 2':REPEAT ${1-full}
layout 1monitor 'Eclipse':MAIN_FIRST ${1-full}
layout 1monitor 'HipChat' ${1-full}
# 2 Monitor layout
layout 2monitors 'Terminal':REPEAT ${2-left}
layout 2monitors 'Safari':REPEAT ${2-right}
layout 2monitors 'Firefox':REPEAT ${2-right}
layout 2monitors 'Google Chrome':REPEAT ${2-right}
layout 2monitors 'Sublime Text 2':REPEAT ${2-left}
layout 2monitors 'Eclipse':MAIN_FIRST ${2-left}
layout 2monitors 'HipChat' ${1-full}
# Default Layouts
default 2monitors count:2
default 1monitor count:1
bind u:ctrl;shift focus 'Sublime Text 2'
bind c:ctrl;shift focus 'Google Chrome'
bind s:ctrl;shift focus 'Safari'
bind t:ctrl;shift focus 'Terminal'
bind e:ctrl;shift focus 'Eclipse'
bind f:ctrl;shift focus 'Firefox'
bind h:ctrl;shift focus 'HipChat'
bind /:ctrl;shift hint ASDFGHJKLQWERTYUIOPZXCVBNM
bind up:ctrl;shift ${full}
bind left:ctrl;shift ${lefthalf}
bind right:ctrl;shift ${righthalf}
bind 1:ctrl;shift layout 1monitor
bind 2:ctrl;shift layout 2monitors
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment