Skip to content

Instantly share code, notes, and snippets.

@elaijuh
Last active August 22, 2016 03:29
Show Gist options
  • Save elaijuh/e29fdf6eb035dd2676e35d2a1dd5b929 to your computer and use it in GitHub Desktop.
Save elaijuh/e29fdf6eb035dd2676e35d2a1dd5b929 to your computer and use it in GitHub Desktop.
slate config
# Config
config windowHintsFontSize 100
config nudgePercentOf screenSize
config resizePercentOf screenSize
config windowHintsTopLeftX (windowSizeX/2)-(windowHintsWidth/2)
config windowHintsTopLeftY (windowSizeY/2)-(windowHintsHeight/2)
config windowHintsIgnoreHiddenWindows false
# General aliases
alias sox screenOriginX
alias soy screenOriginY
alias ssx screenSizeX
alias ssy screenSizeY
# Position aliases
alias centered ${sox}+${ssx}/8;${soy}+${ssy}/8 ${ssx}/8*6;${ssy}/8*6
alias fullscreen ${sox};${soy} ${ssx};${ssy}
alias leftHalf ${sox};${soy} ${ssx}/2;${ssy}
alias bottomHalf ${sox};${soy}+${ssy}/2 ${ssx};${ssy}/2
alias topHalf ${sox};${soy} ${ssx};${ssy}/2
alias rightHalf ${sox}+${ssx}/2;${soy} ${ssx}/2;${ssy}
alias topLeftQuarter ${sox};${soy} ${ssx}/2;${ssy}/2
alias topRightQuarter ${sox}+${ssx}/2;${soy} ${ssx}/2;${ssy}/2
alias bottomLeftQuarter ${sox};${soy}+${ssy}/2 ${ssx}/2;${ssy}/2
alias bottomRightQuarter ${sox}+${ssx}/2;${soy}+${ssy}/2 ${ssx}/2;${ssy}/2
alias left23 ${sox};${soy} ${ssx}*2/3;${ssy}
alias right13 ${sox}+${ssx}*2/3;${soy} ${ssx}*1/3;${ssy}
# 1 monitor layout
#layout oneScreen 'Adium':TITLE_ORDER='Contacts' move ${sox};${soy} ${ssx}/9;${ssy}
layout oneScreen 'Atom':REPEAT move ${fullscreen}
layout oneScreen 'MindNode' move ${fullscreen}
layout oneScreen 'Slack' move ${fullscreen}
layout oneScreen 'Google Chrome' move ${fullscreen}
layout oneScreen 'Brave' move ${fullscreen}
layout oneScreen 'Foxmail' move ${fullscreen}
layout oneScreen 'iTerm2' move ${rightHalf}
layout oneScreen 'Evernote' move ${rightHalf}
layout oneScreen 'Spotify' move ${fullscreen}
layout oneScreen 'WeChat' move ${rightHalf}
layout oneScreen 'MacVim' move ${rightHalf}
# 2 monitor layout
layout twoScreen 'Atom':REPEAT move ${fullscreen} 1
layout twoScreen 'MindNode' move ${fullscreen} 0
layout twoScreen 'Slack' move ${fullscreen} 0
layout twoScreen 'Google Chrome' move ${fullscreen} 0
layout twoScreen 'Brave' move ${fullscreen} 1
layout twoScreen 'Foxmail' move ${fullscreen} 0
layout twoScreen 'iTerm2' move ${rightHalf} 0
layout twoScreen 'Evernote' move ${fullscreen} 0
layout twoScreen 'Spotify' move ${fullscreen} 0
layout twoScreen 'WeChat' move ${rightHalf} 0
layout twoScreen 'MacVim' move ${rightHalf} 1
# 3 monitor layout
layout threeScreen 'Spotify' move ${fullscreen} 0
layout threeScreen 'Slack' move ${fullscreen} 0
layout threeScreen 'MindNode' move ${fullscreen} 0
layout threeScreen 'MacVim' move ${fullscreen} 1
layout threeScreen 'iTerm2' move ${right13} 1
layout threeScreen 'Google Chrome' move ${left23} 1
layout threeScreen 'Brave' move ${left23} 1
layout threeScreen 'Atom':REPEAT move ${fullscreen} 2
# Triggers the twoScreenLayout when there are 2 monitors.
default threeScreen count:3
# Bindings
bind g:ctrl;alt move ${centered}
bind o:ctrl;alt move ${fullscreen}
bind h:ctrl;alt move ${leftHalf}
bind b:ctrl;alt move ${left23}
bind j:ctrl;alt move ${bottomHalf}
bind k:ctrl;alt move ${topHalf}
bind l:ctrl;alt move ${rightHalf}
bind .:ctrl;alt move ${right13}
bind u:ctrl;alt move ${topLeftQuarter}
bind i:ctrl;alt move ${topRightQuarter}
bind n:ctrl;alt move ${bottomLeftQuarter}
bind m:ctrl;alt move ${bottomRightQuarter}
bind ;:ctrl;alt throw previous
bind /:ctrl;alt hint ASDFJKLGHWERTYUIO
bind 1:ctrl;alt layout oneScreen
bind 2:ctrl;alt layout twoScreen
bind 3:ctrl;alt layout threeScreen
bind right:ctrl;alt resize +10% +0
bind left:ctrl;alt resize -10% +0
bind up:ctrl;alt resize +0 -10%
bind down:ctrl;alt resize +0 +10%
bind right:ctrl;alt nudge +10% +0
bind left:ctrl;alt nudge -10% +0
bind up:ctrl;alt nudge +0 -10%
bind down:ctrl;alt nudge +0 +10%
# Focus - Brings the focus to the window by shortcut
bind b:cmd;alt focus 'Google Chrome'
bind i:cmd;alt focus 'iTerm2'
bind a:cmd;alt focus 'Atom'
bind s:cmd;alt focus 'Slack'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment