chezmoi/dot_config/polybar/config.tmpl
2022-06-23 22:10:10 +02:00

674 lines
18 KiB
INI

;
;=====================================================
;
; To learn more about how to configure Polybar
; go to https://github.com/jaagr/polybar
;
; The README contains alot of information
;
;=====================================================
[colors]
# gruvbox colors
dark0_hard = #1d2021
dark0 = #282828
dark0_soft = #32302f
dark1 = #3c3836
dark2 = #504945
dark3 = #665c54
dark4 = #7c6f64
gray_245 = #928374
gray_244 = #928374
light0_hard = #f9f5d7
light0 = #fbf1c7
light0_soft = #f2e5bc
light1 = #ebdbb2
light2 = #d5c4a1
light3 = #bdae93
light4 = #a89984
bright_red = #fb4934
bright_green = #b8bb26
bright_yellow = #fabd2f
bright_blue = #83a598
bright_purple = #d3869b
bright_aqua = #8ec07c
bright_orange = #fe8019
neutral_red = #cc241d
neutral_green = #98971a
neutral_yellow = #d79921
neutral_blue = #458588
neutral_purple = #b16286
neutral_aqua = #689d6a
neutral_orange = #d65d0e
faded_red = #9d0006
faded_green = #79740e
faded_yellow = #b57614
faded_blue = #076678
faded_purple = #8f3f71
faded_aqua = #427b58
faded_orange = #af3a03
# want to get colors from xrdb / .Xresources?
# background = ${xrdb:color0:#222}
# bar-background = #00FFFFFF
# ARGB
bar-background = #dd1d2021
[bar/general]
width = 100%
; spaces before/after each module
module-margin-left = 1
module-margin-right = 1
height = 27
fixed-center = true
line-size = 2
line-color = #f00
; rounded corners of the bar
radius = 0.0
;this makes sure that i3 doesn't reposition everything when polybar becomes active... is shit
override-redirect = false
wm-restack = i3
; all the bar colors
background = ${colors.bar-background}
foreground = ${colors.light0_hard}
;border-color = ${colors.bright_blue}
border-color = #00FFFFFF
border-left-size = 0
border-right-size = 0
border-top-size = 0
; spaces on begin/end of bar
padding-left = 5
padding-right = 5
; set the bar fonts
;font-0 = fixed:pixelsize=10;1
;font-0 = "Wuncon Siji:pixelsize=15;1"
;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
;font-2 = "Inconsolata\ For\ Powerline:pixelsize=10;1"
;font-0 = FuraCode Nerd Font:pixelsize=11;1
font-0 = Hasklug Nerd Font Mono:pixelsize=11;1
;font-1 = Siji:style=Regular:pixelsize=11
font-1 = Siji:pixelsize=14;0
; override pointers
cursor-click = pointer
cursor-scroll = pointer
; this bar will contain the tray, only on primary monitor
[bar/primary]
inherit = bar/general
monitor = ${env:MONITOR:eDP-1}
bottom = false
;offset-x = 2%
;offset-y = 1%
;i'm faking the left and right margins with a fat border. i'm helpless
;border-size = 20
;border-left-size = 16
;border-right-size = 16
;unused modules - mpd xbacklight backlight-acpi alsa
modules-left = i3
modules-center = temperature battery xkeyboard memory cpu filesystem updates-pacman updates-aurhelper reboot-check xbacklight top-process
modules-right = net wifi0 vpn
; TRAY MANAGEMENT
tray-position = right
;tray-position = ${env:TRAY_POSITION:none}
tray-transparent = false
tray-detached = false
tray-maxsize = 16
;tray-background = ${colors.background-alt}
;this makes sure that the tray doesn't run off to the right of the monitor - only enable this when the bar's width is a bit off
tray-offset-x = 0
tray-offset-y = 27
tray-padding = 2
tray-scale = 1.0
padding-left = 2
padding-right = 2
scroll-up = i3wm-wsnext
scroll-down = i3wm-wsprev
cursor-click = pointer
;cursor-scroll = ns-resize
cursor-scroll = pointer
[bar/secondary]
inherit = bar/general
monitor = ${env:MONITOR:eDP-1}
;offset-x = 2%
;offset-y = 1%
;unused modules - mpd xbacklight backlight-acpi alsa
modules-right = pulseaudio
modules-center = player-mpris-tail
modules-left = date info-hackspeed
padding-left = 2
padding-right = 2
[module/player-mpris-tail]
type = custom/script
exec = ~/.config/polybar/polybar-scripts/player-mpris-tail/player-mpris-tail.py -f '{icon} {artist} - {:t30:{title}:}' --icon-playing  --icon-paused  --icon-stopped  --icon-none ﱙ
tail = true
label = %output%
label-foreground = ${colors.light0_hard}
[module/info-hackspeed]
type = custom/script
format-prefix = " "
format-prefix-foreground = ${colors.bright_green}
exec = ~/.config/polybar/polybar-scripts/info-hackspeed/info-hackspeed.sh
tail = true
[module/obelisk-status]
type = custom/script
exec = ~/scripts/obelisk.status.sh
tail = false
interval = 10
[module/mail-status]
type = custom/script
exec = ~/scripts/mail.status.sh
tail = false
interval = 10
[module/top-process]
type = custom/script
format-prefix = " "
format-prefix-foreground = ${colors.bright_green}
;format-underline = ${colors.bright_red}
interval = 5
exec = ~/.dotfiles/scripts/top.process.sh
tail = true
[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = ${colors.bright_green}
;format-prefix-underline = ${colors.underline-keyboard}
; layout, number, name
label-layout = %layout%
;label-layout-underline = ${colors.underline-keyboard}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.neutral_blue}
;label-indicator-underline = ${colors.underline-keyboard}
cursor-click = pointer
[module/vpn]
type = custom/script
exec = nmcli | grep "VPN connection" | sed -e "s/VPN connection//g"
exec-if = pgrep -x openvpn
interval = 5
;format-underline = #268bd2
format-prefix = " "
format-prefix-foreground = ${colors.light0}
[module/filesystem]
type = internal/fs
interval = 25
; mounts differ depending on the machine
; need to include comments in each of the options: template swallows newlines
{{- if eq .chezmoi.hostname "dome" }}
; mount root
mount-0 = /
{{ else if eq .chezmoi.hostname "carbonraptor" -}}
; mount root
mount-0 = /
; mount ext4 partition for non-btrfs files
mount-1 = /mnt/ext4
{{ else if eq .chezmoi.hostname "jnielandt" -}}
; only root
mount-0 = /
{{- end }}
;label-mounted = %{F#0a81f5}%mountpoint%%{F-} %percentage_used%%
;#b8bb26
label-mounted = %{F#b8bb26}%mountpoint%%{F-} %percentage_used%%
label-mounted-foreground = ${colors.bright_green}
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.faded_green}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = ${colors.background-alt}
;label-focused-underline= ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-urgent = %index%!
label-urgent-background = ${colors.bright_red}
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.bright_green}
label-empty-padding = 2
; Separator in between workspaces
; label-separator = |
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false
; Only show workspaces on the same output as the bar
pin-workspaces = true
; This will split the workspace name on ':'
; Default: false
strip-wsnumbers = true
;bright_red = #fb4934
;bright_green = #b8bb26
;bright_yellow = #fabd2f
;bright_blue = #83a598
;bright_purple = #d3869b
;bright_aqua = #8ec07c
;bright_orange = #fe8019
;ws-icon-1 = 1:1;%{B#b58900}1%{B-}
;ws-icon-0 = 1:1;%{F#db4934}%{F-}
;ws-icon-1 = 2:2;%{F#b8bb26}%{F-}
;ws-icon-2 = 3:3;%{F#fabd2f}%{F-}
;ws-icon-3 = 4:4;%{F#83a598}%{F-}
;ws-icon-4 = 5:5;%{F#d3869b}%{F-}
;ws-icon-4 = 5:5;
;ws-icon-5 = 6:6;
;ws-icon-6 = 7:7;
;ws-icon-7 = 8:8;
;ws-icon-8 = 9:9;﬐
;ws-icon-9 = 10:10;
;ws-icon-10 = 11:;
;ws-icon-11 = 12:;
ws-icon-default =
; mode menu styling
label-mode = %mode%
label-mode-padding = 1
label-mode-foreground = ${colors.light0_hard}
label-mode-background = ${colors.dark2}
;label-mode-underline = ${colors.light2}
; can use: %icon% %name% %index
label-focused = %name%
label-unfocused = ·%name%
label-visible = ·%name%
label-urgent = ·%name%
label-focused-foreground = ${colors.bright_green}
label-unfocused-foreground = ${colors.light0_hard}
label-visible-foreground = ${colors.neutral_green}
label-urgent-foreground = ${colors.bright_orange}
label-focused-padding = 1
label-unfocused-padding = 1
label-visible-padding = 1
label-urgent-padding = 1
;label-focused = %icon% %name%
;label-focused = %index%
;label-focused-background = ${module/bspwm.label-focused-background}
;label-focused-underline = ${module/bspwm.label-focused-underline}
;label-focused-padding = ${module/bspwm.label-focused-padding}
;label-focused-background = ${colors.light1}
;label-focused-underline = ${colors.underline-i3-focused}
; unfocused = Inactive workspace on any monitor
;label-unfocused = %index%
;label-unfocused-underline = ${colors.underline-i3-unfocused}
;label-unfocused-padding = ${module/bspwm.label-occupied-padding}
[module/mpd]
type = internal/mpd
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
icon-prev =
icon-stop =
icon-play =
icon-pause =
icon-next =
label-song-maxlen = 25
label-song-ellipsis = true
[module/xbacklight]
type = internal/xbacklight
format = <label> <bar>
label =
; format-underline = ${colors.bright_green}
;format-underline = ${colors.col6}
format-prefix-foreground = ${colors.bright_green}
bar-width = 10
bar-indicator = |
bar-indicator-foreground = #ff
bar-indicator-font = 2
bar-fill =
bar-fill-font = 2
bar-fill-foreground = ${colors.col6}
bar-empty =
bar-empty-font = 2
bar-empty-foreground = ${colors.col7}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
;card = intel_backlight
card = acpi_video0
[module/cpu]
type = internal/cpu
interval = 2
;format-prefix = " "
;format = <label> <ramp-coreload>
format = <ramp-coreload>
ramp-coreload-spacing = 0.6
ramp-coreload-0 =
ramp-coreload-1 =
ramp-coreload-2 =
ramp-coreload-3 =
ramp-coreload-4 =
ramp-coreload-5 =
ramp-coreload-6 =
ramp-coreload-7 =
format-prefix = " "
format-prefix-foreground = ${colors.bright_green}
;format-underline = #f90000
;format-underline = ${colors.underline-cpu}
label = %percentage-cores%
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.bright_green}
;format-underline = #4bffdc
;format-underline = ${colors.underline-memory}
label = %percentage_used%% %percentage_swap_used%%
; remove this is you don't want a bar
; format = <label> <bar-used>
; bar-used-indicator =
; bar-used-width = 10
; bar-used-foreground-0 = ${colors.bright_green}
; bar-used-foreground-1 = ${colors.neutral_green}
; bar-used-foreground-2 = ${colors.neutral_orange}
; bar-used-foreground-3 = ${colors.bright_orange}
; bar-used-fill = ▐
; bar-used-empty = ▐
; bar-used-empty-foreground = ${colors.dark2}
[module/updates-pacman]
type = custom/script
format-prefix=" "
format-prefix-foreground = ${colors.bright_yellow}
exec = ~/.dotfiles/polybar/polybar-scripts/updates-pacman/updates-pacman.sh
interval = 600
[module/updates-aurhelper]
type = custom/script
format-prefix=" "
format-prefix-foreground = ${colors.bright_yellow}
exec = ~/.dotfiles/polybar/polybar-scripts/updates-aurhelper/updates-aurhelper.sh
interval = 600
[module/reboot-check]
type = custom/script
exec = ~/.dotfiles/scripts/reboot.check
format-underline = ${colors.light0}
format-foreground = ${colors.bright_red}
interval = 30
label = ""
[module/wifi0]
type = internal/network
interval = 3.0
{{- if eq .chezmoi.hostname "dome" }}
interface = wlp3s0
{{- else if eq .chezmoi.hostname "jnielandt" }}
interface = wlp58s0
{{ else }}
interface = wifi0
{{- end }}
format-connected = <ramp-signal> <label-connected>
;format-connected-underline = ${colors.bright_green}
;label-connected = %{A1:networkmanager_dmenu:}%essid%%{A}
;  
label-connected = "%{A1:networkmanager_dmenu:}%essid%%{A} %{F#b8bb26}%{F-} %downspeed:3% %{F#b8bb26}%{F-} %upspeed:3%"
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.bright_green}
; label that differs in signal strength
; these are siji symbols, don't render properly here
ramp-signal-0 = "%{T2}%{T-}"
ramp-signal-1 = "%{T2}%{T-}"
ramp-signal-2 = "%{T2}%{T-}"
ramp-signal-3 = "%{T2}%{T-}"
ramp-signal-4 = "%{T2}%{T-}"
ramp-signal-foreground = ${colors.bright_green}
; Accumulate values from all interfaces
; when querying for up/downspeed rate
; Default: false
accumulate-stats = false
; Consider an `UNKNOWN` interface state as up.
; Some devices like USB network adapters have
; an unknown state, even when they're running
; Default: false
unknown-as-up = false
[module/net]
type = internal/network
{{- if eq .chezmoi.hostname "jnielandt" }}
interface = enp0s31f6
{{ else }}
interface = net0
{{- end }}
interval = 3.0
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.bright_green}
;label-connected = %local_ip%
label-connected = "%downspeed:3% %upspeed:3%"
label-connected-foreground = ${colors.light0_hard}
format-disconnected =
format-disconnected-prefix-foreground = ${colors.bright_green}
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.bright_green}
[module/date]
type = internal/date
interval = 5
date = " %Y-%m-%d"
date-alt =
time = %H:%M:%S
time-alt = %H:%M
format-prefix = ""
format-prefix-foreground = ${colors.bright_green}
label-foreground = ${colors.light0_hard}
;format-underline = #0a6cf5
;format-underline = ${colors.underline-date}
label = "%date% %time%"
[module/pulseaudio]
type = internal/pulseaudio
format-volume = <label-volume> <bar-volume>
label-volume =  %percentage%%
label-volume-foreground = ${colors.bright_green}
; the muted symbol comes from siji font (check the 'view.sh' script for altcodes)
label-muted =
;label-muted-foreground = #66
label-muted-foreground = ${colors.faded_green}
bar-volume-width = 10
bar-volume-foreground-0 = #b8bb26
bar-volume-foreground-1 = #b8bb26
bar-volume-foreground-2 = #b8bb26
bar-volume-foreground-3 = #b8bb26
bar-volume-foreground-4 = #b8bb26
bar-volume-foreground-5 = #fe8019
bar-volume-foreground-6 = #fb4934
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill =
bar-volume-fill-font = 2
;bar-volume-empty = ─
bar-volume-empty =
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.faded_green}
[module/alsa]
type = internal/alsa
format-volume = <label-volume> <bar-volume>
label-volume = VOL
label-volume-foreground = ${root.foreground}
format-muted-prefix = " "
format-muted-foreground = ${colors.bright_green}
label-muted = sound muted
bar-volume-width = 10
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 = 2
bar-volume-fill =
bar-volume-fill-font = 2
bar-volume-empty =
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.bright_green}
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 97
time-format = %H:%M
label-charging =  %time% %percentage%%
format-charging = <animation-charging> <label-charging>
;format-charging-underline = #ffb52a
;format-charging-underline = ${colors.underline-battery}
label-discharging =  %time% %percentage%%
format-discharging = <ramp-capacity> <label-discharging>
;format-discharging-underline = ${self.format-charging-underline}
format-full-prefix = " "
format-full-prefix-foreground = ${colors.bright_green}
;format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 =
ramp-capacity-1 =
ramp-capacity-2 =
ramp-capacity-3 =
ramp-capacity-4 =
ramp-capacity-foreground = ${colors.bright_green}
animation-charging-0 =
animation-charging-1 =
animation-charging-2 =
animation-charging-3 =
animation-charging-4 =
animation-charging-foreground = ${colors.bright_green}
animation-charging-framerate = 750
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format = <ramp> <label>
;format-underline = ${colors.bright_green}
format-warn = <ramp> <label-warn>
;format-warn-underline = ${self.format-underline}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.bright_red}
;found this with following command
; 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
;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon0/temp2_input
;hwmon-path = ${env:HWMON_PATH:/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input}
; different approach: add to .xinitrc a line that sets up an env variable
; > CPU_TEMP_PATH=$(ls /sys/devices/platform/coretemp*/hwmon/hwmon*/temp*_input | grep -m 1 '')
hwmon-path = ${env:CPU_TEMP_PATH:/sys/devices/platform/coretemp.0/hwmon/hwmon5/temp5_input}
;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon3/temp2_input
ramp-0 =
ramp-1 =
ramp-2 =
ramp-foreground = ${colors.bright_green}
[module/powermenu]
type = custom/menu
expand-right = true
format-spacing = 1
label-open =
label-open-foreground = ${colors.bright_green}
label-close = " back"
label-close-foreground = ${colors.bright_green}
label-separator = |
label-separator-foreground = ${colors.bright_green}
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 = systemctl reboot
menu-2-0 = power off
menu-2-0-exec = systemctl poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
[global/wm]
;margin-top = 5
;margin-bottom = 5
; vim:ft=dosini