Skip to content

Instantly share code, notes, and snippets.

@a3ammar
Created January 22, 2015 15:50
Show Gist options
  • Save a3ammar/7b3b7b19906426b2785e to your computer and use it in GitHub Desktop.
Save a3ammar/7b3b7b19906426b2785e to your computer and use it in GitHub Desktop.
My Slate configuration
# 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