dotfiles/polybar/config.ini

471 lines
11 KiB
INI

;=====================================================
;
; To learn more about how to configure Polybar
; go to https://github.com/jaagr/polybar
;
; The README contains alot of information
;
;=====================================================
[colors]
background = #1d2021
background-alt = #3c3836
foreground = #ebdbb2
foreground-alt = #ebdbb2
primary = #689d68
secondary = #e60053
alert = #bd2c40
[bar/top]
monitor = ${env:MONITOR:}
width = 100%
height = 30
offset-x = 0%
offset-y = 0%
radius = 0
fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 2
line-color = #f00
border-size = 0
border-bottom-size = 0
border-color = #00000000
padding-left = 3
padding-right = 3
module-margin-left = 1
module-margin-right = 1
font-0 = "JetBrainsMono Nerd Font:pixelsize=10;3"
font-1 = "Font Awesome 6 Free Solid:pixelsize=10;3"
font-2 = "feather:size=12;3"
modules-left = whoami xwindow
modules-center = i3
modules-right = mpd memory cpu temperature volume date powermenu
tray-position = right
wm-restack = i3
scroll-up = i3wm-wsnext
scroll-down = i3wm-wsprev
[module/xwindow]
type = internal/xwindow
label = %title:0:20:...%
label-empty = "None"
label-empty-foreground = ${colors.cyan}
format-prefix = "  "
[module/whoami]
type = custom/script
exec = whoami
interval = 3600
format =  <label>
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
label-layout = %layout%
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.secondary}
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = #32302f
label-focused-underline= ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = true
strip-wsnumbers = true
; Only show workspaces on the same output as the bar
pin-workspaces = true
label-mode-padding = 4
label-mode-foreground = #000
label-mode-background = ${colors.primary}
; focused = Active workspace on focused monitor
label-focused = %icon%
label-focused-background = ${module/bspwm.label-focused-background}
label-focused-underline = ${colors.primary}
label-focused-padding = ${module/bspwm.label-focused-padding}
; unfocused = Inactive workspace on any monitor
label-unfocused = %icon%
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
; visible = Active workspace on unfocused monitor
label-visible = %icon%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %icon%
label-urgent-background = ${module/bspwm.label-urgent-background}
label-urgent-padding = ${module/bspwm.label-urgent-padding}
ws-icon-0 = 1;1
ws-icon-1 = 2;2
ws-icon-2 = 3;3
ws-icon-3 = 4;4
ws-icon-4 = 5;5
ws-icon-5 = 6;5
ws-icon-6 = 7;7
ws-icon-7 = 8;8
ws-icon-8 = 9;9
[module/mpd]
type = internal/mpd
; Host where mpd is running (either ip or domain name)
; Can also be the full path to a unix socket where mpd is running.
;;host = 127.0.0.1
;;port = 6600
;;password = mysecretpassword
; Seconds to sleep between progressbar/song timer sync
; Default: 1
interval = 1
format-online = <label-song> <icon-prev> <toggle> <icon-next>
format-online-prefix =
format-online-foreground = ${color.foreground}
format-offline = <label-offline>
format-offline-prefix =
format-offline-foreground = ${color.foreground}
label-song = " %artist% - %title%"
label-song-maxlen = 25
label-song-ellipsis = true
label-time = %elapsed% / %total%
label-offline = " Offline"
; Only applies if <icon-X> is used
icon-play =
icon-pause =
icon-stop =
icon-prev =
icon-next =
icon-seekb =
icon-seekf =
icon-random =
icon-repeat =
icon-repeatone =
icon-single =
icon-consume =
; Used to display the state of random/repeat/repeatone/single
; Only applies if <icon-[random|repeat|repeatone|single]> is used
toggle-on-foreground = ${color.primary}
toggle-off-foreground = ${color.red}
[module/xbacklight]
type = internal/xbacklight
format = <label> <bar>
label = %percentage%%
bar-width = 10
bar-indicator = |
bar-indicator-foreground = #ff
bar-indicator-font = 2
bar-fill =
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty =
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}
[module/backlight-acpi]
inherit = module/xbacklight
card = intel_backlight
label = %percentage%%
ramp-0 = 🌕
ramp-1 = 🌔
ramp-2 = 🌓
ramp-3 = 🌒
ramp-4 = 🌑
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "%{T3} %{T-}"
format-warn-prefix = "%{T3} %{T-}"
format-warn-foreground = ${colors.secondary}
format-prefix-foreground = ${colors.foreground-alt}
format-warn = <label-warn>
label = %percentage%%
label-warn = %percentage%%
label-warn-foreground = ${colors.secondary}
[module/memory]
type = internal/memory
interval = 2
format-prefix = "%{T3} %{T-}"
format-warn-prefix = "%{T3} %{T-}"
format-prefix-foreground = ${colors.foreground-alt}
format-warn-foreground = ${colors.secondary}
format-warn = <label-warn>
label = %percentage_used%%
label-warn = %percentage_used%%
label-warn-foreground = ${colors.secondary}
[module/wlan]
type = internal/network
interface = wlp8s0
interval = 3.0
format-connected = <label-connected>
format-packetloss = <animation-packetloss> <label-connected>
label-connected = %essid% %downspeed:9%
label-connected-foreground = #eefafafa
; Only applies if <animation-packetloss> is used
animation-packetloss-0 =
animation-packetloss-0-foreground = #ffa64c
animation-packetloss-1 = 📶
animation-packetloss-1-foreground = #000000
; Framerate in milliseconds
animation-packetloss-framerate = 500
[module/eth]
type = internal/network
interface = enx582c80139263
interval = 3.0
accumulate-stats = true
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-foreground-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected-underline = ${self.format-connected-underline}
label-disconnected = %ifname% disconnected
[module/date]
type = internal/date
interval = 5
date = " %A, %B %d"
date-alt = " %Y-%m-%d"
time = %H:%M
time-alt = %H:%M:%S
format-prefix =
format-prefix-foreground = #ebdbb2
format-background = #32302f
format-padding = 3
label = %date% %time%
[module/volume]
type = internal/pulseaudio
use-ui-max = false
format-volume = <label-volume>
label-volume = " %percentage%% "
label-volume-foreground = ${root.foreground}
label-muted = "  "
label-muted-foreground = #666
format-padding = 1
ramp-volume-0 =
[module/battery]
type = internal/battery
; This is useful in case the battery never reports 100% charge
full-at = 99
; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/
battery = BAT1
adapter = ACAD
; If an inotify event haven't been reported in this many
; seconds, manually poll for new values.
;
; Needed as a fallback for systems that don't report events
; on sysfs/procfs.
;
; Disable polling by setting the interval to 0.
;
; Default: 5
poll-interval = 5
; see "man date" for details on how to format the time string
; NOTE: if you want to use syntax tags here you need to use %%{...}
; Default: %H:%M:%S
time-format = %H:%M
; Available tags:
; <label-charging> (default)
; <bar-capacity>
; <ramp-capacity>
; <animation-charging>
format-charging = <animation-charging> <label-charging>
; Available tags:
; <label-discharging> (default)
; <bar-capacity>
; <ramp-capacity>
format-discharging = <ramp-capacity> <label-discharging>
; Available tags:
; <label-full> (default)
; <bar-capacity>
; <ramp-capacity>
;format-full = <ramp-capacity> <label-full>
; Available tokens:
; %percentage% (default)
; %time%
; %consumption% (shows current charge rate in watts)
label-charging = Charging %percentage%%
; Available tokens:
; %percentage% (default)
; %time%
; %consumption% (shows current discharge rate in watts)
label-discharging = %percentage%%
; Available tokens:
; %percentage% (default)
label-full = Fully charged
; Only applies if <ramp-capacity> is used
ramp-capacity-0 =
ramp-capacity-1 =
ramp-capacity-2 =
ramp-capacity-3 =
ramp-capacity-4 =
; Only applies if <bar-capacity> is used
bar-capacity-width = 10
; Only applies if <animation-charging> is used
animation-charging-0 =
animation-charging-1 =
animation-charging-2 =
animation-charging-3 =
animation-charging-4 =
; Framerate in milliseconds
animation-charging-framerate = 750
[module/temperature]
type = internal/temperature
thermal-zone = 0
; Full path of temperature sysfs path
; Use `sensors` to find preferred temperature source, then run
; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done
; to find path to desired file
; Default reverts to thermal zone setting
;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
hwmon-path = /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon4/temp1_input
warn-temperature = 65
format = <label>
format-prefix = "%{T3} %{T-}"
format-warn-prefix = "%{T3} %{T-}"
format-warn-foreground = ${colors.secondary}
format-underline = #00000000
format-warn = <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature%
label-warn = %temperature%
label-warn-foreground = ${colors.secondary}
ramp-0 =
ramp-1 =
ramp-2 =
ramp-3 =
ramp-4 =
ramp-foreground = ${colors.foreground-alt}
[module/powermenu]
type = custom/menu
format-spacing = 1
label-open =
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
modules-left = cpu ram battery
[settings]
screenchange-reload = true
[global/wm]
margin-top = 5
margin-bottom = 5