forked from kvesteri/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.slate
100 lines (76 loc) · 3.31 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
# ======================================
# Configs
# ======================================
config defaultToCurrentScreen true
config windowHintsShowIcons true
config windowHintsIgnoreHiddenWindows false
config windowHintsSpread true
# ======================================
# 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 leftthird move screenOriginX;screenOriginY screenSizeX*0.34;screenSizeY
alias middle move screenOriginX+screenSizeX*0.34;screenOriginY screenSizeX*0.34;screenSizeY
alias rightthird move screenOriginX+screenSizeX*0.66;screenOriginY screenSizeX*0.34;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 topleft corner top-left resize:screenSizeX/2;screenSizeY/2
alias topright corner top-right resize:screenSizeX/2;screenSizeY/2
alias bottomleft corner bottom-left resize:screenSizeX/2;screenSizeY/2
alias bottomright corner bottom-right resize:screenSizeX/2;screenSizeY/2
# ======================================
# Layouts
# ======================================
# bigscreen
layout bigscreen 'Sublime Text':REPEAT ${lefthalf}
layout bigscreen 'Firefox':REPEAT ${righthalf}
layout bigscreen 'iTerm2':REPEAT ${bottomleft}
layout bigscreen 'TextWrangler':REPEAT ${righthalf}
# laptop
layout laptop 'Sublime Text':REPEAT ${full}
layout laptop 'Firefox':REPEAT ${full}
layout laptop 'iTerm2':REPEAT ${leftmost}
layout laptop 'TextWrangler':REPEAT ${righthalf}
# testing
layout testing 'Sublime Text':REPEAT ${lefthalf}
layout testing 'iTerm2':REPEAT ${righthalf}
# notes
layout notes 'TextWrangler':REPEAT ${lefthalf}
layout notes 'Firefox':REPEAT ${righthalf}
# ======================================
# The HYPER key
# ======================================
alias hyper ctrl;shift;alt;cmd
# Layouts (first keyboard row)
bind q:${hyper} layout laptop
bind w:${hyper} layout bigscreen
bind e:${hyper} sequence layout testing | focus 'Sublime Text' | focus 'iTerm2'
bind r:${hyper} sequence layout notes | focus 'Firefox' | focus 'TextWrangler'
# App bindings (second keyboard row)
bind a:${hyper} focus 'iTerm2'
bind s:${hyper} focus 'Sublime Text'
bind d:${hyper} focus 'Firefox'
bind f:${hyper} focus 'Things'
bind g:${hyper} focus 'SQLPro for Postgres'
bind h:${hyper} focus 'Slack'
bind j:${hyper} focus 'Bear'
bind k:${hyper} focus '1Password'
# Grids
bind z:${hyper} grid padding:5 0:2,2
# Hints
bind x:${hyper} hint ASDFGHJKLQWERTYUIOP
# Location bindings
bind left:${hyper} ${lefthalf}
bind up:${hyper} ${full}
bind right:${hyper} ${righthalf}
bind i:${hyper} ${leftthird}
bind o:${hyper} ${middle}
bind p:${hyper} ${rightthird}
# Resize Bindings
#bind l:${hyper} ${leftmost}
#bind r:${hyper} ${rightmost}
#bind tab:${hyper} switch