Configure the window manager to do `polybar-msg cmd toggle` when going
in and out of fullscreen.
| 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 | 
| 0 | 624 | new file mode 100644 | 
| ... | ... | @@ -0,0 +1,25 @@ | 
| 1 | +[ "$(command -v polybar)" ] || return 0 | |
| 2 | + | |
| 3 | +# export BATTERY_ADAPTER="$( | |
| 4 | +# grep -E -l 'Mains' '/sys/class/power_supply/'*'/type' \ | |
| 5 | +# | head -n 1 \ | |
| 6 | +# | sed 's|.*/\(.\+\)/type$|\1|' | |
| 7 | +# )" | |
| 8 | +# export BATTERY_BATTERY="$( | |
| 9 | +# grep -E -l 'Battery' '/sys/class/power_supply/'*'/type' \ | |
| 10 | +# | head -n 1 \ | |
| 11 | +# | sed 's|.*/\(.\+\)/type$|\1|' | |
| 12 | +# )" | |
| 13 | +export TEMPERATURE_THERMAL_ZONE="$( | |
| 14 | + grep -E -l 'cpu|x86' '/sys/class/thermal/thermal_zone'*'/type' 2> /dev/null \ | |
| 15 | + | head -n 1 \ | |
| 16 | + | sed 's|.*\([0-9]\+\)/type$|\1|' | |
| 17 | +)" | |
| 18 | +export BACKLIGHT_CARD="$( | |
| 19 | + grep -E -l 'raw' '/sys/class/backlight/'*'/type' 2> /dev/null \ | |
| 20 | + | head -n 1 \ | |
| 21 | + | sed 's|.*/\(.\+\)/type$|\1|' | |
| 22 | +)" | |
| 23 | + | |
| 24 | +polybar --quiet --reload top-noshadow & | |
| 25 | +polybar --quiet --reload bottom-noshadow & |