dotfiles/.config/polybar/config

389 lines
9.6 KiB
INI
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
background = ${xrdb:color0:#222}
foreground = ${xrdb:color7:#222}
foreground-alt = ${xrdb:color7:#222}
primary = ${xrdb:color1:#222}
secondary = ${xrdb:color2:#222}
alert = ${xrdb:color3:#222}
[bar/right]
monitor = ${env:MONITOR:eDP-1}
width = 100%:-30
height = 30
offset-x = 15
offset-y = 12
radius = 0
fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 0
line-color = ${xrdb:color3:#222}
border-size = 3
border-color = ${xrdb:color1:#222}
padding-left = 2
padding-right = 2
module-margin-left = 1
module-margin-right = 1
font-0 = DaddyTimeMono:pixelsize=10;3
font-1 = unifont:fontformat=truetype:size=8:antialias=false;2
font-2 = Siji:pixelsize=11;2
font-3 = Symbols Nerd Font:pixelsize=10;2
font-4 = unifont:fontformat=truetype:size=8:antialias=false;1
modules-left = bspwm
modules-center = date
modules-right = filesystem battery pulseaudio xkeyboard vpn-wireguard-wg memory cpu powermenu
wm-restack = bspwm
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
cursor-click = pointer
;cursor-scroll = ns-resize
[bar/left]
monitor = ${env:MONITOR:HDMI-1}
width = 100%:-30
height = 30
offset-x = 15
offset-y = 12
radius = 0
fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 0
line-color = ${xrdb:color3:#222}
border-size = 3
border-color = ${xrdb:color1:#222}
padding-left = 2
padding-right = 2
module-margin-left = 1
module-margin-right = 1
font-0 = DaddyTimeMono:pixelsize=10;3
font-1 = unifont:fontformat=truetype:size=8:antialias=false;2
font-2 = Siji:pixelsize=11;2
font-3 = Symbols Nerd Font:pixelsize=10;2
modules-left = bspwm
modules-center = date
modules-right = spotify mullvad-status notification-status
wm-restack = bspwm
cursor-click = pointer
[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%
[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}
label-indicator-underline = ${colors.secondary}
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %mountpoint%: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
label-focused = %name%
label-focused-foreground = ${colors.primary}
label-focused-padding = 1
label-occupied = %name%
label-occupied-padding = 1
label-urgent = %name%!
label-urgent-background = ${xrdb:color1:#222}
label-urgent-padding = 1
label-empty = %name%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 1
; Separator in between workspaces
; label-separator = |
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
label = %{A1:kitty htop:}%percentage:2%%%{A}
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
label = %{A1:kitty htop:}%percentage_used%%%{A}
[module/eth]
type = internal/network
interface = enp4s0
interval = 3.0
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 5
date =
date-alt = " %Y-%m-%d"
time = %H:%M
time-alt = %H:%M:%S
format-prefix =
format-prefix-foreground = ${colors.foreground-alt}
label = %{A3:dunstify ' Calendar' "$(cal --color=always | sed "s#\\x1b\\[7m#<b>#;s#\\x1b\\[27m#</b>#g")":}%date%%{A} %time%
[module/pulseaudio]
type = internal/pulseaudio
format-volume = %{A3:pavucontrol:}<label-volume> <bar-volume>%{A}
label-volume =  %percentage%%
label-volume-foreground = ${root.foreground}
label-muted =  muted
label-muted-foreground = #666
bar-volume-width = 14
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 5
bar-volume-fill =
bar-volume-fill-font = 2
bar-volume-empty =
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
; [module/temperature]
; type = internal/temperature
; thermal-zone = 0
; warn-temperature = 60
; format = <ramp> <label>
; format-underline = #f50a4d
; format-warn = <ramp> <label-warn>
; format-warn-underline = ${self.format-underline}
; label = %temperature-c%
; label-warn = %temperature-c%
; label-warn-foreground = ${colors.secondary}
; ramp-0 = 
; ramp-1 = 
; ramp-2 = 
; ramp-foreground = ${colors.foreground-alt}
[module/powermenu]
type = custom/menu
expand-right = true
format-spacing = 1
label-open =
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
menu-0-0 = reboot
menu-0-0-exec = reboot
menu-0-1 = power off
menu-0-1-exec = sudo poweroff
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
;pseudo-transparency = false
; [module/pipewire-microphone]
; type = custom/script
; exec = ~/.config/polybar/scripts/pipewire-microphone.sh
; tail = true
; click-left = ~/.config/polybar/scripts/pipewire-microphone.sh --toggle &
; [module/pipewire]
; type = custom/script
; label = "%output%"
; label-font = 3
; interval = 2.0
; exec = ~/.config/polybar/scripts/pipewire.sh
; click-right = exec pavucontrol &
; click-left = ~/.config/polybar/scripts/pipewire.sh mute &
; scroll-up = ~/.config/polybar/scripts/pipewire.sh up &
; scroll-down = ~/.config/polybar/scripts/pipewire.sh down &
[module/battery]
type = internal/battery
; This is useful in case the battery never reports 100% charge
; Default: 100
full-at = 99
; format-low once this charge percentage is reached
; Default: 10
; New in version 3.6.0
low-at = 10
; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/
battery = BAT0
adapter = AC
format-charging = <animation-charging> <label-charging>
format-discharging = <ramp-capacity> <label-discharging>
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
; %time%
; %consumption% (shows current charge rate in watts)
label-charging = %percentage_raw%%
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
; %time%
; %consumption% (shows current discharge rate in watts)
label-discharging = %percentage_raw%%
label-full = ""
ramp-capacity-0 =
ramp-capacity-1 =
ramp-capacity-2 =
ramp-capacity-3 =
ramp-capacity-4 =
; 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
; 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 = 3
[module/spotify]
type = custom/script
interval = 1
format-prefix = " "
format = <label>
exec = /usr/bin/polybar-spotify -f '{artist}: {song}'
;control players (optional)
click-left = playerctl --player=spotify play-pause
[module/mullvad-status]
type = custom/script
exec = ~/.config/polybar/scripts/mullvad-status.sh | sed 's/VPN disconnected//g'
interval = 2
format-prefix = " "
[module/vpn-wireguard-wg]
type = custom/script
exec = ~/.config/polybar/scripts/vpn-wireguard-wg.sh
interval = 5
click-left = kitty nmtui
format-prefix = " "
[module/notification-status]
type = custom/script
exec = ~/.config/polybar/scripts/notification-status.sh
interval = 2
format-prefix = " "
[module/player-mpris-simple]
type = custom/script
exec = ~/.config/polybar/scripts/player-mpris-simple.sh
format-prefix = " "
interval = 2
click-left = playerctl play-pause &
; vim:ft=dosini