config defaultToCurrentScreen true | |
config windowHintsShowIcons true | |
config windowHintsIgnoreHiddenWindows false | |
config windowHintsSpread true | |
config windowHintsDuration 5 | |
bind esc:cmd hintfac | |
alias mon-laptop 1680x1050 | |
alias mon-monitor 2560x1600 | |
alias right-top move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2 ${mon-monitor} | |
alias right-bottom move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 ${mon-monitor} | |
alias left-top move screenOriginX;screenOriginY screenSizeX/2;screenSizeY/2 ${mon-monitor} | |
alias left-bottom move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 ${mon-monitor} | |
alias full-screen move screenOriginX;screenOriginY screenSizeX;screenSizeY ${mon-laptop} | |
# Abstract positions | |
alias fullscreen move screenOriginX;screenOriginY screenSizeX;screenSizeY | |
alias lefthalf move screenOriginX;screenOriginY screenSizeX/2;screenSizeY | |
alias righthalf move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY | |
alias tophalf move screenOriginX;screenOriginY screenSizeX;screenSizeY/2 | |
alias bottomhalf move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX;screenSizeY/2 | |
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 | |
bind pad9:cmd ${right-top} | |
bind pad6:cmd ${righthalf} | |
bind pad3:cmd ${right-bottom} | |
bind pad7:cmd ${left-top} | |
bind pad1:cmd ${left-bottom} | |
bind pad4:cmd ${lefthalf} | |
bind pad5:cmd ${full-screen} | |
bind pad8:cmd ${tophalf} | |
bind pad2:cmd ${bottomhalf} | |
bind e:alt ${right-top} | |
bind d:alt ${righthalf} | |
bind c:alt ${right-bottom} | |
bind q:alt ${left-top} | |
bind z:alt ${left-bottom} | |
bind a:alt ${lefthalf} | |
bind s:alt ${full-screen} | |
bind s:cmd;alt focus 'Safari' | |
bind t:cmd;alt focus 'Terminal' | |
bind e:cmd;alt focus 'Sublime Text' | |
bind i:cmd;alt focus 'IntelliJ IDEA' | |
bind p:cmd;alt focus 'PyCharm' | |
bind m:cmd;alt focus 'Microsoft Outlook' | |
bind g:cmd;alt focus 'Google Chrome' | |
# Concrete positions | |
alias 1-full move screenOriginX;screenOriginY screenSizeX;screenSizeY ${mon-laptop} | |
alias 2-lefthalf move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-monitor} | |
alias 2-righthalf move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-monitor} | |
alias 2-topleft corner top-left resize:screenSizeX/2;screenSizeY/2 ${mon-monitor} | |
alias 2-topright corner top-right resize:screenSizeX/2;screenSizeY/2 ${mon-monitor} | |
alias 2-bottomleft corner bottom-left resize:screenSizeX/2;screenSizeY/2 ${mon-monitor} | |
alias 2-bottomright corner bottom-right resize:screenSizeX/2;screenSizeY/2 ${mon-monitor} | |
alias 2-tophalf move screenOriginX;screenOriginY screenSizeX;screenSizeY/2 ${mon-monitor} | |
alias 2-bottomhalf move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX;screenSizeY/2 ${mon-monitor} | |
# 1 Monitor layout | |
layout 1monitor 'Mocrosoft Outlook':MAIN_FIRST ${1-full} | |
layout 1monitor 'LimeChat':MAIN_FIRST ${1-full} | |
layout 1monitor 'Terminal':REPEAT ${1-full} | |
layout 1monitor 'Safari':REPEAT ${1-full} | |
layout 1monitor 'Sublime Text':REPEAT ${1-full} | |
layout 1monitor 'Safari':REPEAT ${1-full} | |
layout 1monitor 'PyCharm':REPEAT ${1-full} | |
layout 1monitor 'IntelliJ IDEA':REPEAT ${1-full} | |
# 2 Monitor layout | |
layout 2monitors 'Mocrosoft Outlook':MAIN_FIRST ${1-full} | |
layout 2monitors 'LimeChat':MAIN_FIRST ${1-full} | |
layout 2monitors 'Terminal':REPEAT ${2-bottomleft} | |
layout 2monitors 'Safari':REPEAT ${2-topleft} | |
layout 2monitors 'Sublime Text':REPEAT ${2-topright} | |
#layout 2monitors 'Safari':REPEAT ${2-bottomleft} | |
layout 2monitors 'PyCharm':REPEAT ${2-bottomright} | |
layout 2monitors 'IntelliJ IDEA':REPEAT ${2-bottomright} | |
# default layouts | |
default 2monitors resolutions:${mon-laptop};${mon-monitor}; | |
default 1monitor resolutions:${mon-laptop} | |
bind pad*:cmd layout 2monitors | |
bind pad/:cmd layout 1monitor |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment