-
Notifications
You must be signed in to change notification settings - Fork 0
/
slate
179 lines (144 loc) · 6.01 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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# TODO
# + create a layout that makes MacVim the right 2/3 of the screen and
# Chrome the left one third
#
#
#
#
#
#
# Configs
config defaultToCurrentScreen true
config repeatOnHoldOps resize,nudge
config secondsBeforeRepeat 0.3
config secondsBetweenRepeat 0.1
config checkDefaultsOnLoad true
config orderScreensLeftToRight true
config keyboardLayout qwerty
config nudgePercentOf screenSize
config resizePercentOf screenSize
alias mon-laptop 0
alias mon-external 1
alias browser 'Google Chrome'
alias editor 'MacVim'
alias chat 'Adium'
alias notes 'Evernote'
alias term 'iTerm2'
alias mail 'Mailplane 3'
alias citations 'Papers 3.4.0'
# Abstract positions
alias full move screenOriginX;screenOriginY screenSizeX;screenSizeY
alias lefthalf move screenOriginX;screenOriginY screenSizeX/2;screenSizeY
alias righthalf move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY
alias rightmost move screenOriginX+screenSizeX*0.4;screenOriginY screenSizeX*0.6;screenSizeY
alias rightless move screenOriginX+screenSizeX*0.6;screenOriginY screenSizeX*0.4;screenSizeY
alias leftmost move screenOriginX;screenOriginY screenSizeX*0.6;screenSizeY
alias leftless move screenOriginX;screenOriginY screenSizeX*0.4;screenSizeY
alias quad1 move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2
alias quad2 move screenOriginX;screenOriginY screenSizeX/2;screenSizeY/2
alias quad3 move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2
alias quad4 move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2
alias leftthird move screenOriginX;screenOriginY screenSizeX/3;screenSizeY
alias leftthirdtop move screenOriginX;screenOriginY screenSizeX/3;.8*screenSizeY
alias middlethird move screenOriginX+screenSizeX/3;screenOriginY screenSizeX/3;screenSizeY
alias rightthird move screenOriginX+2*screenSizeX/3;screenOriginY screenSizeX/3;screenSizeY
alias lefteighty move screenOriginX;screenOriginY 4*screenSizeX/5;screenSizeY
alias righteighty move screenOriginX+screenSizeX/5;screenOriginY 4*screenSizeX/5;screenSizeY
alias tophalf move screenOriginX;screenOriginY screenSizeX;screenSizeY/2
alias bottomhalf move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX;screenSizeY/2
alias increase10right resize +10% +0 top-left
alias decrease10right resize -10% +0 top-left
alias increase10left resize +10% +0 top-right
alias decrease10left resize -10% +0 top-right
######################
alias showNormalHint hint QWERTYPOIU
# Concrete positions
#alias 1-full move screenOriginX;screenOriginY screenSizeX;screenSizeY ${mon-laptop}
#alias 1-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-laptop}
#alias 1-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-laptop}
#alias 2-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-samsung}
#alias 2-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-samsung}
#alias 2-righttop move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2 ${mon-samsung}
#alias 2-rightbottom move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 ${mon-samsung}
# Numpad location Bindings
#bind pad0 ${showHintsLeftHand}
#bind pad1 ${leftless}
#bind pad2 push bottom bar-resize:screenSizeY/2
#bind pad3 ${rightless}
#bind pad4 ${lefthalf}
#bind pad5 ${full}
#bind pad6 ${righthalf}
#bind pad7 ${leftmost}
#bind pad8 push top bar-resize:screenSizeY/2
#bind pad9 ${rightmost}
#bind padEnter grid padding:5 ${mon-laptop}:6,2 ${mon-samsung}:8,3
#bind pad+ throw next
#bind pad. focus behind
#bind pad* layout 2monitors
#bind pad/ layout 1monitor
#
# bind e:cmd ${showNormalHint}
# ======================================
# The HYPER key
# ======================================
# alias hyper ctrl;shift;alt;cmd
alias hyper f19
bind 1:${hyper} ${quad2}
bind 2:${hyper} ${quad1}
bind 3:${hyper} ${quad3}
bind 4:${hyper} ${quad4}
bind 8:${hyper} ${leftthird}
bind 5:${hyper} ${leftthirdtop}
bind 9:${hyper} ${middlethird}
bind 0:${hyper} ${rightthird}
bind 6:${hyper} ${lefteighty}
bind 7:${hyper} ${righteighty}
# Location bindings
# bind left:${hyper} ${lefthalf}
bind up:${hyper} ${tophalf}
# bind right:${hyper} ${righthalf}
bind down:${hyper} ${bottomhalf}
bind -:${hyper} ${lefthalf}
bind =:${hyper} ${righthalf}
bind f:${hyper} ${full}
bind space:${hyper} hide current
# Resize Bindings
bind i:${hyper} ${leftmost}
bind o:${hyper} ${rightmost}
bind y:${hyper} ${leftless}
bind u:${hyper} ${rightless}
# Focus Bindings
# bind l:${hyper} focus right
# bind h:${hyper} focus left
# bind k:${hyper} focus up
#
## App bindings
bind c:${hyper} focus ${browser}
bind a:${hyper} focus ${chat}
bind e:${hyper} focus 'Evernote'
bind m:${hyper} focus 'Mailplane 3'
bind z:${hyper} focus ${citations}
bind v:${hyper} focus ${editor}
bind t:${hyper} focus ${term}
bind q:${hyper} focus 'Preview'
# bind p:${hyper} focus 'Keynote'
bind p:${hyper} focus 'Microsoft PowerPoint'
# bind s:${hyper} focus 'Sublime Text 2'
bind j:${hyper} focus 'IntelliJ IDEA'
bind d:${hyper} focus 'Google Play Music Desktop Player'
# bind l:${hyper} focus 'Sunrise'
bind l:${hyper} focus 'Calendar'
# bind s:${hyper} focus 'Radiant Player'
# bind u:${hyper} focus 'VMware Fusion'
bind g:${hyper} focus 'OmniGraffle Professional'
bind s:${hyper} focus 'Slack'
bind n:${hyper} focus 'MacDown'
# bind ':${hyper} throw 1 resize
# bind ;:${hyper} throw 0 resize
bind ':${hyper} sequence throw 1 | ${lefthalf}
bind ;:${hyper} sequence throw 0 | ${righthalf}
# bind p:${hyper} ${decrease10right}
# bind [:${hyper} ${increase10right}
# bind ]:${hyper} ${increase10left}
# bind backslash:${hyper} ${decrease10left}
bind 1:ctrl relaunch