Created
November 10, 2014 09:22
-
-
Save kogakure/63f2b29c3f8e873c431c to your computer and use it in GitHub Desktop.
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
# ============================================================================= | |
# Configuration | |
# ============================================================================= | |
config defaultToCurrentScreen true | |
config nudgePercentOf screenSize | |
config resizePercentOf screenSize | |
config secondsBetweenRepeat 0.1 | |
config checkDefaultsOnLoad true | |
config focusCheckWidthMax 3000 | |
config windowHintsShowIcons true | |
config windowHintsBackgroundColor "0;0;0;0" | |
config windowHintsFontColor "0;0;0;1.0" | |
config windowHintsFontName Futura | |
config windowHintsFontSize 70 | |
config windowHintsIgnoreHiddenWindows false | |
config windowHintsSpread true | |
config windowHintsSpreadPadding 40 | |
config windowHintsSpreadSearchWidth 80 | |
config windowHintsSpreadSearchHeight 80 | |
config switchIconPadding 2 | |
config switchBackgroundColor 50;53;58;0.3 | |
config switchSelectedPadding 4 | |
config switchIconSize 96 | |
config switchShowTitles true | |
config switchFontSize 11 | |
config switchRoundedCornerSize 4 | |
config undoOps move,resize | |
# ============================================================================= | |
# Aliases | |
# ============================================================================= | |
# Hyper key | |
alias hyper ctrl;alt;cmd | |
# Software | |
alias chrome 'Google Chrome' | |
alias safari 'Safari' | |
alias firefox 'Firefox' | |
alias editor 'iTerm' | |
alias chat 'Nachrichten' | |
alias calender 'Kalender' | |
alias mail 'Mail' | |
alias todo 'Things' | |
alias music-stream 'Spotify' | |
alias music-home 'Sonos' | |
alias evernote 'Evernote' | |
alias diary 'Day One' | |
# Monitors (0: Main Monitor, 1: Secondary Monitor) | |
alias monitor-main 1 | |
alias monitor-secondary 0 | |
# Basic Aliases | |
alias sox screenOriginX | |
alias soy screenOriginY | |
alias ssx screenSizeX | |
alias ssy screenSizeY | |
# Positions | |
alias centered ${sox}+${ssx}/8;${soy}+${ssy}/8 ${ssx}/8*6;${ssy}/8*6 | |
alias fullscreen ${sox};${soy} ${ssx};${ssy} | |
alias leftHalf ${sox};${soy} ${ssx}/2;${ssy} | |
alias bottomHalf ${sox};${soy}+${ssy}/2 ${ssx};${ssy}/2 | |
alias topHalf ${sox};${soy} ${ssx};${ssy}/2 | |
alias rightHalf ${sox}+${ssx}/2;${soy} ${ssx}/2;${ssy} | |
alias topLeftQuarter ${sox};${soy} ${ssx}/2;${ssy}/2 | |
alias topRightQuarter ${sox}+${ssx}/2;${soy} ${ssx}/2;${ssy}/2 | |
alias bottomLeftQuarter ${sox};${soy}+${ssy}/2 ${ssx}/2;${ssy}/2 | |
alias bottomRightQuarter ${sox}+${ssx}/2;${soy}+${ssy}/2 ${ssx}/2;${ssy}/2 | |
alias leftMost ${sox};${soy} ${ssx}*0.6;${ssy} # Links (2/3) | |
alias leftLess ${sox};${soy} ${ssx}*0.4;${ssy} # Links (1/3) | |
alias rightLess ${sox}+${ssx}*0.6;${soy} ${ssx}*0.4;${ssy} # Rechts (1/3) | |
alias rightMost ${sox}+${ssx}*0.4;${soy} ${ssx}*0.6;${ssy} # Rechts (2/3) | |
# Absolute Positions | |
alias window-wide (${sox}+${ssx}-1500)/2;(${soy}+${ssy}-825)/2 1500;825 ${monitor-main} | |
alias window-medium (${sox}+${ssx}-1250)/2;(${soy}+${ssy}-825)/2 1250;825 ${monitor-main} | |
alias window-narrow (${sox}+${ssx}-1000)/2;(${soy}+${ssy}-825)/2 1000;825 ${monitor-main} | |
alias chatContacts ${sox}+${ssx}/2;${soy} ${ssx}/10;${ssy} | |
# ============================================================================= | |
# Layouts | |
# ============================================================================= | |
# Layout for Screencasting | |
layout screencast 'Google Chrome' move (${sox}+${ssx}-1295)/2;(${soy}+${ssy}-792)/2 1295;792 1 | |
# Layout Home [h] | |
layout 1monitorHome ${calender} move ${leftMost} | |
layout 1monitorHome ${mail} move ${leftMost} | |
layout 1monitorHome ${todo} move ${rightLess} | |
layout 1monitorHome ${diary} move ${leftMost} | |
layout 1monitorHome ${music-stream} move ${leftHalf} | |
layout 1monitorHome ${music-home} move ${rightHalf} | |
layout 1monitorHome ${evernote} move ${fullscreen} | |
layout 1monitorHome ${editor} move ${fullscreen} | |
layout 1monitorHome ${chat}:IGNORE_FAIL,TITLE_ORDER=Freunde move ${chatContacts} ${monitor-secondary} | move ${leftHalf} ${monitor-secondary} | |
# Layout Work (2 Monitors) [j] | |
layout 2monitorWork ${todo} move ${rightHalf} ${monitor-secondary} | |
layout 2monitorWork ${diary} move ${leftHalf} ${monitor-secondary} | |
layout 2monitorWork ${evernote} move ${fullscreen} ${monitor-main} | |
layout 2monitorWork ${chrome} move ${fullscreen} ${monitor-secondary} | |
layout 2monitorWork ${safari} move ${fullscreen} ${monitor-main} | |
layout 2monitorWork ${firefox} move ${fullscreen} ${monitor-secondary} | |
layout 2monitorWork ${mail} move ${fullscreen} ${monitor-secondary} | |
layout 2monitorWork ${calender} move ${fullscreen} ${monitor-secondary} | |
layout 2monitorWork ${music-stream} move ${fullscreen} ${monitor-main} | |
layout 2monitorWork ${editor} move ${fullscreen} ${monitor-main} | |
layout 2monitorWork ${chat}:IGNORE_FAIL,TITLE_ORDER=Freunde move ${chatContacts} ${monitor-secondary} | move ${leftHalf} ${monitor-secondary} | |
# Layout Work (1 Monitor) [f] | |
layout 1monitorWork ${editor} move ${fullscreen} ${monitor-main} | |
layout 1monitorWork ${evernote} move ${fullscreen} ${monitor-main} | |
layout 1monitorWork ${chrome} move ${fullscreen} ${monitor-main} | |
layout 1monitorWork ${firefox} move ${fullscreen} ${monitor-main} | |
layout 1monitorWork ${mail} move ${fullscreen} ${monitor-main} | |
layout 1monitorWork ${calender} move ${fullscreen} ${monitor-main} | |
layout 1monitorWork ${music-stream} move ${fullscreen} ${monitor-main} | |
layout 1monitorWork ${todo} move ${leftHalf} ${monitor-main} | |
layout 1monitorWork ${chat}:IGNORE_FAIL,TITLE_ORDER=Freunde move ${chatContacts} ${monitor-secondary} | move ${leftHalf} ${monitor-secondary} | |
# Standard Layouts | |
default 2monitorWork count:2 # trigger when 2 Monitore | |
# default myLayout2 resolutions:1440x900;1024x768;1680x1050 # trigger when 3 monitors with exactly these resolutions | |
# ============================================================================= | |
# Key Bindings | |
# ============================================================================= | |
# Window Manager | |
bind space:${hyper} hint ASDFGHJKLQWERTYUIOPCVBN | |
# Grid | |
bind g:${hyper} grid padding:5 0:10,8 1:10,8 | |
# Half Screens | |
bind left:${hyper} move ${leftHalf} | |
bind right:${hyper} move ${rightHalf} | |
bind up:${hyper} push top bar-resize:${ssy}/2 | |
bind down:${hyper} push bottom bar-resize:${ssy}/2 | |
# Quarter Screens | |
bind q:${hyper} move ${topLeftQuarter} | |
bind w:${hyper} move ${topRightQuarter} | |
bind a:${hyper} move ${bottomLeftQuarter} | |
bind s:${hyper} move ${bottomRightQuarter} | |
# Fullscreen | |
bind 0:${hyper} move ${fullscreen} | |
# Left/Right (⅓, ⅔) | |
bind 4:${hyper} move ${leftMost} | |
bind 5:${hyper} move ${leftLess} | |
bind 6:${hyper} move ${rightMost} | |
bind 7:${hyper} move ${rightLess} | |
# Special Browsersizes (centered) | |
bind 1:${hyper} move ${window-narrow} | |
bind 2:${hyper} move ${window-medium} | |
bind 3:${hyper} move ${window-wide} | |
bind c:${hyper} move ${centered} | |
# Layouts | |
bind 9:${hyper} layout screencast | |
bind h:${hyper} layout 1monitorHome | |
bind j:${hyper} layout 2monitorWork | |
bind f:${hyper} layout 1monitorWork | |
# Throw Bindings (CTRL + ALT) | |
bind 1:ctrl;alt throw ${monitor-secondary} resize | |
bind 2:ctrl;alt throw ${monitor-main} resize | |
bind right:ctrl;alt throw right resize | |
bind l:ctrl;alt throw right resize | |
bind left:ctrl;alt throw left resize | |
bind h:ctrl;alt throw left resize | |
# Focus Bindings (CTRL + CMD) | |
bind right:ctrl;cmd focus right | |
bind l:ctrl;cmd focus right | |
bind left:ctrl;cmd focus left | |
bind h:ctrl;cmd focus left | |
bind up:ctrl;cmd focus up | |
bind k:ctrl;cmd focus up | |
bind down:ctrl;cmd focus behind | |
bind j:ctrl;cmd focus behind | |
# Hide all windows | |
bind x:${hyper} hide all | |
# Undo last action | |
bind u:${hyper} undo | |
# Restart Slate | |
bind delete:${hyper} relaunch |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment