chezmoi/dot_config/polybar/config
2020-07-13 14:31:48 +02:00

605 lines
16 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 = ${xrdb:color0:#222}
foreground = ${xrdb:color7:#222}
background-alt = ${xrdb:color10:#222}
foreground-alt = ${xrdb:color4:#222}
icon-color = ${xrdb:color4:#FF2}
primary = ${xrdb:color1:#222}
alert = ${xrdb:color10:#222}
secondary = ${xrdb:color10:#222}
; let's get some colors from xrdb (pywal)
col0 = ${xrdb:color0:#222}
col1 = ${xrdb:color1:#222}
col2 = ${xrdb:color2:#222}
col3 = ${xrdb:color3:#222}
col4 = ${xrdb:color4:#222}
col5 = ${xrdb:color5:#222}
col6 = ${xrdb:color6:#222}
col7 = ${xrdb:color7:#222}
col8 = ${xrdb:color8:#222}
col9 = ${xrdb:color9:#222}
col10 = ${xrdb:color10:#222}
col11 = ${xrdb:color11:#222}
col12 = ${xrdb:color12:#222}
col13 = ${xrdb:color13:#222}
gruvbg = ${xrdb:background:#222}
gruvbghard = ${xrdb:backgroundhard:#222}
gruvbgsoft = ${xrdb:backgroundsoft:#222}
gruvfg = ${xrdb:foreground:#222}
; control some of the later elements from here, nice and tidy
underline-cpu = ${xrdb:color2:#222}
underline-memory = ${xrdb:color3:#222}
underline-date = ${xrdb:color4:#222}
underline-battery = ${xrdb:color5:#222}
underline-temperature = ${xrdb:color6:#222}
underline-keyboard = ${xrdb:color7:#222}
underline-i3-focused = ${xrdb:color10:#222}
underline-i3-unfocused = ${xrdb:color8:#222}
[bar/general]
width = 100%
; spaces before/after each module
module-margin-left = 1
module-margin-right = 1
height = 27
fixed-center = true
line-size = 3
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.background}
foreground = ${colors.foreground}
border-color = ${colors.background}
; spaces on begin/end of bar
padding-left = 2
padding-right = 2
; 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
; override pointers
cursor-click = pointer
cursor-scroll = pointer
[bar/example]
inherit = bar/general
monitor = ${env:MONITOR:eDP-1}
;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-arch reboot-check xbacklight top-process
modules-right = net1 wifi0 vpn powermenu
; TRAY MANAGEMENT
;tray-position = right
tray-position = ${env:TRAY_POSITION:none}
;tray-transparent = true
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
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
[module/player-mpris-tail]
type = custom/script
exec = ~/.config/polybar/polybar-scripts/polybar-scripts/player-mpris-tail/player-mpris-tail.py -f '{icon} {artist} - {title}' --icon-playing  --icon-paused  --icon-stopped  --icon-none ﱙ
tail = true
label = %output%
[module/info-hackspeed]
type = custom/script
format-prefix = " "
format-prefix-foreground = ${colors.icon-color}
exec = ~/.config/polybar/polybar-scripts/polybar-scripts/info-hackspeed/info-hackspeed.sh
tail = true
[module/top-process]
type = custom/script
format-prefix = " "
format-prefix-foreground = ${colors.icon-color}
format-underline = ${colors.alert}
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.icon-color}
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.secondary}
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.col1}
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
mount-1 = /mnt/ext4
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 = ${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.alert}
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
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
; using siji icons... see view.sh for codes
; not using siji anymore, check out nerdfonts.com!
;  
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: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 =
; Whenever the 'move' changes... like 'resize', ...
label-mode-padding = 2
label-mode-foreground = ${colors.gruvfg}
;label-mode-background = ${colors.primary}
label-mode-background = ${colors.col4}
label-mode-underline = ${colors.col12}
; focused = Active workspace on focused monitor
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.col2}
label-focused-foreground = ${colors.gruvbghard}
label-focused-underline = ${colors.underline-i3-focused}
label-focused-padding = 2
; unfocused = Inactive workspace on any monitor
;label-unfocused = %index%
label-unfocused = %icon% %name%
label-unfocused-underline = ${colors.underline-i3-unfocused}
;label-unfocused-padding = ${module/bspwm.label-occupied-padding}
label-unfocused-padding = 2
; visible = Active workspace on unfocused monitor
; label-visible = %index%
label-visible = %icon% %name%
;label-visible-background = ${self.label-focused-background}
;label-visible-underline = ${self.label-focused-underline}
;label-visible-padding = ${self.label-focused-padding}
label-visible-background = ${colors.col12}
label-visible-foreground = ${colors.gruvbghard}
label-visible-underline = #FFFFFF
label-visible-padding = 2
; urgent = Workspace with urgency hint set
label-urgent = %icon% %name%
; label-urgent-background = ${module/bspwm.label-urgent-background}
label-urgent-background = ${colors.col1}
label-urgent-foreground = ${colors.col9}
label-urgent-underline = ${colors.col9}
label-urgent-padding = 2
; Separator in between workspaces
; label-separator = |
[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.foreground-alt}
format-underline = ${colors.col6}
format-prefix-foreground = ${colors.underline-cpu}
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.5
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.underline-cpu}
;format-underline = #f90000
format-underline = ${colors.underline-cpu}
label = %percentage-cores%
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.icon-color}
;format-underline = #4bffdc
format-underline = ${colors.underline-memory}
label = %percentage_used%%
[module/updates-arch]
type = custom/script
exec = ~/.config/polybar/polybar-scripts/polybar-scripts/updates-arch/updates-arch.sh
format-prefix = " "
format-prefix-foreground = ${colors.icon-color}
format-underline = ${colors.col13}
interval = 600
label = "%output%"
[module/reboot-check]
type = custom/script
exec = ~/bin/reboot.check
format-underline = ${colors.col1}
format-foreground = ${colors.col1}
interval = 30
label = ""
[module/wifi0]
type = internal/network
interface = wifi0
interval = 3.0
format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
;label-connected = %{A1:networkmanager_dmenu:}%essid%%{A}
;  
label-connected = "%{A1:networkmanager_dmenu:}%essid%%{A} %downspeed:3% %upspeed:3%"
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 =
ramp-signal-1 =
ramp-signal-2 =
ramp-signal-3 =
ramp-signal-4 =
ramp-signal-foreground = ${colors.foreground-alt}
[module/net1]
type = internal/network
interface = net1
interval = 3.0
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.icon-color}
;label-connected = %local_ip%
label-connected = "%downspeed:3% %upspeed:3%"
label-connected-foreground = ${colors.foreground}
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 = " %Y-%m-%d"
date-alt =
time = %H:%M:%S
time-alt = %H:%M
format-prefix = ""
format-prefix-foreground = ${colors.foreground-alt}
;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 = ${root.foreground}
; the muted symbol comes from siji font (check the 'view.sh' script for altcodes)
label-muted =  muted
;label-muted-foreground = #66
label-muted-foreground = ${colors.alert}
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.foreground-alt}
[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.foreground-alt}
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.foreground-alt}
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 98
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.foreground-alt}
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.foreground-alt}
animation-charging-0 =
animation-charging-1 =
animation-charging-2 =
animation-charging-3 =
animation-charging-4 =
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format = <ramp> <label>
;format-underline = #f50a4d
format-underline = ${colors.underline-temperature}
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.secondary}
;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.foreground-alt}
[module/powermenu]
type = custom/menu
expand-right = true
format-spacing = 1
label-open =
label-open-foreground = ${colors.secondary}
label-close = " back"
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 = 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