-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.slate
114 lines (97 loc) · 5.41 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
################################################################################
## Configuration #
################################################################################
config defaultToCurrentScreen true
config nudgePercentOf screenSize
config resizePercentOf screenSize
config windowHintsShowIcons true
config windowHintsSpread true
################################################################################
## Aliases #
################################################################################
# Miscellaneous
alias leader esc;cmd
alias showHint hint AOEUIDHTNSYXFBPKGMCW
alias hyper ctrl;shift;alt;cmd
# Monitors
alias mon-imac 0
alias mon-tbolt 1
# 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 lefttop move screenOriginX;screenOriginY screenSizeX/2;screenSizeY/2
alias righttop move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2
alias leftbottom move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2
alias rightbottom move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2
# Concrete positions
alias 1-full move screenOriginX;screenOriginY screenSizeX;screenSizeY ${mon-imac}
alias 1-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-imac}
alias 1-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-imac}
alias 2-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-tbolt}
alias 2-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-tbolt}
alias 2-righttop move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2 ${mon-tbolt}
alias 2-rightbottom move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 ${mon-tbolt}
################################################################################
## Bindings #
################################################################################
# Grid
bind g:${leader} grid
# Window Hints
#bind esc:cmd hint
bind v:${leader} ${showHint}
# Resize Bindings
# KG: These first two conflict with Mac OS shortcuts
#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
# Push Bindings - New Hyper Bindings
bind f:${hyper} push left bar-resize:screenSizeX
bind h:${hyper} push left bar-resize:screenSizeX/2-2
bind j:${hyper} push down bar-resize:screenSizeY/2
bind k:${hyper} push up bar-resize:screenSizeY/2-2
bind l:${hyper} push right bar-resize:screenSizeX/2
bind n:${hyper} corner bottom-left resize:screenSizeX/2;screenSizeY/2
bind u:${hyper} corner top-left resize:screenSizeX/2;screenSizeY/2
bind o:${hyper} corner top-right resize:screenSizeX/2;screenSizeY/2
#bind .:${hyper} corner bottom-right resize:screenSizeX/2;screenSizeY/2
# Keypad Bindings
bind pad7:${hyper} corner top-left resize:screenSizeX/2;screenSizeY/2
bind pad8:${hyper} push up bar-resize:screenSizeY/2-2
bind pad9:${hyper} corner top-right resize:screenSizeX/2;screenSizeY/2
bind pad4:${hyper} push left bar-resize:screenSizeX/2-2
bind pad5:${hyper} push left bar-resize:screenSizeX
bind pad6:${hyper} push right bar-resize:screenSizeX/2
bind pad1:${hyper} corner bottom-left resize:screenSizeX/2;screenSizeY/2
bind pad2:${hyper} push down bar-resize:screenSizeY/2
bind pad3:${hyper} corner bottom-right resize:screenSizeX/2;screenSizeY/2
# Nudge Bindings
# KG: These first two conflict with Mac OS shortcuts
#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 left:${hyper} throw left
bind right:${hyper} throw right
# 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
# Application bindings
bind e:${hyper} focus 'MacVim'
bind i:${hyper} focus 'iTerm'
# Test Cases
source .slate.test if_exists