aboutsummaryrefslogtreecommitdiff
path: root/dot_cwmrc.tmpl
blob: 7f07727ecf94214680a4f8fec3d53c51e65995c2 (plain) (blame)
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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
autogroup 0 "xconsole", "XConsole"
autogroup 1 "URxvt"
autogroup 1 "XTerm"
autogroup 2 "Mozilla Firefox"
autogroup 2 "qutebrowser"
autogroup 6 "pavucontrol", "Pavucontrol"

# assign windows to current group
sticky yes

command term    {{ if (eq .chezmoi.os "openbsd" "darwin") -}}xterm{{ else }}urxvtc{{ end }}
command lock    {{ if (eq .chezmoi.os "openbsd") -}}"xlock -dpmsoff 1"{{ else }}"slock xset dpms force off"{{ end }}
command dpmsoff "xset dpms force off"

color activeborder "#ff7701"

# F: function description
# K: default keybinding
unbind-key all

# F:  restart                  Restart the running cwm(1).
# D:  CMS-r           Restart.
bind-key 4-semicolon restart

# F:  quit                     Quit cwm(1).
# D:  CMS-q           Quit.
bind-key 4S-semicolon quit

# F:  terminal                 Spawn a new terminal.
# D:  CM-Return       Spawn a new terminal.
bind-key 4S-Return terminal

# F:  lock                     Lock the screen.
# D:  CM-Delete       Lock the screen.
bind-key 4-l lock

# F:  menu-window              Launch window search menu.
# D:  M-slash         Search for windows.
bind-key 4-slash menu-window

# F:  menu-window-hidden       Launch hidden window search menu.

# F:  menu-cmd                 Launch application search menu.
# D:  C-slash         Search for applications.
bind-key 4-c menu-cmd

# F:  menu-group               Launch group search menu.
bind-key 4-g menu-group

# F:  menu-exec                Launch “exec program” menu.
# D:  M-question      Spawn “exec program” dialog.
bind-key 4-z menu-exec

# F:  menu-exec-wm             Launch “exec WindowManager” menu.
# D:  CM-w            Spawn “exec WindowManager” menu, allowing a switch
# D:                  to another window manager.

# F:  menu-ssh                 Launch “ssh” menu.
# D:  M-period        Spawn “ssh to” dialog.  This parses
# D:                  $HOME/.ssh/known_hosts to provide host auto-
# D:                  completion.  ssh(1) will be executed via the
# D:                  configured terminal emulator.

# F:  group-toggle-[n]         Toggle visibility of group n, where n is 1-9.
# D:  CM-[n]          Toggle visibility of group n, where n is 1-9.
bind-key C4-ampersand   group-toggle-1
bind-key C4-bracketleft group-toggle-2
bind-key C4-braceleft   group-toggle-3
bind-key C4-braceright  group-toggle-4
bind-key C4-parenleft   group-toggle-5
bind-key C4-equal       group-toggle-6
bind-key C4-asterisk    group-toggle-7
bind-key C4-parenright  group-toggle-8
bind-key C4-plus        group-toggle-9

# F:  group-only-[n]           Show only group n, where n is 1-9, hiding other
#                              groups.
bind-key 4-ampersand   group-only-1
bind-key 4-bracketleft group-only-2
bind-key 4-braceleft   group-only-3
bind-key 4-braceright  group-only-4
bind-key 4-parenleft   group-only-5
bind-key 4-equal       group-only-6
bind-key 4-asterisk    group-only-7
bind-key 4-parenright  group-only-8
bind-key 4-plus        group-only-9

# F:  group-close-[n]          Close all windows in group n, where n is 1-9.

# F:  group-toggle-all         Toggle visibility of all groups.
# D:  CM-a            Toggle visibility of all groups.
bind-key 4-a group-toggle-all

# F:  window-group             Toggle group membership of current window.
# D:  CM-g            Toggle group membership of current window.
# D:  CM-M1           Toggle group membership of current window.

# F:  window-movetogroup-[n]   Hide current window from display and move to
# F:                           group n, where n is 1-9.
bind-key 4S-ampersand   window-movetogroup-1
bind-key 4S-bracketleft window-movetogroup-2
bind-key 4S-braceleft   window-movetogroup-3
bind-key 4S-braceright  window-movetogroup-4
bind-key 4S-parenleft   window-movetogroup-5
bind-key 4S-equal       window-movetogroup-6
bind-key 4S-asterisk    window-movetogroup-7
bind-key 4S-parenright  window-movetogroup-8
bind-key 4S-plus        window-movetogroup-9

# F:  group-cycle              Forward cycle through groups.
# D:  M-Right         Cycle through active groups.
bind-key 4-Right group-cycle

# F:  group-rcycle             Reverse cycle through groups.
# D:  M-Left          Reverse cycle through active groups.
bind-key 4-Left group-cycle

# F:  window-cycle             Forward cycle through windows.
# D:  M-Tab           Cycle through currently visible windows.
bind-key 4-Tab window-cycle

# F:  window-rcycle            Reverse cycle through windows.
# D:  MS-Tab          Reverse cycle through currently visible windows.
bind-key 4S-Tab window-rcycle

# F:  window-cycle-ingroup     Forward cycle through windows in current group.
# F:  window-rcycle-ingroup    Reverse cycle through windows in current group.
bind-key C4-Tab window-cycle-ingroup
bind-key C4S-Tab window-rcycle-ingroup

# F:  window-close    Close current window.
# D:  CM-x            Close current window.
bind-key 4S-j window-close

# F:  window-hide              Hide current window.
# D:  M-Return        Hide current window.
# D:  CMS-M3          Hide current window.
bind-key 4-Return window-hide

# F:  window-lower             Lower current window.
# D:  M-Down          Lower current window.
# D:  M-M3            Lower current window.
bind-key 4-Down window-lower

# F:  window-raise             Raise current window.
# D:  M-Up            Raise current window.
bind-key 4-Up window-raise

# F:  window-menu-label Label current window.
# D:  CM-n              Label current window.
bind-key C4-l window-menu-label

# F:  window-freeze            Freeze current window geometry.
# D:  CMS-f           Toggle freezing geometry of current window.

# F:  window-stick             Stick current window to all groups (same as
# F:                           assigning to nogroup).
# D:  CM-s            Toggle stickiness of current window.

# F:  window-fullscreen        Full-screen current window (gap + border
# F:                           removed).
# D:  CM-f            Toggle full-screen mode of current window.
bind-key 4-s window-fullscreen

# F:  window-maximize          Maximize current window (gap + border honored).
# D:  CM-m            Toggle maximization of current window.
bind-key C4-m window-maximize

# F:  window-vmaximize         Vertically maximize current window (gap + border
# F:                           honored).
# D:  CM-equal        Toggle vertical maximization of current window.
bind-key C4-s window-vmaximize

# F:  window-hmaximize         Horizontally maximize current window (gap +
# F:                           border honored).
# D:  CMS-equal       Toggle horizontal maximization of current window.
bind-key M4-s window-hmaximize

# F:  window-htile             Current window is placed at the top of the
# F:                           screen, maximized horizontally and resized to
# F:                           htile (default half) of the vertical screen
# F:                           space.  Other windows in its group share
# F:                           remaining screen space.
bind-key 4M-space window-htile

# F:  window-vtile             Current window is placed on the left of the
# F:                           screen, maximized vertically and resized to
# F:                           vtile (default half) of the horizontal screen
# F:                           space.  Other windows in its group share
# F:                           remaining screen space.
bind-key 4-space window-vtile

# F:  window-move              Move current window.
# D:  M-M1            Move current window.
bind-mouse 4-1 window-move

# F:  window-resize            Resize current window.
# D:  M-M2            Resize current window
bind-mouse 4-3 window-resize

# F:  window-resize-up
# F:  window-resize-down
# F:  window-resize-right
# F:  window-resize-left
# D:  CM-[hjkl]       Resize window by a small amount.
bind-key C4-h window-resize-down
bind-key C4-t window-resize-up
bind-key C4-d window-resize-left
bind-key C4-n window-resize-right

# F:  window-resize-up-big
# F:  window-resize-down-big
# F:  window-resize-right-big
# F:  window-resize-left-big
# D:  CMS-[hjkl]      Resize window by a large amount; see cwmrc(5).
bind-key C4S-h window-resize-down-big
bind-key C4S-t window-resize-up-big
bind-key C4S-d window-resize-left-big
bind-key C4S-n window-resize-right-big

# F:  window-move-up           Move window moveamount pixels up.
# F:  window-move-down         Move window moveamount pixels down.
# F:  window-move-right        Move window moveamount pixels right.
# F:  window-move-left         Move window moveamount pixels left.
# D:  M-[hjkl]        Move window by a small amount.
bind-key 4-h window-move-down
bind-key 4-t window-move-up
bind-key 4-d window-move-left
bind-key 4-n window-move-right

# F:  window-move-up-big       Move window 10 times moveamount pixels up.
# F:  window-move-down-big     Move window 10 times moveamount pixels down.
# F:  window-move-right-big    Move window 10 times moveamount pixels right.
# F:  window-move-left-big     Move window 10 times moveamount pixels left.
# D:  MS-[hjkl]       Move window by a large amount; see cwmrc(5).
bind-key 4S-h window-move-down-big
bind-key 4S-t window-move-up-big
bind-key 4S-d window-move-left-big
bind-key 4S-n window-move-right-big

bind-key 4-F5 "xset dpms force off"
bind-key 4-F6 icd