Browse code

Add dotfiles

Configure the window manager to do `polybar-msg cmd toggle` when going
in and out of fullscreen.

Robert Cranston authored on 29/01/2022 02:07:52
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,623 @@
1
+;; Colors
2
+
3
+[colors]
4
+; https://notes.rcrnstn.net/colors.md
5
+background  = #c0000000
6
+foreground  = #ffc6c6c6
7
+transparent = #00000000
8
+disabled    = #ff5e5e5e
9
+warn        = #ffffb3b3
10
+focused     = ${self.foreground}
11
+visible     = ${self.foreground}
12
+unfocused   = ${self.transparent}
13
+urgent      = ${self.warn}
14
+
15
+;; Fonts
16
+; https://en.wikipedia.org/wiki/Open-source_Unicode_typefaces
17
+
18
+[fonts]
19
+; fonts-dejavu-core (usually installed)
20
+font-0 = DejaVu Sans Mono:size=10;3
21
+; fonts-noto-mono (usually installed)
22
+font-1 = Noto Sans Mono:size=10;2
23
+; fonts-freefont-ttf (usually installed)
24
+font-2 = FreeMono:style=Bold:size=10;2
25
+font-3 = FreeSans:style=Bold:size=10;2
26
+; System default monospace
27
+font-4 = Monospace:size=10;2
28
+; fonts-symbola
29
+font-5 = Symbola:size=10;2
30
+; fonts-unifont
31
+font-6 = Unifont:size=10;2
32
+font-7 = Unifont Upper:size=10;2
33
+; fonts-font-awesome
34
+; https://fontawesome.com/v4.7/icons
35
+font-8 = FontAwesome:size=10;2
36
+; fonts-material-design-icons-iconfont
37
+; https://jossef.github.io/material-design-icons-iconfont
38
+; https://fonts.google.com/icons
39
+; font-9 = Material Icons:size=10;2
40
+; fonts-octicons
41
+; https://primer.style/octicons/
42
+; font-10 = octicons:size=10;2
43
+
44
+;; Icons
45
+; https://www.fileformat.info/info/unicode/char/search.htm
46
+; https://www.fileformat.info/info/unicode/category/So
47
+
48
+;;; Unicode
49
+
50
+[icons-unicode]
51
+;;;; Miscellaneous Technical (U+2300 - U+23FF)
52
+; https://www.fileformat.info/info/unicode/block/miscellaneous_technical
53
+keyboard = ⌨
54
+; time     = ⌚
55
+; time     = ⏲
56
+; https://en.wikipedia.org/wiki/Media_control_symbols#Symbols
57
+media-play       = ⏵
58
+media-pause      = ⏸
59
+media-play-pause = ⏯
60
+media-stop       = ⏹
61
+media-seekf      = ⏩
62
+media-seekb      = ⏪
63
+media-next       = ⏭
64
+media-prev       = ⏮
65
+media-record     = ⏺
66
+media-eject      = ⏏
67
+; https://en.wikipedia.org/wiki/Power_symbol#Unicode
68
+power-menu-open = ⏻
69
+power-off       = ⏻
70
+power-sleep     = ⏾
71
+;;;; Box Drawing (U+2500 - U+257F)
72
+; https://www.fileformat.info/info/unicode/block/box_drawing
73
+progress-fill      = ─
74
+progress-empty     = ─
75
+progress-indicator = ╂
76
+# progress-indicator = ┼
77
+;;;; Block Elements (U+2580 - U+259F)
78
+; https://www.fileformat.info/info/unicode/block/block_elements
79
+load-0 = ▁
80
+load-1 = ▂
81
+load-2 = ▃
82
+load-3 = ▄
83
+load-4 = ▅
84
+load-5 = ▆
85
+load-6 = ▇
86
+load-7 = █
87
+;;;; Miscellaneous Symbols (U+2600 - U+26FF)
88
+; https://www.fileformat.info/info/unicode/block/miscellaneous_symbols
89
+; backlight = ☀
90
+; backlight = ☼
91
+; temperature-4 = ⚠
92
+; media-music = ♫
93
+; media-music = ♬
94
+; weather = ☁
95
+; weather = ⛅
96
+;;;; Dingbats (U+2700 - U+27BF)
97
+; https://www.fileformat.info/info/unicode/block/dingbats
98
+; mail = ✉
99
+;;;; Miscellaneous Symbols and Arrows (U+2B00 - U+2BFF)
100
+; https://www.fileformat.info/info/unicode/block/miscellaneous_symbols_and_arrows
101
+; power-menu-open = ⚙
102
+; power-menu-open = ⛭
103
+power-menu-close = ⭙
104
+power-reboot     = ⭮
105
+;;;; Miscellaneous Symbols and Pictographs (U+1F300 - U+1F5FF)
106
+; https://www.fileformat.info/info/unicode/block/miscellaneous_symbols_and_pictographs
107
+; backlight   = 🔅
108
+; backlight   = 🔆
109
+; backlight-0 = 🌕
110
+; backlight-1 = 🌔
111
+; backlight-2 = 🌓
112
+; backlight-3 = 🌒
113
+; backlight-4 = 🌑
114
+; backlight-0 = 🌑
115
+; backlight-1 = 🌘
116
+; backlight-2 = 🌗
117
+; backlight-3 = 🌖
118
+; backlight-4 = 🌕
119
+volume-muted = 🔇
120
+volume-0     = 🔈
121
+volume-1     = 🔉
122
+volume-2     = 🔉
123
+volume-3     = 🔊
124
+; volume-0     = 🕨
125
+; volume-1     = 🕩
126
+; volume-2     = 🕩
127
+; volume-3     = 🕪
128
+battery-charging   = 🔌
129
+; battery-charging   = ⚡
130
+; battery-charging   = 🗲
131
+battery-capacity-0 = 🔋
132
+battery-capacity-1 = 🔋
133
+battery-capacity-2 = 🔋
134
+battery-capacity-3 = 🔋
135
+battery-capacity-4 = 🔋
136
+media-music= 🎜
137
+; media-music = 🎵
138
+; https://en.wikipedia.org/wiki/Media_control_symbols#Symbols
139
+media-random = 🔀
140
+media-repeat = 🔁
141
+media-single = 🔂
142
+window = 🗖
143
+temperature-0 = 🌡
144
+temperature-1 = 🌡
145
+temperature-2 = 🌡
146
+temperature-3 = 🌡
147
+temperature-4 = 🌡
148
+power-lock = 🔒
149
+date = 🗓
150
+; date = 📅
151
+; date = 📆
152
+time = 🕐
153
+network-wired    = 🖧
154
+network-wireless = 📶
155
+cpu = 💻
156
+; cpu = 🖳
157
+; cpu = 🖥
158
+; cpu = 📺
159
+; cpu = 📟
160
+; cpu = 🧮
161
+; cpu = 🗠
162
+; cpu = 📈
163
+; cpu = 📉
164
+; cpu = 🧠
165
+memory = 🎟
166
+; memory = 🎫
167
+; filesystem = 🖫
168
+; filesystem = 🖴
169
+; filesystem = 🗀
170
+; filesystem = 🗁
171
+; filesystem = 📁
172
+; filesystem = 📂
173
+; mail = 📧
174
+; mail = 📨
175
+; mail = 📩
176
+; mail = 🖂
177
+; weather = 🌦
178
+;;;; Emoticons (U+1F600 - U+1F64F)
179
+; https://www.fileformat.info/info/unicode/block/emoticons
180
+power-logout = 🚪
181
+;;;; Transport and Map Symbols (U+1F680 - U+1F6FF)
182
+; https://www.fileformat.info/info/unicode/block/transport_and_map_symbols
183
+filesystem = 🛢
184
+;;;; Geometric Shapes Extended (U+1F780 - U+1F7FF)
185
+; https://www.fileformat.info/info/unicode/block/geometric_shapes_extended
186
+backlight-0 = 🞻
187
+backlight-1 = 🞼
188
+backlight-2 = 🞽
189
+backlight-3 = 🞾
190
+backlight-4 = 🞿
191
+signal-0 = 🟁
192
+signal-1 = 🟄
193
+signal-2 = 🟉
194
+signal-3 = 🟎
195
+signal-4 = 🟒
196
+; signal-0 = 🞅
197
+; signal-1 = 🞆
198
+; signal-2 = 🞇
199
+; signal-3 = 🞈
200
+; signal-4 = 🞉
201
+
202
+;;; Font Awesome
203
+
204
+[icons-font-awesome]
205
+power-menu-open   = 
206
+; power-menu-open = 
207
+; power-menu-open = 
208
+; power-menu-open = 
209
+power-menu-close  = 
210
+power-off         = 
211
+power-reboot      = 
212
+power-sleep       = 
213
+power-logout      = 
214
+power-lock        = 
215
+volume-muted = 
216
+volume-0     = 
217
+volume-1     = 
218
+volume-2     = 
219
+volume-3     = 
220
+; backlight-0 = 
221
+; backlight-1 = 
222
+; backlight-2 = 
223
+; backlight-3 = 
224
+; backlight-4 = 
225
+keyboard = 
226
+filesystem = 
227
+; filesystem = 
228
+; filesystem = 
229
+; filesystem = 
230
+memory = 
231
+; memory = 
232
+cpu = 
233
+; cpu = 
234
+; cpu = 
235
+; cpu = 
236
+temperature-0 = 
237
+temperature-1 = 
238
+temperature-2 = 
239
+temperature-3 = 
240
+temperature-4 = 
241
+; temperature-4 = 
242
+battery-charging   = 
243
+; battery-charging   = 
244
+battery-capacity-0 = 
245
+battery-capacity-1 = 
246
+battery-capacity-2 = 
247
+battery-capacity-3 = 
248
+battery-capacity-4 = 
249
+network-wireless = 
250
+; network-wireless = 
251
+network-wired    = 
252
+; network-wired    = 
253
+; network-wired    = 
254
+network-up   = 
255
+network-down = 
256
+; media-music      = 
257
+; media-play       = 
258
+; media-pause      = 
259
+; media-play-pause = 
260
+; media-stop       = 
261
+; media-seekf      = 
262
+; media-seekb      = 
263
+; ; media-seekf      = 
264
+; ; media-seekb      = 
265
+; media-next       = 
266
+; media-prev       = 
267
+; media-record     = 
268
+; media-eject      = 
269
+; media-random     = 
270
+; media-repeat     = 
271
+; media-single     = 
272
+
273
+;;; Icons
274
+
275
+[icons]
276
+inherit = icons-font-awesome icons-unicode
277
+
278
+;; Settings
279
+
280
+[settings]
281
+; pseudo-transparency = true
282
+screenchange-reload = true
283
+format-underline    = ${colors.foreground}
284
+
285
+;; Bars
286
+
287
+[bar-base]
288
+inherit       = fonts
289
+height        = 24
290
+border-size   = 5
291
+line-size     = 2
292
+dpi-x         = 0
293
+dpi-y         = 0
294
+separator     = " "
295
+foreground    = ${colors.foreground}
296
+background    = ${colors.background}
297
+enable-ipc    = true
298
+; cursor-click  = pointer
299
+; cursor-scroll = ns-resize
300
+
301
+[bar/top-noshadow]
302
+inherit         = bar-base
303
+bottom          = false
304
+modules-left    = i3
305
+modules-center  = xwindow
306
+tray-position   = right
307
+; https://github.com/polybar/polybar/pull/2552
308
+; tray-foreground = ${colors.foreground}
309
+tray-background = ${colors.foreground}
310
+border-bottom-size = 2
311
+
312
+[bar/bottom-noshadow]
313
+inherit        = bar-base
314
+bottom         = true
315
+padding        = 1
316
+modules-left   = mpd
317
+modules-center = date
318
+modules-right  = eth0 wlan0 eno1 wlo1 battery temperature cpu memory filesystem keyboard backlight volume powermenu
319
+border-top-size = 2
320
+
321
+;; Modules
322
+
323
+;;; i3
324
+; https://github.com/polybar/polybar/wiki/Module:-i3
325
+
326
+[module/i3]
327
+type                      = internal/i3
328
+format-padding            =
329
+label-state-padding       = 1
330
+label-state               = %name%
331
+label-focused-padding     = ${self.label-state-padding}
332
+label-visible-padding     = ${self.label-state-padding}
333
+label-unfocused-padding   = ${self.label-state-padding}
334
+label-urgent-padding      = ${self.label-state-padding}
335
+label-focused             = ${self.label-state}
336
+label-visible             = ${self.label-state}
337
+label-unfocused           = ${self.label-state}
338
+label-urgent              = ${self.label-state}
339
+label-focused-underline   = ${colors.focused}
340
+label-visible-underline   = ${colors.visible}
341
+label-unfocused-underline = ${colors.unfocused}
342
+label-urgent-underline    = ${colors.transparent}
343
+label-urgent-foreground   = ${colors.urgent}
344
+
345
+;;; X Window
346
+; https://github.com/polybar/polybar/wiki/Module:-xwindow
347
+
348
+[module/xwindow]
349
+type             = internal/xwindow
350
+format-underline =
351
+; format-prefix    = ${icons.window}
352
+label            = %title:0:80:...%
353
+; format-prefix-margin-right = 1
354
+
355
+;;; MPD
356
+; https://github.com/polybar/polybar/wiki/Module:-mpd
357
+; {auto}ssh {-f} -N -L localhost:6600:localhost:6600 ${MPD_HOST:-mpd.$(dnsdomainname)}:${MPD_PORT:-6600}
358
+
359
+[module/mpd]
360
+type                          = internal/mpd
361
+format-online-underline       =
362
+format-offline-underline      =
363
+format-online-prefix          = ${icons.media-music}
364
+format-offline-prefix         = ${icons.media-music}
365
+format-online                 = %{A3:$TERMINAL -e "$SHELL -i -c ncmpcpp" &:}<icon-random> <icon-repeat> <icon-single> <icon-prev> <icon-seekb> <toggle> <icon-seekf> <icon-next> <bar-progress> <label-song>%{A}
366
+format-offline                = <label-offline>
367
+format-offline-foreground     = ${colors.disabled}
368
+label-song                    = %artist% - %title:0:50:...%
369
+label-offline                 = " "
370
+toggle-off-foreground         = ${colors.disabled}
371
+icon-random                   = ${icons.media-random}
372
+icon-repeat                   = ${icons.media-repeat}
373
+icon-single                   = ${icons.media-single}
374
+icon-prev                     = ${icons.media-prev}
375
+icon-seekb                    = ${icons.media-seekb}
376
+icon-stop                     = ${icons.media-stop}
377
+icon-play                     = ${icons.media-play}
378
+icon-pause                    = ${icons.media-pause}
379
+icon-seekf                    = ${icons.media-seekf}
380
+icon-next                     = ${icons.media-next}
381
+bar-progress-width            = 7
382
+bar-progress-fill             = ${icons.progress-fill}
383
+bar-progress-empty            = ${icons.progress-empty}
384
+bar-progress-indicator        =
385
+bar-progress-fill-foreground  = ${colors.foreground}
386
+bar-progress-empty-foreground = ${colors.disabled}
387
+format-online-prefix-margin-right = 1
388
+format-offline-prefix-margin-right = 1
389
+
390
+;;; Date
391
+; https://github.com/polybar/polybar/wiki/Module:-date
392
+
393
+[module/date]
394
+type             = internal/date
395
+date             = %a %d %b
396
+date-alt         = %Y-%m-%d
397
+time             = %H:%M
398
+time-alt         = %H:%M:%S
399
+format-underline =
400
+; format-prefix    = ${icons.date}
401
+format           = %{A3:$TERMINAL -e "$SHELL -i -c ikhal" &:}<label>%{A}
402
+label            = %date% %time%
403
+; format-prefix-margin-right = 1
404
+
405
+;;; Network
406
+; https://github.com/polybar/polybar/wiki/Module:-network
407
+; https://www.freedesktop.org/software/systemd/man/systemd.net-naming-scheme.html
408
+
409
+[network-base]
410
+type             = internal/network
411
+unknown-as-up    = true
412
+speed-unit       = ''
413
+format-connected = %{A3:$TERMINAL -e "$SHELL -i -c nmtui" &:}<label-connected>%{A}
414
+label-connected  = %downspeed% %upspeed%
415
+format-connected-prefix-margin-right = 1
416
+
417
+[network-wired]
418
+format-connected-prefix = ${icons.network-wired}
419
+; label-connected         = %linkspeed% %downspeed% %upspeed%
420
+
421
+[network-wireless]
422
+format-connected-prefix = ${icons.network-wireless}
423
+; format-connected        = <ramp-signal> <label-connected>
424
+label-connected         = %signal%% %downspeed% %upspeed%
425
+; label-connected         = %essid% %signal%% %downspeed% %upspeed%
426
+; ramp-signal-0 = ${icons.signal-0}
427
+; ramp-signal-1 = ${icons.signal-1}
428
+; ramp-signal-2 = ${icons.signal-2}
429
+; ramp-signal-3 = ${icons.signal-3}
430
+; ramp-signal-4 = ${icons.signal-4}
431
+
432
+[module/eth0]
433
+inherit   = network-wired network-base
434
+interface = eth0
435
+
436
+[module/wlan0]
437
+inherit   = network-wireless network-base
438
+interface = wlan0
439
+
440
+[module/eno1]
441
+inherit   = network-wired network-base
442
+interface = eno1
443
+
444
+[module/wlo1]
445
+inherit   = network-wireless network-base
446
+interface = wlo1
447
+
448
+;;; Battery
449
+; https://github.com/polybar/polybar/wiki/Module:-battery
450
+; ls /sys/class/power_supply/
451
+
452
+[module/battery]
453
+type                       = internal/battery
454
+; adapter                    = ${env:BATTERY_ADAPTER}
455
+; battery                    = ${env:BATTERY_BATTERY}
456
+time-format                = %Hh%Mm
457
+format-charging-prefix     = ${icons.battery-charging}
458
+format-full                = <ramp-capacity> <label-full>
459
+format-charging            = <ramp-capacity> <label-charging>
460
+format-discharging         = <ramp-capacity> <label-discharging>
461
+label-full                 = %percentage_raw%%
462
+label-charging             = %percentage_raw%% %consumption%W %time%
463
+label-discharging          = %percentage_raw%% %consumption%W %time%
464
+ramp-capacity-0            = ${icons.battery-capacity-0}
465
+ramp-capacity-1            = ${icons.battery-capacity-1}
466
+ramp-capacity-2            = ${icons.battery-capacity-2}
467
+ramp-capacity-3            = ${icons.battery-capacity-3}
468
+ramp-capacity-4            = ${icons.battery-capacity-4}
469
+ramp-capacity-0-foreground = ${colors.warn}
470
+format-charging-prefix-padding-right = 1
471
+
472
+;;; Temperature
473
+; https://github.com/polybar/polybar/wiki/Module:-temperature
474
+
475
+; for i in "/sys/class/thermal/thermal_zone"*
476
+; do
477
+;   echo "$i: $(cat "$i/type")"
478
+; done
479
+
480
+; for i in "/sys/class/hwmon/hwmon"*"/temp"*"_input"
481
+; do
482
+;    printf '%s: %s %s\n' \
483
+;      "$(cat "$(dirname "$i")/name")" \
484
+;      "$(cat "${i%_*}_label" 2> '/dev/null' || basename "${i%_*}")" \
485
+;      "$(readlink -f "$i")"
486
+; done
487
+
488
+[module/temperature]
489
+type                   = internal/temperature
490
+thermal-zone           = ${env:TEMPERATURE_THERMAL_ZONE}
491
+base-temperature       = 20
492
+warn-temperature       = 60
493
+format                 = <ramp> <label>
494
+format-warn            = <ramp> <label-warn>
495
+label-warn-foreground  = ${colors.warn}
496
+ramp-0                 = ${icons.temperature-0}
497
+ramp-1                 = ${icons.temperature-1}
498
+ramp-2                 = ${icons.temperature-2}
499
+ramp-3                 = ${icons.temperature-3}
500
+ramp-4                 = ${icons.temperature-4}
501
+
502
+;;; CPU
503
+; https://github.com/polybar/polybar/wiki/Module:-cpu
504
+
505
+[module/cpu]
506
+type                  = internal/cpu
507
+format-prefix         = ${icons.cpu}
508
+format                = %{A3:$TERMINAL -e "$SHELL -i -c htop" &:}<label> <ramp-coreload>%{A}
509
+label                 = %percentage:2%%
510
+ramp-coreload-spacing = 0
511
+ramp-coreload-0       = ${icons.load-0}
512
+ramp-coreload-1       = ${icons.load-1}
513
+ramp-coreload-2       = ${icons.load-2}
514
+ramp-coreload-3       = ${icons.load-3}
515
+ramp-coreload-4       = ${icons.load-4}
516
+ramp-coreload-5       = ${icons.load-5}
517
+ramp-coreload-6       = ${icons.load-6}
518
+ramp-coreload-7       = ${icons.load-7}
519
+format-prefix-margin-right = 1
520
+
521
+;;; Memory
522
+; https://github.com/polybar/polybar/wiki/Module:-memory
523
+
524
+[module/memory]
525
+type             = internal/memory
526
+format-prefix    = ${icons.memory}
527
+format           = %{A3:$TERMINAL -e "$SHELL -i -c htop" &:}<label> <ramp-used><ramp-swap-used>%{A}
528
+label            = %percentage_used:2%%
529
+ramp-used-0      = ${icons.load-0}
530
+ramp-used-1      = ${icons.load-1}
531
+ramp-used-2      = ${icons.load-2}
532
+ramp-used-3      = ${icons.load-3}
533
+ramp-used-4      = ${icons.load-4}
534
+ramp-used-5      = ${icons.load-5}
535
+ramp-used-6      = ${icons.load-6}
536
+ramp-used-7      = ${icons.load-7}
537
+ramp-swap-used-0 = ${icons.load-0}
538
+ramp-swap-used-1 = ${icons.load-1}
539
+ramp-swap-used-2 = ${icons.load-2}
540
+ramp-swap-used-3 = ${icons.load-3}
541
+ramp-swap-used-4 = ${icons.load-4}
542
+ramp-swap-used-5 = ${icons.load-5}
543
+ramp-swap-used-6 = ${icons.load-6}
544
+ramp-swap-used-7 = ${icons.load-7}
545
+format-prefix-margin-right = 1
546
+
547
+;;; Filesystem
548
+; https://github.com/polybar/polybar/wiki/Module:-filesystem
549
+
550
+[module/filesystem]
551
+type                  = internal/fs
552
+mount-0               = /
553
+format-mounted-prefix = ${icons.filesystem}
554
+format-mounted        = %{A3:$TERMINAL -e "$SHELL -i -c ncdu" &:}<label-mounted>%{A}
555
+format-unmounted      =
556
+label-mounted         = %fsname% %percentage_used%%
557
+format-mounted-prefix-margin-right = 1
558
+
559
+;;; Keyboard
560
+; https://github.com/polybar/polybar/wiki/Module:-xkeyboard
561
+
562
+[module/keyboard]
563
+type          = internal/xkeyboard
564
+format-prefix = ${icons.keyboard}
565
+format        = <label-layout>
566
+format-prefix-margin-right = 1
567
+
568
+;;; Backlight
569
+; https://github.com/polybar/polybar/wiki/Module:-backlight
570
+; ls /sys/class/backlight/
571
+; https://wiki.archlinux.org/title/Backlight
572
+
573
+[module/backlight]
574
+type          = internal/backlight
575
+card          = ${env:BACKLIGHT_CARD}
576
+enable-scroll = true
577
+format        = <ramp> <label>
578
+label         = %percentage%%
579
+ramp-0        = ${icons.backlight-0}
580
+ramp-1        = ${icons.backlight-1}
581
+ramp-2        = ${icons.backlight-2}
582
+ramp-3        = ${icons.backlight-3}
583
+ramp-4        = ${icons.backlight-4}
584
+
585
+;;; Volume
586
+; https://github.com/polybar/polybar/wiki/Module:-pulseaudio
587
+
588
+[module/volume]
589
+type                    = internal/pulseaudio
590
+use-ui-max              = false
591
+format-muted-prefix     = ${icons.volume-muted}
592
+format-muted            = %{A3:$TERMINAL -e "$SHELL -i -c pulsemixer" &:}<label-muted>%{A}
593
+format-volume           = %{A3:$TERMINAL -e "$SHELL -i -c pulsemixer" &:}<ramp-volume> <label-volume>%{A}
594
+format-muted-foreground = ${colors.disabled}
595
+label-muted             = %percentage%%
596
+label-volume            = %percentage%%
597
+ramp-volume-0           = ${icons.volume-0}
598
+ramp-volume-1           = ${icons.volume-1}
599
+ramp-volume-2           = ${icons.volume-2}
600
+ramp-volume-3           = ${icons.volume-3}
601
+format-muted-prefix-margin-right = 1
602
+
603
+;;; Powermenu
604
+; https://github.com/polybar/polybar/wiki/Module:-menu
605
+; man systemd-sleep.conf
606
+; https://wiki.archlinux.org/title/Power_management
607
+
608
+[module/powermenu]
609
+type            = custom/menu
610
+expand-right    = false
611
+label-open      = ${icons.power-menu-open}
612
+label-close     = ${icons.power-menu-close}
613
+label-separator = " "
614
+menu-0-0        = ${icons.power-off}
615
+menu-0-0-exec   = systemctl poweroff
616
+menu-0-1        = ${icons.power-reboot}
617
+menu-0-1-exec   = systemctl reboot
618
+menu-0-2        = ${icons.power-sleep}
619
+menu-0-2-exec   = systemctl hibernate
620
+menu-0-3        = ${icons.power-logout}
621
+menu-0-3-exec   = loginctl terminate-session $XDG_SESSION_ID
622
+menu-0-4        = ${icons.power-lock}
623
+menu-0-4-exec   = loginctl lock-session $XDG_SESSION_ID