forked from volukrem/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.slate
96 lines (81 loc) · 4.2 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
# 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
# Misc Aliases
alias showHintsLeftHand hint AOEUIYQJKX
alias showNormalHint hint AOEUIDHTNSYXFBPKGMCW
alias browser 'Google Chrome'
alias editor 'Emacs'
# Abstract positions
alias full move screenOriginX;screenOriginY screenSizeX;screenSizeY
alias left move screenOriginX;screenOriginY screenSizeX/2;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 right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY
alias leftbottom move screenOriginX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2
alias lefttop move screenOriginX/2;screenOriginY screenSizeX/2;screenSizeY/2
alias rightbottom move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2
alias righttop move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2
layout dashboard 'Slack':MAIN_FIRST ${righttop}
layout dashboard 'Mailbox':MAIN_FIRST ${left}
layout dashboard 'Notes':MAIN_FIRST ${rightbottom}
layout communicate 'Slack':MAIN_FIRST ${left}
layout communicate 'Mailbox':MAIN_FIRST ${right}
layout code 'iTerm':MAIN_FIRST ${full}
layout codeAndBrowse 'iTerm':MAIN_FIRST ${leftmost}
layout codeAndBrowse 'Google Chrome':MAIN_FIRST ${rightless}
layout codeAndRead 'iTerm':MAIN_FIRST ${leftmost}
layout codeAndRead 'Dash':MAIN_FIRST ${rightless}
layout codeAndMusic 'Spotify':MAIN_FIRST ${rightless}
layout codeAndMusic 'iTerm':MAIN_FIRST ${leftmost}
layout browse 'Google Chrome':MAIN_FIRST ${full}
layout browseAndMusic 'Spotify':MAIN_FIRST ${rightless}
layout browseAndMusic 'Google Chrome':MAIN_FIRST ${leftmost}
layout browseAndCommunicate 'Google Chrome':MAIN_FIRST ${left}
layout browseAndCommunicate 'Slack':MAIN_FIRST ${righttop}
layout browseAndCommunicate 'Mailbox':MAIN_FIRST ${rightbottom}
bind e:cmd ${showNormalHint}
# ======================================
# The HYPER key
# ======================================
alias hyper ctrl;shift;alt;cmd
# Layout bindings
bind 0:${hyper} sequence layout dashboard | hide all | show 'Slack','Mailbox','Notes'
bind 1:${hyper} sequence layout communicate | hide all | show 'Slack','Mailbox'
bind 2:${hyper} sequence layout code | hide all | show 'iTerm'
bind 3:${hyper} sequence layout codeAndBrowse | hide all | show 'Google Chrome','iTerm'
bind 4:${hyper} sequence layout codeAndMusic | hide all | show 'iTerm','Spotify'
bind 5:${hyper} sequence layout codeAndRead | hide all | show 'iTerm','Dash'
bind 6:${hyper} sequence layout browse | hide all | show 'Google Chrome'
bind 7:${hyper} sequence layout browseAndMusic | hide all | show 'Google Chrome','Spotify'
bind 8:${hyper} sequence layout browseAndCommunicate | hide all | show 'Slack','Mailbox','Google Chrome'
# Location bindings
bind t:${hyper} ${lefthalf}
bind n:${hyper} ${full}
bind s:${hyper} ${righthalf}
bind r:${hyper} throw next
# 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
# App bindings
bind b:${hyper} focus ${browser}
bind m:${hyper} focus 'Mailbox'
bind t:${hyper} focus 'iTerm'