-
Notifications
You must be signed in to change notification settings - Fork 4
/
.slate
138 lines (109 loc) · 3.62 KB
/
.slate
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# http://thume.ca/howto/2012/11/19/using-slate/
bonfig defaultToCurrentScreen true
config nudgePercentOf screenSize
config resizePercentOf screenSize
config modalEscapeKey esc
config secondsBetweenRepeat 0.1
config checkDefaultsOnLoad true
config focusCheckWidthMax 3000
#config keyboardLayout dvorak
config windowHintsShowIcons true
config windowHintsIgnoreHiddenWindows false
#config windowHintsDuration 5
config windowHintsSpread true
#config windowHintsOrder persist
alias leader esc;cmd
# General aliases
alias sox screenOriginX
alias soy screenOriginY
alias ssx screenSizeX
alias ssy screenSizeY
# gs - golden secion
alias gsl 0.6
alias gsr 0.4
alias fullscreen ${sox};${soy} ${ssx};${ssy}
alias lefthalf ${sox};${soy} ${ssx}/2;${ssy}
alias righthalf ${sox}+${ssx}/2;${soy} ${ssx}/2;${ssy}
alias leftGs ${sox};${soy} ${ssx}*${gsl};${ssy}
alias rightGs ${sox}+${ssx}*${gsl};${soy} ${ssx}*${gsr};${ssy}
alias topleft corner top-left resize: ${ssx}/2;${ssy}/2
alias topright corner top-right resize: ${ssx}/2;${ssy}/2
alias bottomleft corner bottom-left resize: ${ssx}/2;${ssy}/2
alias bottomright corner bottom-right resize: ${ssx}/2;${ssy}/2
alias center screenOriginX+screenSizeX/2-windowSizeX/2;screenOriginY+screenSizeY/2-windowSizeY/2 windowSizeX;windowSizeY
default three count:3
default two count:2
default one count:1
layout three 'Xcode' move ${fullscreen} 1
layout three 'Terminal' move ${fullscreen} 2
layout three 'MacVim' move ${fullscreen} 0
layout three 'Code' move ${fullscreen} 0
layout two 'Xcode' move ${fullscreen} 0
layout two 'Terminal' move ${rightGs} 0
layout two 'MacVim' move ${leftGs} 0
layout two 'Code' move ${leftGs} 0
layout one 'Xcode' move ${fullscreen} 1
layout one 'Terminal' move ${rightGs} 1
layout one 'MacVim' move ${leftGs} 1
layout one 'Code' move ${leftGs} 1
#
# Resize Bindings
#
# bind right:alt resize +10% +0
# bind left:alt resize -10% +0
# 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 space:${leader} move ${fullscreen}
#
# Push Bindings
#
bind l:${leader} move ${rightGs} # push right bar-resize:screenSizeX/2
bind h:${leader} move ${leftGs} # push left bar-resize:screenSizeX/2
bind k:${leader} push up bar-resize:screenSizeY/2
bind j:${leader} push down bar-resize:screenSizeY/2
#
# Nudge Bindings
#
# bind right:shift;alt nudge +10% +0
# bind left:shift;alt nudge -10% +0
# bind up:shift;alt nudge +0 -10%
# bind down:shift;alt nudge +0 +10%
#
#
# Throw Bindings
#
bind 1:${leader} throw 0 resize
bind 2:${leader} throw 1 resize
bind 3:${leader} throw 2 resize
bind 4:${leader} throw 3 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
# bind left:cmd focus left
# bind up:cmd focus up
# bind down:cmd focus down
# bind up:cmd;alt focus behind
# bind down:cmd;alt focus behind
bind v:${leader} focus 'MacVim'
bind t:${leader} focus 'Terminal'
bind x:${leader} focus 'Xcode'
bind b:${leader} focus 'Google Chrome'
# Window Hints
bind esc:alt hint
# misc
bind return:${leader} relaunch
bind delete:${leader} undo
bind `:${leader} grid padding:1 1:8,6
# bind tab:cmd switch
# bind esc:fn hint