[colors] bg = #282828 bg1 = #3c3836 bg2 = #504945 bg3 = #665c54 bg4 = #7c6f64 fg = #ebdbb2 fg1 = #d5c4a1 fg2 = #bdae93 red = #cc241d green = #98971a yellow = #d79921 orange = #d65d0e purple = #b16286 aqua = #689d6a gray = #928374 [bar/main] width = 100% height = 30 monitor = ${env:MONITOR:} background = ${colors.bg} foreground = ${colors.fg} line-size = 2 line-color = ${colors.yellow} border-bottom-size = 2 border-color = ${colors.bg1} padding-left = 1 padding-right = 2 module-margin = 1 font-0 = "FiraCode Nerd Font:style=Regular:size=11;3" font-1 = "FiraCode Nerd Font:style=Bold:size=11;3" modules-left = i3 modules-center = date modules-right = ${env:POLYBAR_MODULES_RIGHT:bar-mode dunst awake pulseaudio keyboard wireguard net-speed network temp cpu memory filesystem tray} separator = "│" separator-foreground = ${colors.bg3} cursor-click = pointer fixed-center = true wm-restack = i3 enable-ipc = true ;; ── i3 ───────────────────────────────────────── [module/i3] type = internal/i3 index-sort = true format = label-mode = %mode% label-mode-background = ${colors.orange} label-mode-foreground = ${colors.bg} label-mode-padding = 2 label-focused = %index% label-focused-foreground = ${colors.bg} label-focused-background = ${colors.yellow} label-focused-padding = 2 label-unfocused = %index% label-unfocused-foreground = ${colors.fg2} label-unfocused-padding = 2 label-visible = %index% label-visible-foreground = ${colors.fg1} label-visible-padding = 2 label-urgent = %index% label-urgent-background = ${colors.red} label-urgent-foreground = ${colors.bg} label-urgent-padding = 2 pin-workspaces = false scroll-up = i3wm-wsnext scroll-down = i3wm-wsprev label-empty = %index% label-empty-foreground = ${colors.bg3} label-empty-padding = 2 ;; ── Date ─────────────────────────────────────── [module/date] type = internal/date interval = 5 date = %a %d %b time = %H:%M format-prefix = "date " format-prefix-foreground = ${colors.aqua} label = %date% %time% ;; ── Dunst ───────────────────────────────────── [module/dunst] type = custom/script exec = /home/aag/.config/polybar/scripts/dunst-status.sh interval = 2 format-prefix = "ntf " format-prefix-foreground = ${colors.yellow} label = %output% click-left = dunstctl set-paused toggle click-middle = dunstctl history-pop click-right = dunstctl close-all ;; ── Bar Mode ────────────────────────────────── [module/bar-mode] type = custom/script exec = /home/aag/.config/polybar/scripts/bar-mode-status.sh interval = 2 format-prefix = "bar " format-prefix-foreground = ${colors.yellow} label = %output% click-left = /home/aag/.config/polybar/scripts/bar-mode-toggle.sh click-right = /home/aag/.config/polybar/scripts/bar-mode-toggle.sh compact click-middle = /home/aag/.config/polybar/scripts/bar-mode-toggle.sh full ;; ── Force Awake ─────────────────────────────── [module/awake] type = custom/script exec = /home/aag/.config/polybar/scripts/awake-status.sh interval = 2 format-prefix = "wake " format-prefix-foreground = ${colors.orange} label = %output% click-left = /home/aag/.config/polybar/scripts/awake-toggle.sh click-middle = /home/aag/.config/polybar/scripts/awake-toggle.sh on click-right = /home/aag/.config/polybar/scripts/awake-toggle.sh off ;; ── Updates ─────────────────────────────────── [module/updates] type = custom/script exec = /home/aag/.config/polybar/scripts/updates-status.sh interval = 900 format-prefix = "upd " format-prefix-foreground = ${colors.yellow} label = %output% click-left = /home/aag/.config/polybar/scripts/updates-action.sh ;; ── Screenshot ──────────────────────────────── [module/screenshot] type = custom/script exec = /usr/bin/printf menu interval = 3600 format-prefix = "shot " format-prefix-foreground = ${colors.aqua} label = %output% click-left = /home/aag/.config/polybar/scripts/screenshot-menu.sh ;; ── Power Menu ──────────────────────────────── [module/power] type = custom/script exec = /usr/bin/printf menu interval = 3600 format-prefix = "pwr " format-prefix-foreground = ${colors.red} label = %output% click-left = /home/aag/.config/polybar/scripts/power-menu.sh ;; ── Clipboard ───────────────────────────────── [module/clipboard] type = custom/script exec = /usr/bin/printf menu interval = 3600 format-prefix = "clip " format-prefix-foreground = ${colors.purple} label = %output% click-left = /home/aag/.config/polybar/scripts/clipboard-menu.sh ;; ── Display ─────────────────────────────────── [module/display] type = custom/script exec = /home/aag/.config/polybar/scripts/display-status.sh interval = 2 format-prefix = "disp " format-prefix-foreground = ${colors.orange} label = %output% click-left = /home/aag/.config/polybar/scripts/display-toggle.sh scroll-up = /home/aag/.config/polybar/scripts/display-brightness.sh up scroll-down = /home/aag/.config/polybar/scripts/display-brightness.sh down ;; ── Microphone ──────────────────────────────── [module/mic] type = custom/script exec = /home/aag/.config/polybar/scripts/mic-status.sh interval = 2 format-prefix = "mic " format-prefix-foreground = ${colors.purple} label = %output% click-left = /home/aag/.config/polybar/scripts/mic-toggle.sh ;; ── PipeWire (via PulseAudio API) ───────────── [module/pulseaudio] type = internal/pulseaudio use-ui-max = true interval = 2 format-volume = format-volume-prefix = "vol " format-volume-prefix-foreground = ${colors.green} format-muted = format-muted-prefix = "vol " format-muted-prefix-foreground = ${colors.gray} label-volume = %percentage%% label-muted = muted label-muted-foreground = ${colors.gray} click-left = pavucontrol click-right = pavucontrol click-middle = pactl set-sink-mute @DEFAULT_SINK@ toggle scroll-up = pactl set-sink-volume @DEFAULT_SINK@ +5% scroll-down = pactl set-sink-volume @DEFAULT_SINK@ -5% ;; ── Music ───────────────────────────────────── [module/music] type = custom/script exec = /home/aag/.config/polybar/scripts/music-status.sh interval = 2 format-prefix = "mus " format-prefix-foreground = ${colors.green} label = %output% click-left = playerctl play-pause click-middle = playerctl previous click-right = playerctl next ;; ── Keyboard ────────────────────────────────── [module/keyboard] type = custom/script exec = /home/aag/.config/polybar/scripts/kb-status.sh interval = 2 format-prefix = "kbd " format-prefix-foreground = ${colors.purple} label = %output% click-left = /home/aag/.config/polybar/scripts/kb-switch.sh ;; ── WireGuard ───────────────────────────────── [module/wireguard] type = custom/script exec = /home/aag/.config/polybar/scripts/wg-pc-status.sh interval = 2 format-prefix = "wg " format-prefix-foreground = ${colors.aqua} label = %output% click-left = /home/aag/.config/polybar/scripts/wg-pc-toggle.sh click-right = /home/aag/.config/polybar/scripts/wg-pc-toggle.sh down click-middle = /home/aag/.config/polybar/scripts/wg-pc-toggle.sh up ;; ── Network ─────────────────────────────────── [module/network] type = internal/network interface = ${env:POLYBAR_NETWORK:eth0} interval = 5 format-connected = format-connected-prefix = "net " format-connected-prefix-foreground = ${colors.green} format-disconnected = format-disconnected-prefix = "net " format-disconnected-prefix-foreground = ${colors.red} label-connected = %local_ip% label-disconnected = offline ;; ── Network Speed ───────────────────────────── [module/net-speed] type = custom/script exec = /home/aag/.config/polybar/scripts/net-speed.sh interval = 2 format-prefix = "spd " format-prefix-foreground = ${colors.green} label = %output% ;; ── Temperature ─────────────────────────────── [module/temp] type = custom/script exec = /home/aag/.config/polybar/scripts/temp-status.sh interval = 5 format-prefix = "tmp " format-prefix-foreground = ${colors.orange} label = %output% ;; ── CPU ─────────────────────────────────────── [module/cpu] type = internal/cpu interval = 2 warn-percentage = 85 format-prefix = "cpu " format-prefix-foreground = ${colors.orange} format-warn = format-warn-prefix = "cpu " format-warn-prefix-foreground = ${colors.red} label = %percentage%% label-warn = %percentage%% label-warn-foreground = ${colors.red} ;; ── Memory ──────────────────────────────────── [module/memory] type = internal/memory interval = 3 warn-percentage = 80 format-prefix = "ram " format-prefix-foreground = ${colors.purple} format-warn = format-warn-prefix = "ram " format-warn-prefix-foreground = ${colors.red} label = %percentage_used%% label-warn = %percentage_used%% label-warn-foreground = ${colors.red} ;; ── Filesystem ──────────────────────────────── [module/filesystem] type = internal/fs interval = 30 warn-percentage = 85 mount-0 = / format-mounted-prefix = "disk " format-mounted-prefix-foreground = ${colors.aqua} format-warn = format-warn-prefix = "disk " format-warn-prefix-foreground = ${colors.red} label-mounted = %percentage_used%% label-warn = %percentage_used%% label-warn-foreground = ${colors.red} label-unmounted = down label-unmounted-foreground = ${colors.red} ;; ── Scratchpad ──────────────────────────────── [module/scratchpad] type = custom/script exec = /home/aag/.config/polybar/scripts/scratchpad-status.sh interval = 2 format-prefix = "scratch " format-prefix-foreground = ${colors.yellow} label = %output% click-left = i3-msg scratchpad show click-middle = i3-msg move scratchpad ;; ── Tray ────────────────────────────────────── [module/tray] type = internal/tray format = format-margin = 0 tray-spacing = 4pt [settings] screenchange-reload = true pseudo-transparency = false