-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathkorgwm.conf.sample
232 lines (224 loc) · 7.37 KB
/
korgwm.conf.sample
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
# Default configuration is as follows.
# korgwm tries to find the config in such an order:
# /etc/korgwm/korgwm.conf
# /usr/local/etc/korgwm/korgwm.conf
# $HOME/.korgwmrc
# $HOME/.config/korgwm/korgwm.conf
# For each file found it tries to alter the configuration with its content
---
## API parameters
# Set api_port = 0 to disable API server
# KORGWM_DEBUG_PORT environment variable overrides api_port if set
api_host: 127.0.0.1
api_port: 27015
# Inactivity timeout for API to close the connection
api_timeout: 5
## Generic parameters
# Window border width in pixels
border_width: 1
# Enable keyboard selection for Expose
expose_show_id: 1
# Modifier to set margins
expose_spacing: 15
# Indicates the pointer should be moved somewhere. One of: undef (~), center, and hidden
initial_pointer_position: center
# Should mouse follow the focus under certain circumstances (RTFS)
mouse_follow: 1
# If set: tag will be switched together with a window during win_move_tag(). Stay on current tag otherwise
move_follow: 1
# Start own notifications server to improve urgency experience. Disable if you want to use another one
notification_server: 1
# Command which is used to set relevant screen positions on each RandR event
randr_cmd: 'xrandr --output HDMI-A-0 --left-of eDP --auto --output DisplayPort-0 --right-of eDP --auto'
# Enable/disable setting the colour for root window
set_root_color: 0
# Debug level 1--9. Levels >= 7 MAY LEAK SENSITIVE INFORMATION
debug: 0
## Bar settings
# Font specification to use on the bar
font: DejaVu Sans Mono 10
# Height of the panel in pixels
panel_height: 20
# Set this to true if the panel should be hidden
panel_hide: ~
# Widgets that should be enabled for bar
panel_end:
- battery
- clock
- lang
# Hide tags with no windows on the panel
hide_empty_tags: 1
# Format strings for bar widgets
battery_format: '%s'
clock_format: ' %a, %e %B %H:%M'
lang_format: ' %s '
# Mapping of the languages to strings on the panel
lang_names:
'0': £
'1': ₽
# Max length of the title before ellipsis comes into play
title_max_len: 128
# How many tags to create and their names
ws_names:
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
## Colours
# How to mark a tag in case it was appended to the active one
color_append_bg: 0x262729
color_append_fg: 0xF502C8
# Overrides color_fg when the battery is low
color_battery_low: 0xFF0000
# Regular bg colour
color_bg: 0x262729
# Window border colours: regular and focused
color_border: 0x232426
color_border_focus: 0xA3BABF
# Background colour for Expose window (slightly darker looks better)
color_expose: 0x232426
# Regular fg colour, basically for text everywhere
color_fg: 0xA3BABF
# How to mark a tag if it has urgent windows and is not active
color_urgent_bg: 0x464729
color_urgent_fg: 0xFFFF00
## Hotkeys, see API.pm for description of possible functions
hotkeys:
XF86AudioLowerVolume: 'nop()'
XF86AudioMute: 'nop()'
XF86AudioRaiseVolume: 'nop()'
XF86MonBrightnessDown: 'nop()'
XF86MonBrightnessUp: 'nop()'
XF86WakeUp: 'nop()'
Print: 'exec(flameshot gui)'
alt_F4: 'win_close()'
alt_TAB: 'focus_cycle(forward)'
alt_shift_TAB: 'focus_cycle(backward)'
mod_1: 'tag_select(1)'
mod_2: 'tag_select(2)'
mod_3: 'tag_select(3)'
mod_4: 'tag_select(4)'
mod_5: 'tag_select(5)'
mod_6: 'tag_select(6)'
mod_7: 'tag_select(7)'
mod_8: 'tag_select(8)'
mod_9: 'tag_select(9)'
mod_=: 'exec(galculator)'
mod_CR: 'exec(urxvt)'
mod_F1: 'screen_select(1)'
mod_F2: 'screen_select(2)'
mod_F3: 'screen_select(3)'
mod_F4: 'screen_select(4)'
mod_F5: 'screen_select(5)'
mod_F6: 'screen_select(6)'
mod_F7: 'screen_select(7)'
mod_F8: 'screen_select(8)'
mod_F9: 'screen_select(9)'
mod_TAB: 'focus_prev()'
mod_a: 'win_toggle_always_on()'
mod_alt_F1: 'exec(pactl set-sink-mute 0 toggle)'
mod_alt_F2: 'exec(pactl set-sink-volume 0 -10%)'
mod_alt_F3: 'exec(pactl set-sink-volume 0 +10%)'
mod_alt_F5: 'exec(light -U 20)'
mod_alt_F6: 'exec(light -A 20)'
mod_ctrl_h: 'layout_resize(h)'
mod_ctrl_j: 'layout_resize(j)'
mod_ctrl_k: 'layout_resize(k)'
mod_ctrl_l: 'layout_resize(l)'
mod_ctrl_shift_q: 'exit()'
mod_e: 'expose()'
mod_f: 'win_toggle_floating()'
mod_g: 'exec(google-chrome --simulate-outdated-no-au --new-window --incognito)'
mod_h: 'focus_move(h)'
mod_j: 'focus_move(j)'
mod_k: 'focus_move(k)'
mod_l: 'focus_move(l)'
mod_m: 'win_toggle_maximize()'
mod_r: 'exec(xkb-switch -s us; rofi -show drun)'
mod_s: 'mark_window()'
mod_ctrl_1: 'tag_append(1)'
mod_ctrl_2: 'tag_append(2)'
mod_ctrl_3: 'tag_append(3)'
mod_ctrl_4: 'tag_append(4)'
mod_ctrl_5: 'tag_append(5)'
mod_ctrl_6: 'tag_append(6)'
mod_ctrl_7: 'tag_append(7)'
mod_ctrl_8: 'tag_append(8)'
mod_ctrl_9: 'tag_append(9)'
mod_shift_1: 'win_move_tag(1)'
mod_shift_2: 'win_move_tag(2)'
mod_shift_3: 'win_move_tag(3)'
mod_shift_4: 'win_move_tag(4)'
mod_shift_5: 'win_move_tag(5)'
mod_shift_6: 'win_move_tag(6)'
mod_shift_7: 'win_move_tag(7)'
mod_shift_8: 'win_move_tag(8)'
mod_shift_9: 'win_move_tag(9)'
mod_shift_CR: 'exec(urxvt -name urxvt-float)'
mod_shift_F1: 'win_move_screen(1)'
mod_shift_F2: 'win_move_screen(2)'
mod_shift_F3: 'win_move_screen(3)'
mod_shift_F4: 'win_move_screen(4)'
mod_shift_F5: 'win_move_screen(5)'
mod_shift_F6: 'win_move_screen(6)'
mod_shift_F7: 'win_move_screen(7)'
mod_shift_F8: 'win_move_screen(8)'
mod_shift_F9: 'win_move_screen(9)'
mod_shift_c: 'win_close()'
mod_shift_ctrl_l: 'exec(lock)'
mod_shift_g: 'exec(google-chrome --simulate-outdated-no-au --new-window)'
mod_shift_h: 'focus_swap(h)'
mod_shift_j: 'focus_swap(j)'
mod_shift_k: 'focus_swap(k)'
mod_shift_l: 'focus_swap(l)'
mod_shift_s: 'mark_switch_window()'
mod_shift_w: 'exec(firefox --new-instance)'
mod_w: 'exec(firefox --new-instance --private-window)'
## Rules applied to new windows by WM_CLASS
# floating -- should the window be tiled (by default for non-transient) or floating
# follow -- focus new window and switch to it's screen & tag
# screen -- preferred screen to attach the window to (starts with 1)
# tag -- preferred tag to attach the window to (starts with 1)
# placement -- takes precedence over screen & tag (see description and example below)
#
# Placement is an array indexed over number of screens.
# Value should be an undef (~) or an array of [ screen, tag ] (both starts with 1).
# There is no any validation, so take care using 'placement'.
# Either you connect more screens than specified, or the placement is undef; the default screen and tag will be used.
rules:
evolution:
follow: 0
tag: 3 # place it on the first screen, tag #3
org.gnome.Evolution:
follow: 0
screen: 1 # place it on the first screen
tag: 3 # place it on the tag #3
galculator:
floating: 1
mattermost:
placement:
- ~ # 0 screens: we don't care
- [1, 4] # 1 screens: place it on the only screen, tag #4
- [2, 4] # 2 screens: place it on the second screen, tag #4
- [3, 4] # 3 screens: place it on the third screen, tag #4
follow: 1
urxvt-float:
floating: 1
xeyes:
floating: 1
evolution-alarm-notify:
floating: 1
urgent: 1
## List of WM_NAME of windows which we want to see despite unset WM_CLASS
noclass_whitelist:
- Event Tester
- glxgears
## List of commands to execute during startup
autostart:
- 'exec(setxkbmap -layout us,ru -option grp:alt_shift_toggle,compose:ralt)'
# vim: ft=yaml ts=2 sw=2 cc=119 :