Skip to content

Instantly share code, notes, and snippets.

@englishm
Created December 7, 2013 02:19
Show Gist options
  • Save englishm/7836536 to your computer and use it in GitHub Desktop.
Save englishm/7836536 to your computer and use it in GitHub Desktop.
# Configuration options
config defaultToCurrentScreen true
config modalEscapeKey esc
config nudgePercentOf screenSize
config resizePercentOf screenSize
config windowHintsShowIcons true
config windowHintsIgnoreHiddenWindows false
config windowHintsSpread true
config windowHintsSpreadSearchWidth 200
config windowHintsSpreadSearchHeight 200
#--------------------------------------------------------------------
# Aliases
#--------------------------------------------------------------------
# Modal key
alias modal-key w,shift,cmd
# Some apps
alias app-browser 'Google Chrome'
alias app-terminal 'iTerm'
alias app-chat 'Adium'
alias app-finder 'Finder'
alias app-social 'Twitter'
# Easy helpers for long variable names...
alias sox screenOriginX
alias soy screenOriginY
alias ssx screenSizeX
alias ssy screenSizeY
# Positioning aliases
alias full move ${sox};${soy} ${ssx};${ssy}
alias left-half move ${sox};${soy} ${ssx}/2+1;${ssy}
alias right-half move ${sox}+${ssx}/2;${soy} ${ssx}/2;${ssy}
alias top-half move ${sox};${soy} ${ssx};${ssy}/2
alias bot-half move ${sox};${soy}+${ssy}/2 ${ssx};${ssy}/2
alias top-left-corner move ${sox};${soy} ${ssx}/2;${ssy}/2
alias top-right-corner move ${sox}+${ssx}/2;${soy} ${ssx}/2;${ssy}/2
alias bot-left-corner move ${sox};${soy}+${ssy}/2 ${ssx}/2;${ssy}/2
alias bot-right-corner move ${sox}+${ssx}/2;${soy}+${ssy}/2 ${ssx}/2;${ssy}/2
#--------------------------------------------------------------------
# Layouts
#--------------------------------------------------------------------
# This layout is used with one screen
layout 1coding 'Google Chrome':REPEAT ${full}
layout 1coding 'iTerm':REPEAT ${full}
# This layout is used with two screens
layout 2coding 'Google Chrome':REPEAT move ${sox}+387;${soy}+100 1800;1200 0
layout 2coding 'iTerm':REPEAT ${full} 0
#--------------------------------------------------------------------
# Bindings
#--------------------------------------------------------------------
# Activate layouts, this is all done via modal-keys
bind 1:${modal-key} sequence layout 1coding
bind 2:${modal-key} sequence layout 2coding
# Focus windows in certain directions
bind h:cmd,shift focus left
bind l:cmd,shift focus right
bind j:cmd,shift focus up
bind k:cmd,shift focus down
# Move windows to certain locations on the screen
bind f:cmd,ctrl ${full}
bind h:cmd,ctrl ${left-half}
bind l:cmd,ctrl ${right-half}
bind j:cmd,ctrl ${bot-half}
bind k:cmd,ctrl ${top-half}
bind u:cmd,ctrl ${top-left-corner}
bind i:cmd,ctrl ${top-right-corner}
bind n:cmd,ctrl ${bot-left-corner}
bind m:cmd,ctrl ${bot-right-corner}
# Focus helpers
bind b:e,cmd focus ${app-browser}
bind t:e,cmd focus ${app-terminal}
bind c:e,cmd focus ${app-chat}
bind f:e,cmd focus ${app-finder}
bind s:e,cmd focus ${app-social}
bind /:e,cmd hint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment