forked from sontek/homies
-
Notifications
You must be signed in to change notification settings - Fork 1
/
_slate
130 lines (114 loc) · 5.35 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
# Configs
config defaultToCurrentScreen true
config nudgePercentOf screenSize
config resizePercentOf screenSize
config secondsBetweenRepeat 0.1
config checkDefaultsOnLoad true
#config focusCheckWidthMax 3000
config windowHintsShowIcons true
config windowHintsIgnoreHiddenWindows false
#config windowHintsDuration 5
config windowHintsSpread true
#config windowHintsOrder persist
# Monitor Aliases
alias mon-left 0
alias mon-right 1
# Misc Aliases
alias showHintsLeftHand hint AOEUIYQJKX
alias showNormalHint hint AOEUIDHTNSYXFBPKGMCW
# 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 leftbottom move screenOriginX;screenSizeY/2 screenSizeX/2;screenSizeY/2
alias righttop move screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2
alias rightbottom move screenSizeX/2;screenSizeY/2 screenSizeX/2;screenSizeY/2
#alias lefttop move screenOriginX;screenOriginY screenSizeX/2;screenSizeY/2
#
# Concrete positions
alias 1-full move screenOriginX;screenOriginY screenSizeX;screenSizeY ${mon-left}
alias 1-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-left}
alias 1-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-left}
alias 2-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-right}
alias 2-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-right}
alias 2-righttop move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2 ${mon-right}
alias 2-rightbottom move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 ${mon-right}
# 2 Monitor layout
layout 2monitors 'iTerm':MAIN_FIRST ${2-rightbottom} | ${1-left}
layout 2monitors 'Safari':REPEAT ${1-full}
layout 2monitors 'Nightly':REPEAT ${1-full}
layout 2monitors 'Sublime Text 2':REPEAT ${1-full}
layout 2monitors 'MacVim':REPEAT ${1-full}
layout 2monitors 'Mail':MAIN_FIRST ${2-left}
layout 2monitors 'Path Finder':MAIN_FIRST ${2-righttop}
layout 2monitors 'Xcode':REPEAT ${1-full}
layout 2monitors 'Eclipse':REPEAT ${1-full}
layout 2monitors 'iTunes':REPEAT ${1-full}
# 1 Monitor layout
layout 1monitor 'iTerm':MAIN_FIRST ${1-right}
layout 1monitor 'Sublime Text 2':MAIN_FIRST ${1-left}
layout 1monitor 'MacVim':MAIN_FIRST ${1-left}
layout 1monitor 'Safari':REPEAT ${1-full}
layout 1monitor 'Nightly':REPEAT ${1-full}
layout 1monitor 'Mail':MAIN_FIRST ${1-full}
layout 1monitor 'Path Finder':MAIN_FIRST ${1-full}
layout 1monitor 'Xcode':REPEAT ${1-full}
layout 1monitor 'Eclipse':REPEAT ${1-full}
layout 1monitor 'iTunes':REPEAT ${1-full}
# Default Layouts
default 2monitors resolutions:${mon-left};${mon-right};
default 1monitor resolutions:${mon-left}
# 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-left}:6,2 ${mon-right}: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 shift;ctrl;alt;cmd
# Location bindings
bind l:${hyper} ${lefthalf}
bind f:${hyper} ${full}
bind r:${hyper} ${righthalf}
bind t:${hyper} throw next
bind 1:${hyper} ${lefttop}
bind 2:${hyper} ${righttop}
bind 3:${hyper} ${leftbottom}
bind 4:${hyper} ${rightbottom}
# Resize Bindings
#bind r:${hyper} ${leftmost}
#bind g:${hyper} ${rightmost}
# Focus Bindings
bind right:${hyper} focus right
bind left:${hyper} focus left
bind up:${hyper} focus up
bind down:${hyper} focus down
alias browser 'Google Chrome'
alias editor 'IntelliJ IDEA'
alias terminal 'iTerm'
alias notes 'Evernote'
alias music 'Spotify'
# App bindings
bind e:${hyper} focus ${browser}
bind u:${hyper} focus ${editor}
bind n:${hyper} focus ${notes}
bind i:${hyper} focus ${terminal}
bind m:${hyper} focus ${music}