Created
March 16, 2013 00:23
-
-
Save aaronlifton3/5174257 to your computer and use it in GitHub Desktop.
my .slate file
This file contains hidden or 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
| # Configs | |
| 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 windowHintsShowIcons true | |
| config windowHintsIgnoreHiddenWindows false | |
| #config focusPreferSameApp false | |
| # Monitor Aliases | |
| alias mon-lap 1280x800 | |
| alias mon-big 1920x1080 | |
| # app aliases | |
| alias term 'iTerm' | |
| alias browser 'WebKit' | |
| alias editor1 'Sublime Text 2' | |
| alias editor2 'MacVim' | |
| alias editor3 'Coda' | |
| # hyper hack with PCKeyboardRemap | |
| #alias hyper ctrl;shift;alt;cmd | |
| # Position Aliases | |
| alias 1-bot move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX;screenSizeY/2 | |
| alias 1-bot-l move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 | |
| alias 1-bot-m move screenOriginX+screenSizeX/3;screenOriginY+screenSizeY/2 screenSizeX/3;screenSizeY/2 | |
| alias 1-bot-r move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 | |
| alias 1-mid move screenOriginX+screenSizeX/8;screenOriginY+screenSizeY/8 3*screenSizeX/4;3*screenSizeY/4 | |
| alias 1-top move screenOriginX;screenOriginY screenSizeX;screenSizeY/2 | |
| alias 1-top-l move screenOriginX;screenOriginY screenSizeX/2;screenSizeY/2 | |
| alias 1-top-m move screenOriginX+screenSizeX/3;screenOriginY screenSizeX/3;screenSizeY/2 | |
| alias 1-top-r move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2 | |
| alias 1-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY | |
| alias 1-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY | |
| alias 1-full move screenOriginX;screenOriginY screenSizeX;screenSizeY | |
| alias 1-chat move screenOriginX;screenOriginY screenSizeX/9;screenSizeY | |
| alias 1-chat-full move screenOriginX+screenSizeX/9;screenOriginY 8*screenSizeX/9;screenSizeY | |
| alias 1-todo move screenOriginX+917;screenOriginY+167 364;540 | |
| alias 2-todo move screenOriginX+1;screenOriginY+539 364;540 | |
| # 2 Monitor layout | |
| layout 2monitors 'iTerm':SORT_TITLE ${1-top-r} ${mon-big} | ${1-bot-l} ${mon-big} | ${1-left} | |
| layout 2monitors 'Webkit':REPEAT ${1-full} | |
| layout 2monitors 'Google Chrome':REPEAT ${1-left} ${mon-big} | ${1-full} | |
| layout 2monitors 'Wunderlist':REPEAT ${2-todo} | |
| layout 2monitors 'Clear':REPEAT ${2-todo} | |
| layout 2monitors 'MacVim' ${1-bot-r} ${mon-big} | ${1-bot-l} | ${1-top-m} | |
| layout 2monitors 'Reminders' ${1-top-l} | |
| #layout 2monitors 'GitX':REPEAT ${1-full} | |
| layout 2monitors 'Messages':IGNORE_FAIL ${1-chat} | |
| layout 2monitors 'Firefox':REPEAT ${1-mid} | |
| layout 2monitors 'WebStorm':REPEAT ${1-top} | |
| layout 2monitors 'Eclipse':REPEAT ${1-full} | |
| layout 2monitors 'iTunes':REPEAT ${1-full} | |
| # 1 Monitor layout | |
| layout 1monitor 'iTerm':SORT_TITLE,REPEAT ${1-bot-l} | ${1-bot-m} | ${1-bot-r} | |
| layout 1monitor 'Webkit':REPEAT ${1-full} | |
| layout 1monitor 'Google Chrome':REPEAT ${1-full} | |
| layout 1monitor 'MacVim':REPEAT ${1-top-r} | ${1-top-l} | ${1-top-m} | |
| layout 1monitor 'Wunderlist':REPEAT ${1-todo} | |
| layout 1monitor 'Clear':REPEAT ${1-todo} | |
| layout 1monitor 'Reminders':REPEAT ${1-full} | |
| layout 1monitor 'GitX':REPEAT ${1-full} | |
| layout 1monitor 'Sublime Text 2':REPEAT ${1-left} | |
| layout 1monitor 'Messages':IGNORE_FAIL ${1-chat} | |
| layout 1monitor 'Firefox':REPEAT ${1-full} | |
| layout 1monitor 'WebStorm':REPEAT ${1-full} | |
| layout 1monitor 'Eclipse':REPEAT ${1-full} | |
| layout 1monitor 'iTunes':REPEAT ${1-full} | |
| # Default Layouts | |
| default 2monitors resolutions:${mon-lap};${mon-big} | |
| default 1monitor resolutions:${mon-lap} | |
| # PCKeyboardRemap Hax | |
| alias hyper ctrl;shift;alt;cmd | |
| # Basic location bindings | |
| bind o:${hyper} ${1-full} | |
| bind h:${hyper} ${1-left} | |
| bind l:${hyper} ${1-right} | |
| bind u:${hyper} ${1-top-l} | |
| bind j:${hyper} ${1-bot} | |
| bind k:${hyper} ${1-top} | |
| bind n:${hyper} ${1-bot-l} | |
| bind m:${hyper} ${1-bot-r} | |
| bind u:${hyper} ${1-top-l} | |
| bind i:${hyper} ${1-top-r} | |
| bind g:${hyper} ${1-mid} | |
| bind o:ctrl;cmd ${1-full} | |
| bind h:ctrl;cmd ${1-left} | |
| bind l:ctrl;cmd ${1-right} | |
| bind u:ctrl;cmd ${1-top-l} | |
| bind j:ctrl;cmd ${1-bot} | |
| bind k:ctrl;cmd ${1-top} | |
| bind n:ctrl;cmd ${1-bot-l} | |
| bind m:ctrl;cmd ${1-bot-r} | |
| bind u:ctrl;cmd ${1-top-l} | |
| bind i:ctrl;cmd ${1-top-r} | |
| bind g:ctrl;cmd ${1-mid} | |
| # hyper bindingsind o:ctrl;cmd ${1-full} | |
| bind h:ctrl;cmd ${1-left} | |
| bind l:ctrl;cmd ${1-right} | |
| bind u:ctrl;cmd ${1-top-l} | |
| bind j:ctrl;cmd ${1-bot} | |
| bind k:ctrl;cmd ${1-top} | |
| bind n:ctrl;cmd ${1-bot-l} | |
| bind m:ctrl;cmd ${1-bot-r} | |
| bind u:ctrl;cmd ${1-top-l} | |
| bind i:ctrl;cmd ${1-top-r} | |
| bind g:ctrl;cmd ${1-mid} | |
| bind left:ctrl;cmd ${1-left} | |
| bind right:ctrl;cmd ${1-right} | |
| bind up:ctrl;cmd ${1-top} | |
| bind down:ctrl;cmd ${1-bot} | |
| #bind ;:ctrl;cmd throw next | |
| # Focus bindings | |
| # NOTE: some of these may *not* work if you have not removed the expose/spaces/mission control bindings | |
| # bind right:cmd;alt focus right | |
| # bind left:cmd;alt focus left | |
| # bind up:cmd;alt focus up | |
| # bind down:cmd;alt focus down | |
| # bind up:cmd;alt focus behind | |
| # bind down:cmd;alt focus behind | |
| # Layout bindings | |
| bind 1:ctrl;shift layout 1monitor | |
| # Window Hints | |
| # bind esc:cmd hint | |
| # Switch currently doesn't work well so I'm commenting it out until I fix it. | |
| #bind tab:ctrl switch | |
| # Grid | |
| # bind esc:ctrl grid | |
| bind 1:${hyper} layout 2monitors | |
| #sequence show 'iTerm', 'Sublime Text 2', 'MacVim', 'Chrome', 'Webkit' > hide all-but: 'iTerm', 'Sublime Text 2', 'MacVim', 'Chrome', 'Webkit' | |
| # | hide all-but: 'iTerm', 'Sublime Text 2', 'MacVim', 'Chrome', 'Webkit' | |
| bind 2:${hyper} hide all-but: 'Webkit', 'Google Chrome' | |
| bind 3:${hyper} chain hide all-but: 'Webkit', 'Google Chrome', 'Sublime Text 2', 'MacVim', 'Coda' | show 'Webkit' | show 'Google Chrome' | |
| bind 4:${hyper} toggle 'Wunderlist', 'Clear','Ableton Live', 'Flint', 'Propane', 'Finder', 'Preview' | |
| bind 5:${hyper} toggle 'Finder', 'Preview' | |
| bind 6:${hyper} toggle 'Webkit', 'Wunderlis' | |
| bind 9:${hyper} show all-but: 'Finder' | |
| bind 0:${hyper} undo | |
| # Abstract positions | |
| alias full move screenOriginX;screenOriginY screenSizeX;screenSizeY | |
| alias lefthalf move screenOriginX;screenOriginY screenSizeX/2;screenSizeY | |
| alias left34 move screenOriginX;screenOriginY 3*screenSizeX/4;screenSizeY | |
| alias righthalf move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY | |
| alias rightTwitter move screenOriginX+3*screenSizeX/4;screenOriginY screenSizeX/4;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 | |
| # Numpad location bindings | |
| bind pad1:ctrl ${bottomleft} | |
| bind pad2:ctrl push bottom bar-resize:screenSizeY/2 | |
| bind pad3:ctrl ${bottomright} | |
| bind pad4:ctrl ${left34} | |
| bind pad5:ctrl ${full} | |
| bind pad6:ctrl ${rightTwitter} | |
| bind pad7:ctrl ${topleft} | |
| bind pad8:ctrl push top bar-resize:screenSizeY/2 | |
| bind pad6:ctrl;cmd push right bar-resize:4*screenSizeX/5 | |
| bind pad4:ctrl;cmd push left bar-resize:screenSizeX/5 | |
| bind pad9:ctrl ${topright} | |
| # pad symbol bindings | |
| # bind pad-:cmd resize -10% -10% | |
| # bind pad+:cmd resize +0 +10% | |
| # bind pad+:${hyper} nudge +10% +0 | |
| # bind pad-:${hyper} resize -10% +0 | |
| # bind pad*:${hyper} nudge +0 -10% | |
| # bind pad/:${hyper} nudge +0 +10% | |
| bind pad0:${hyper} throw next | |
| bind padEnter:ctrl layout 2monitors | |
| #bind tab:cmd switch 1280x800 | |
| bind pad1:alt corner bottom-left | |
| bind pad2:alt push bottom | |
| bind pad3:alt corner bottom-right | |
| bind pad4:alt push left | |
| bind pad6:alt push right | |
| bind pad7:alt corner top-left | |
| bind pad8:alt push up | |
| bind pad9:alt corner top-right | |
| # hyper config test | |
| 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 35left move screenOriginX;screenOriginY 3*screenSizeX/9;screenSizeY | |
| alias thirdmid move 3*screenSizeX/9;screenOriginY 3*screenSizeX/9;screenSizeY | |
| alias 35right move 6*screenSizeX/9;screenOriginY 3*screenSizeX/9;screenSizeY | |
| alias 23left move screenOriginX;screenOriginY 2*screenSizeX/3;screenSizeY | |
| alias 23mid corner top-left resize:screenSizeX/2;screenSizeY/2 | |
| alias 32right chain move 2*screenSizeX/3;screenOriginY screenSizeX;screenSizeY | |
| bind pad1:${hyper} ${1-bot-l} | |
| bind pad2:${hyper} ${1-bot-m} | |
| bind pad3:${hyper} ${1-bot-r} | |
| bind pad4:${hyper} ${lefthalf} | |
| bind pad5:${hyper} ${full} | |
| bind pad6:${hyper} ${righthalf} | |
| bind pad7:${hyper} ${1-top-l} | |
| bind pad8:${hyper} ${1-top-m} | |
| bind pad9:${hyper} ${1-top-r} | |
| #bind ;:${hyper} throw next | |
| # Location bindintgs | |
| bind t:${hyper} move screenOriginX;screenOriginY 2*screenSizeX/3;screenSizeY | |
| bind y:${hyper} move screenOriginX+2*screenSizeX/3;screenOriginY screenSizeX/3;screenSizeY | |
| #bind s:${hyper} ${1-right} | |
| bind r:${hyper} throw next | |
| # Nudge Bindings | |
| #bind h:${hyper} nudge -10% +0 | |
| #bind g:${hyper} nudge +10% +0 | |
| bind e:${hyper} hint ASDFGHJKLQWERTYUIOPCVBN | |
| bind f:${hyper} grid padding:5 1280x800:6,3 1920x1080:8,5 | |
| # Focus Bindings | |
| bind right:${hyper} focus right | |
| bind left:${hyper} focus left | |
| bind up:${hyper} focus up | |
| bind down:${hyper} focus behind | |
| ## App bindings | |
| bind e:${hyper} chain focus ${browser} | hide ${browser} | |
| bind u:${hyper} chain focus ${editor1} | hide ${editor1} | |
| #bind x:${hyper} chain focus 'Xcode' | hide 'Xcode' | |
| #bind -:1;${hyper} chain focus 'Mail' | hide 'Mail' | |
| bind s:${hyper} focus 'iTerm' | |
| #bind 1:${hyper} chain sequence focus right > push left | sequence focus behind > push right > focus behind > push left > focus above > push right | |
| #bind 2:${hyper} chain sequence focus behind > push left > focus above > push right | push left | |
| bind padEnter:${hyper} relaunch | |
| bind 0:cmd;ctrl relaunch | |
| bind 0:${hyper} relaunch | |
| #bind `:${hyper} switch | |
| # Test Cases | |
| source .slate.test if_exists |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment