Created
January 22, 2015 15:50
-
-
Save a3ammar/7b3b7b19906426b2785e to your computer and use it in GitHub Desktop.
My Slate configuration
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
# set how hints look | |
config defaultToCurrentScreen true | |
config windowHintsShowIcons true | |
config windowHintsIgnoreHiddenWindows false | |
config windowHintsSpread true | |
config windowHintsSpreadPadding 40 | |
config windowHintsSpreadSearchWidth 80 | |
# I use Karabiner to bind control to caplock and then bind the unused control button | |
# as a hyper command | |
alias hyper ctrl;shift;alt;cmd | |
# This decides what letters show up for the windows, I prefer home row keys. | |
alias showHintsLeftHand hint qwerasdfzxcv | |
alias showNormalHint hint jkl;uiopnm,. | |
alias browser 'Nightly' | |
alias editor 'Emacs' | |
# This sets general window sizes | |
alias full move screenOriginX;screenOriginY screenSizeX;screenSizeY | |
alias lefthalf move screenOriginX;screenOriginY screenSizeX/2;screenSizeY | |
alias righthalf move screenOrigin+screenSizeX/2;screenOriginY screenSizeX/2;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 | |
alias middle move screenOriginX+100;screenOriginY screenSizeX-200;screenSizeY | |
alias center move screenOriginX+((screenSizeX-windowSizeX)/2);screenOriginY+((screenSizeY-windowSizeY)/2) windowSizeX;windowSizeY | |
# Window sizes for specific applications | |
alias emacs move screenOriginX+799;screenOriginY 644;screenSizeY | |
alias chrome move screenOriginX;screenOriginY 807;screenSizeY | |
alias chrome-big move screenOriginX;screenOriginY 992;screenSizeY | |
alias finder move windowTopLeftX;windowTopLeftY 526;583 | |
# Keybinding for the sizes I use | |
bind tab:ctrl;cmd hint jkl;uiopnm,.qwerasdfzxcv # cmd+control+tab brings window hints | |
bind l:${hyper} ${emacs} | |
bind j:${hyper} ${chrome} | |
bind k:${hyper} ${middle} | |
bind f:${hyper} ${full} | |
bind h:${hyper} ${finder} | |
bind c:${hyper} ${center} | |
bind z:${hyper} undo | |
# Window movement between monitors | |
bind left:${hyper} ${center} 0 | |
bind right:${hyper} ${center} 1 | |
# Application specific binding | |
bind ]:${hyper} focus behind | |
bind o:${hyper} focus "Chromium" | |
bind p:${hyper} focus "Emacs" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment