104 lines
3.5 KiB
Text
104 lines
3.5 KiB
Text
# This is my modified .slate file.
|
|
# It is based off the default (https://raw.githubusercontent.com/jigish/slate/master/Slate/default.slate)
|
|
# as well as pdilyard's (https://github.com/pdilyard/dotfiles/blob/master/.slate).
|
|
|
|
config defaultToCurrentScreen true
|
|
config nudgePercentOf screenSize
|
|
config resizePercentOf screenSize
|
|
|
|
# set screens
|
|
alias macbook 1680x1050
|
|
alias monitor 3008x1692
|
|
|
|
# variables
|
|
alias width screenSizeX
|
|
alias height screenSizeY
|
|
alias originX screenOriginX
|
|
alias originY screenOriginY
|
|
|
|
alias oneThirdWidth ${width}/3
|
|
alias oneHalfWidth ${width}/2
|
|
alias twoThirdsWidth (${oneThirdWidth}*2)
|
|
alias oneHalfHeight ${height}/2
|
|
|
|
# positions
|
|
alias full move ${originX};${originY} ${width};${height}
|
|
|
|
alias leftHalf move ${originX};${originY} ${oneHalfWidth};${height}
|
|
alias rightHalf move (${originX}+${oneHalfWidth});${originY} ${oneHalfWidth};${height}
|
|
|
|
alias topHalf move ${originX};${originY} ${width};${oneHalfHeight}
|
|
alias bottomHalf move ${originX};${originY}+${oneHalfHeight} ${width};${oneHalfHeight}
|
|
|
|
alias leftOneThird move ${originX};${originY} ${oneThirdWidth};${height}
|
|
alias leftTwoThirds move ${originX};${originY} ${twoThirdsWidth};${height}
|
|
alias centerOneThird move (${originX}+${oneThirdWidth});${originY} ${oneThirdWidth};${height}
|
|
alias rightTwoThirds move (${originX}+${oneThirdWidth});${originY} ${twoThirdsWidth};${height}
|
|
alias rightOneThird move (${originX}+${twoThirdsWidth});${originY} ${oneThirdWidth};${height}
|
|
|
|
# static positions
|
|
alias macbookFull ${full} ${macbook}
|
|
|
|
alias monitorFull ${full} ${monitor}
|
|
alias monitorLeft ${leftHalf} ${monitor}
|
|
alias monitorRight ${rightHalf} ${monitor}
|
|
|
|
# keybinding alias
|
|
alias movetrigger cmd,alt
|
|
alias extramovetrigger shift,cmd,alt
|
|
alias apptrigger ctrl,shift
|
|
|
|
# quick switching to commonly used apps
|
|
bind space:${apptrigger} focus 'Terminal'
|
|
bind t:${apptrigger} focus 'Terminal'
|
|
bind c:${apptrigger} focus 'Google Chrome'
|
|
bind s:${apptrigger} focus 'Slack'
|
|
|
|
# movement keys
|
|
bind f:${movetrigger} ${full}
|
|
bind left:${movetrigger} ${leftHalf}
|
|
bind right:${movetrigger} ${rightHalf}
|
|
bind up:${movetrigger} ${topHalf}
|
|
bind down:${movetrigger} ${bottomHalf}
|
|
bind left:${extramovetrigger} ${leftOneThird}
|
|
bind right:${extramovetrigger} ${rightOneThird}
|
|
bind m:${extramovetrigger} ${centerOneThird}
|
|
bind up:${extramovetrigger} ${leftTwoThirds}
|
|
bind down:${extramovetrigger} ${rightTwoThirds}
|
|
|
|
# move to other monitors
|
|
bind left:shift,ctrl,cmd throw 0 resize
|
|
bind right:shift,ctrl,cmd throw 1 resize
|
|
|
|
# laptop layout for coding
|
|
layout laptop-coding 'Terminal':REPEAT ${full}
|
|
layout laptop-coding 'Google Chrome':REPEAT ${full}
|
|
layout laptop-coding 'Slack':REPEAT ${full}
|
|
|
|
# laptop layout for code review
|
|
layout laptop-code-review 'Terminal':REPEAT ${rightHalf}
|
|
layout laptop-code-review 'Google Chrome':REPEAT ${leftHalf}
|
|
layout laptop-coding 'Slack':REPEAT ${full}
|
|
|
|
# in-the-office layout for coding
|
|
layout office-coding 'Terminal':REPEAT ${monitorFull}
|
|
layout office-coding 'Google Chrome':REPEAT ${macbookFull}
|
|
layout office-coding 'Slack':REPEAT ${macbookFull}
|
|
|
|
# in-the-office layout for code review
|
|
layout office-code-review 'Terminal':REPEAT ${monitorRight}
|
|
layout office-code-review 'Google Chrome':REPEAT ${monitorLeft}
|
|
layout office-code-review 'Slack':REPEAT ${macbookFull}
|
|
|
|
# default layouts
|
|
default laptop-coding resolutions:${macbook}
|
|
default office-coding resolutions:${macbook},${monitor}
|
|
|
|
# bind layouts to keys
|
|
bind 1:${movetrigger} layout office-coding
|
|
bind 2:${movetrigger} layout office-code-review
|
|
bind 3:${movetrigger} layout laptop-coding
|
|
bind 4:${movetrigger} layout laptop-code-review
|
|
|
|
|
|
|