-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdefault-config-wayfire.ini
283 lines (241 loc) · 9.34 KB
/
default-config-wayfire.ini
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
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
# Default config for Wayfire
# Installation & Setup
# ─────────────────────────────────────────────────────────────────────────────
# 1. Copy this to ~/.config/wayfire.ini
# 2. Edit configuration options below
# 3. Follow setup tutorial: https://github.com/WayfireWM/wayfire/wiki/Tutorial
# 4. Reference full config docs: https://github.com/WayfireWM/wayfire/wiki/Configuration
# Input Configuration
# ─────────────────────────────────────────────────────────────────────────────
# Example keyboard layout config:
```ini
[input]
xkb_layout = us,fr
xkb_variant = dvorak,bepo
xkb_options = grp:win_space_toggle
```
# See all input options: https://github.com/WayfireWM/wayfire/wiki/Configuration#input
# Output Configuration
# ─────────────────────────────────────────────────────────────────────────────
# Example monitor config:
```ini
[output:eDP-1]
mode = 1920x1080@60000
position = 0,0
transform = normal
scale = 1.000000
```
# Tools for output config:
# - wlr-randr (list outputs): https://github.com/emersion/wlr-randr
# - kanshi (auto config): https://wayland.emersion.fr/kanshi/
# Full output options: https://github.com/WayfireWM/wayfire/wiki/Configuration#output
# Core Options & Plugins
# ─────────────────────────────────────────────────────────────────────────────
[core]
# Enabled Plugins List
plugins = \
alpha \ # Window transparency
animate \ # Animations
autostart \ # Autostart apps
command \ # Custom commands
cube \ # Desktop cube
decoration \ # Window decorations
expo \ # Workspace overview
fast-switcher \ # Quick window switching
fisheye \ # Fisheye effect
foreign-toplevel \ # XWayland support
grid \ # Window tiling
gtk-shell \ # GTK shell integration
idle \ # Idle detection
invert \ # Color inversion
move \ # Window movement
oswitch \ # Output switching
place \ # Window placement
resize \ # Window resizing
shortcuts-inhibit \ # Shortcut blocking
switcher \ # Window switcher
vswitch \ # Virtual desktop switching
wayfire-shell \ # Shell integration
window-rules \ # Window rules
wm-actions \ # WM actions
wobbly \ # Wobbly windows
wrot \ # Window rotation
zoom # Screen zooming
# Optional Plugins:
# blur - Resource intensive window blur (disabled by default)
# Docs: https://github.com/WayfireWM/wayfire/wiki/Configuration#blur
# Window Management
close_top_view = <super> KEY_Q | <alt> KEY_F4
# Virtual Desktop Grid
vwidth = 3
vheight = 3
# Window Decoration
preferred_decoration_mode = client
# Mouse Bindings
# ─────────────────────────────────────────────────────────────────────────────
[move]
activate = <super> BTN_LEFT
[resize]
activate = <super> BTN_RIGHT
[zoom]
modifier = <super>
[alpha]
modifier = <super> <alt>
[wrot]
activate = <super> <ctrl> BTN_RIGHT
[fisheye]
toggle = <super> <ctrl> KEY_F
# Startup Applications
# ─────────────────────────────────────────────────────────────────────────────
[autostart]
autostart_wf_shell = true
# Shell Components (wf-shell)
# Docs: https://github.com/WayfireWM/wf-shell
#
# background = wf-background
# panel = wf-panel
# dock = wf-dock
# Core Services
outputs = kanshi # https://wayland.emersion.fr/kanshi/
notifications = mako # https://wayland.emersion.fr/mako/
gamma = wlsunset # https://sr.ht/~kennylevinsen/wlsunset/
idle = swayidle before-sleep swaylock
portal = /usr/libexec/xdg-desktop-portal
# Idle Config Example:
```ini
[idle]
toggle = <super> KEY_Z
screensaver_timeout = 300
dpms_timeout = 600
```
# Application Shortcuts
# ─────────────────────────────────────────────────────────────────────────────
[command]
# Terminal - Alacritty
# https://github.com/alacritty/alacritty
binding_terminal = <super> KEY_ENTER
command_terminal = alacritty
# App Launcher - Wofi
# https://hg.sr.ht/~scoopta/wofi
binding_launcher = <super> <shift> KEY_ENTER
command_launcher = wofi
# Screen Lock - Swaylock
# https://github.com/swaywm/swaylock
binding_lock = <super> <shift> KEY_ESC
command_lock = swaylock
# Session Logout - Wlogout
# https://github.com/ArtsyMacaw/wlogout
binding_logout = <super> KEY_ESC
command_logout = wlogout
# Screenshots - Grim & Slurp
# https://wayland.emersion.fr/grim/
# https://wayland.emersion.fr/slurp/
binding_screenshot = KEY_PRINT
command_screenshot = grim $(date '+%F_%T').webp
binding_screenshot_interactive = <shift> KEY_PRINT
command_screenshot_interactive = slurp | grim -g - $(date '+%F_%T').webp
# Volume Control - ALSA
# https://alsa-project.org
repeatable_binding_volume_up = KEY_VOLUMEUP
command_volume_up = amixer set Master 5%+
repeatable_binding_volume_down = KEY_VOLUMEDOWN
command_volume_down = amixer set Master 5%-
binding_mute = KEY_MUTE
command_mute = amixer set Master toggle
# Brightness Control - Light
# https://haikarainen.github.io/light/
repeatable_binding_light_up = KEY_BRIGHTNESSUP
command_light_up = light -A 5
repeatable_binding_light_down = KEY_BRIGHTNESSDOWN
command_light_down = light -U 5
# Window Management
# ─────────────────────────────────────────────────────────────────────────────
# WM Actions Example:
```ini
[wm-actions]
toggle_fullscreen = <super> KEY_F
toggle_always_on_top = <super> KEY_X
toggle_sticky = <super> <shift> KEY_X
```
# Window Grid Positions
[grid]
# Numpad Layout:
# 7 8 9
# 4 5 6
# 1 2 3 0
slot_bl = <super> KEY_KP1
slot_b = <super> KEY_KP2
slot_br = <super> KEY_KP3
slot_l = <super> KEY_LEFT | <super> KEY_KP4
slot_c = <super> KEY_UP | <super> KEY_KP5
slot_r = <super> KEY_RIGHT | <super> KEY_KP6
slot_tl = <super> KEY_KP7
slot_t = <super> KEY_KP8
slot_tr = <super> KEY_KP9
restore = <super> KEY_DOWN | <super> KEY_KP0
# Window Switching
[switcher]
next_view = <alt> KEY_TAB
prev_view = <alt> <shift> KEY_TAB
[fast-switcher]
activate = <alt> KEY_ESC
# Workspace Management
# ─────────────────────────────────────────────────────────────────────────────
[vswitch]
binding_left = <ctrl> <super> KEY_LEFT
binding_down = <ctrl> <super> KEY_DOWN
binding_up = <ctrl> <super> KEY_UP
binding_right = <ctrl> <super> KEY_RIGHT
with_win_left = <ctrl> <super> <shift> KEY_LEFT
with_win_down = <ctrl> <super> <shift> KEY_DOWN
with_win_up = <ctrl> <super> <shift> KEY_UP
with_win_right = <ctrl> <super> <shift> KEY_RIGHT
[cube]
activate = <ctrl> <alt> BTN_LEFT
#rotate_left = <super> <ctrl> KEY_H
#rotate_right = <super> <ctrl> KEY_L
[expo]
toggle = <super> KEY_E
# Workspace Grid Selection (1-9)
select_workspace_1 = KEY_1
select_workspace_2 = KEY_2
select_workspace_3 = KEY_3
select_workspace_4 = KEY_4
select_workspace_5 = KEY_5
select_workspace_6 = KEY_6
select_workspace_7 = KEY_7
select_workspace_8 = KEY_8
select_workspace_9 = KEY_9
# Multi-Output Setup
# ─────────────────────────────────────────────────────────────────────────────
[oswitch]
next_output = <super> KEY_O
next_output_with_win = <super> <shift> KEY_O
[invert]
toggle = <super> KEY_I
[wayfire-shell]
toggle_menu = <super>
# Window Rules
# ─────────────────────────────────────────────────────────────────────────────
# Example rule:
```ini
[window-rules]
maximize_alacritty = on created if app_id is "Alacritty" then maximize
```
# Get window properties:
# $ WAYLAND_DEBUG=1 alacritty 2>&1 | kak
#
# Full rules reference: https://github.com/WayfireWM/wayfire/wiki/Configuration#window-rules
# Required Dependencies
# ─────────────────────────────────────────────────────────────────────────────
paru wayfire
paru wayland-devel
paru wcm
paru wf-shell
paru wf-shell-git wf-config-git
paru hwdata
paru libwayland
paru lshw
paru network-manager
paru wifi
paru wlr-randr