Skip to content

Instantly share code, notes, and snippets.

@juliend2
Created November 12, 2013 14:12
Show Gist options
  • Save juliend2/7431459 to your computer and use it in GitHub Desktop.
Save juliend2/7431459 to your computer and use it in GitHub Desktop.
my .slate file
alias mon-laptop 0
alias mon-acer 1
alias full move screenOriginX;screenOriginY screenSizeX;screenSizeY
alias 1-full ${full} ${mon-laptop}
alias 2-full ${full} ${mon-acer}
# Configs
# --------------------------------------------------
config defaultToCurrentScreen true
config nudgePercentOf screenSize
config resizePercentOf screenSize
# Aliases
# --------------------------------------------------
alias push-full-screen push up bar-resize:screenSizeY | push right bar-resize:screenSizeX
alias push-full-screen-top throw 0 resize
alias push-full-screen-bottom throw 1 resize
# Layouts
# --------------------------------------------------
# julien laptop (no external monitor) :
layout julienlaptop 'iTerm' ${push-full-screen}
layout julienlaptop 'Google Chrome' ${push-full-screen}
layout julienlaptop 'Firefox' ${push-full-screen}
layout julienlaptop 'MacVim' ${push-full-screen}
layout julienlaptop 'Vico' ${push-full-screen}
layout julienlaptop 'iTunes' ${push-full-screen}
# julien laptop WITH external monitor :
layout julienexternal 'iTerm' ${push-full-screen-top}
layout julienexternal 'Google Chrome' ${push-full-screen-top}
layout julienexternal 'Firefox' ${push-full-screen-top}
layout julienexternal 'MacVim' ${push-full-screen-top}
layout julienexternal 'Vico' ${push-full-screen-bottom} | ${push-full-screen-bottom} # most of the time, i have 'Pass' and 'Wiki' windows open
layout julienexternal 'iTunes' ${push-full-screen-bottom}
layout julienexternal 'Finder' throw 1 resize:screenSizeX;screenSizeY/2 | throw 1 resize:screenSizeX;screenOriginY+screenSizeY/2
# 2 monitors
layout 2monitors 'Calendrier':REPEAT ${1-full}
layout 2monitors 'iTunes':REPEAT ${1-full}
layout 2monitors 'Mail':REPEAT ${1-full}
layout 2monitors 'iTerm':REPEAT ${2-full}
layout 2monitors 'Chromium':REPEAT ${2-full}
layout 2monitors 'MacVim':REPEAT ${2-full}
default julienlaptop count:1
# default julienexternal count:2
default 2monitors count:2
# Resize Bindings
# --------------------------------------------------
# bind right:alt resize +10% +0 (messes with cursor moving)
# bind left:alt resize -10% +0 (messes with cursor moving)
bind up:alt resize +0 -10%
bind down:alt resize +0 +10%
bind right:ctrl;alt resize -10% +0 bottom-right
bind left:ctrl;alt resize +10% +0 bottom-right
bind up:ctrl;alt resize +0 +10% bottom-right
bind down:ctrl;alt resize +0 -10% bottom-right
bind m:ctrl;alt;cmd ${2-full}
bind n:ctrl;alt;cmd ${1-full}
# Push Bindings
# --------------------------------------------------
bind right:ctrl;alt;cmd push right bar-resize:screenSizeX/2
bind left:ctrl;alt;cmd push left bar-resize:screenSizeX/2
bind up:ctrl;alt;cmd push up bar-resize:screenSizeY/2
bind down:ctrl;alt;cmd push down bar-resize:screenSizeY/2
# Nudge Bindings
# --------------------------------------------------
# bind right:shift;alt nudge +10% +0 (messes with cursor moving)
# bind left:shift;alt nudge -10% +0 (messes with cursor moving)
bind up:shift;alt nudge +0 -10%
bind down:shift;alt nudge +0 +10%
# Throw Bindings
# --------------------------------------------------
bind 1:ctrl;alt throw 0 resize
bind 2:ctrl;alt throw 1 resize
bind 3:ctrl;alt throw 2 resize
bind right:ctrl;alt;cmd throw right resize
bind left:ctrl;alt;cmd throw left resize
bind up:ctrl;alt;cmd throw up resize
bind down:ctrl;alt;cmd throw down resize
# Focus Bindings
# --------------------------------------------------
# bind right:cmd focus right (messes with chrome tab shortcuts)
# bind left:cmd focus left (messes with chrome tab shortcuts)
# bind up:cmd focus up (messes with fast scrolling command)
# bind down:cmd focus down (messes with fast scrolling command)
# bind up:cmd;alt focus behind (messes with iTerm split switching)
# bind down:cmd;alt focus behind (messes with iTerm split switching)
# Window Hints
# --------------------------------------------------
bind esc:cmd hint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment