Last active
February 7, 2018 20:57
Slate config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# See https://github.com/jigish/slate#readme | |
config defaultToCurrentScreen true | |
config nudgePercentOf screenSize | |
config resizePercentOf screenSize | |
config focusPreferSameApp false | |
config focusCheckWidthMax 3000 | |
config checkDefaultsOnLoad true | |
config windowHintsShowIcons true | |
config windowHintsSpread true | |
config windowHintsSpreadPadding 5 | |
config windowHintsIgnoreHiddenWindows false | |
alias mbp 1 | |
alias dell 0 | |
alias top-half move screenOriginX;screenOriginY screenSizeX;screenSizeY/2 | |
alias bottom-half move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX;screenSizeY/2 | |
alias left-half move screenOriginX;screenOriginY screenSizeX/2;screenSizeY | |
alias right-half move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY | |
alias top-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY/2 | |
alias top-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2 | |
alias bottom-left move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 | |
alias bottom-right move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 | |
alias maximized move screenOriginX;screenOriginY screenSizeX;screenSizeY | |
layout 2monitors 'Emacs':REPEAT ${right-half} ${dell} | |
layout 2monitors 'Google Chrome':REPEAT ${left-half} ${dell} | |
layout 2monitors 'Firefox':REPEAT ${left-half} ${dell} | |
layout 2monitors 'Safari':REPEAT ${left-half} ${dell} | |
layout 2monitors 'Mail' ${maximized} ${mbp} | |
layout 2monitors 'iTerm2':REPEAT,SORT_TITLE ${top-left} ${dell} | ${bottom-left} ${dell} | ${bottom-right} ${dell} | ${top-right} ${dell} | |
layout 2monitors 'iTunes' ${maximized} ${mbp} | |
layout 2monitors 'Spotify' ${maximized} ${mbp} | |
layout 2monitors 'Dash' ${maximized} ${mbp} | |
layout 2monitors 'Slack' ${maximized} ${mbp} | |
layout 2monitors 'Twitter' throw ${mbp} | |
layout 2monitors 'Skype' throw ${mbp} | |
layout 1monitor 'Emacs':REPEAT ${maximized} | |
layout 1monitor 'Google Chrome':REPEAT ${maximized} | |
layout 1monitor 'Firefox':REPEAT ${maximized} | |
layout 1monitor 'Safari':REPEAT ${maximized} | |
layout 1monitor 'iTerm2':REPEAT,SORT_TITLE ${top-left} | ${bottom-left} | ${bottom-right} | ${top-right} | |
default 2monitors count:2 | |
default 1monitor count:1 | |
bind 1:shift;ctrl;alt;cmd layout 1monitor | |
bind 2:shift;ctrl;alt;cmd layout 2monitors | |
bind q:shift;ctrl;alt;cmd relaunch | |
# Positioning | |
bind w:ctrl;alt;cmd ${top-half} | |
bind x:ctrl;alt;cmd ${bottom-half} | |
bind a:ctrl;alt;cmd ${left-half} | |
bind d:ctrl;alt;cmd ${right-half} | |
bind q:ctrl;alt;cmd ${top-left} | |
bind e:ctrl;alt;cmd ${top-right} | |
bind z:ctrl;alt;cmd ${bottom-left} | |
bind c:ctrl;alt;cmd ${bottom-right} | |
bind s:ctrl;alt;cmd ${maximized} | |
# Move between screens | |
bind /:ctrl;alt;cmd throw next | |
# Focus Bindings | |
bind right:alt;cmd focus right | |
bind left:alt;cmd focus left | |
bind up:alt;cmd focus up | |
bind down:alt;cmd focus down | |
bind down:ctrl;alt;cmd focus behind | |
# Window Hints | |
bind tab:alt hint ASDFGHJKL | |
# Tab switcher | |
#bind tab:cmd switch | |
#bind tab:shift;cmd switch | |
#bind g:ctrl;alt;cmd grid padding:5 0:screenSizeX/8,screenSizeY/8 1:screenSizeX/8,screenSizeY/8 | |
# Local Variables: | |
# mode: conf | |
# End: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Back in 1997 I worked on a Solaris workstation with an awesome X11 window manager the name of which I can't now recall. I created the "Positioning" tiling shortcuts above back then, and missed them for many years after I left that work environment. I finally managed to recreate them when I bought Moom, and then subsequently moved to Slate.
Additionally, this config applies some basic rules for tiling a variety of apps when a large external monitor is connected to (or disconnected from) my Macbook Air.