home/.config/polybar/config

396 lines
10 KiB
INI

#==================================================
#
# INFO: https://github.com/jaagr/polybar
#
#===================================================
#========================================
# RESOURCES
#========================================
[res/colors]
primary = ${xrdb:color12}
secondary = ${xrdb:color4}
alert = ${xrdb:color3}
warning = ${xrdb:color1}
icon-battery = ${xrdb:color10}
icon-cpu = ${xrdb:color12}
icon-date = ${res/colors.primary}
icon-dropbox = ${res/colors.primary}
icon-fs = ${xrdb:color11}
icon-memory = ${xrdb:color13}
icon-spotify = ${xrdb:color2}
icon-tor = ${xrdb:color13}
icon-volume = ${res/colors.primary}
icon-network = ${xrdb:color14}
icon-wm = ${xrdb:color12}
icon-xbacklight = ${res/colors.primary}
background = ${xrdb:background}
background-alt = ${xrdb:color8}
foreground = ${xrdb:color15}
foreground-dark = ${xrdb:color8}
border = #3c3836
bar-empty = ${self.border}
[res/config]
padding = 4
bar-width = ${env:PB_MODULE_BAR_WIDTH:45}
bar-indicator =
bar-fill = |
[res/fonts]
font-0 = "Roboto:style=Regular:size=10;2"
font-1 = "Roboto:style=Bold:size=10;2"
font-2 = "Roboto:style=Light:size=10;2"
font-3 = "Inconsolata:size=10;2"
font-4 = "Material Design Icons:size=11;3"
#========================================
# BARS
#========================================
# TEMPLATE
#====================
[template/bar]
# Rendering of the bar
width = ${env:PB_BAR_WIDTH:1908}
height = 34
offset-x = 6
bottom = true
wm-restack = ${env:PB_WM_RESTACK:bspwm}
# Module padding and spacing
module-margin = 2
padding = 4
# Tray settings
tray-maxsize = 16
# Mild ricing
background = ${res/colors.background}
foreground = ${res/colors.foreground}
border-size = 4
border-bottom-size = 0
border-color = ${res/colors.border}
overline-size = 6
underline-size = 6
# Module fonts
font-0 = ${res/fonts.font-0}
font-1 = ${res/fonts.font-1}
font-2 = ${res/fonts.font-2}
font-3 = ${res/fonts.font-3}
font-4 = ${res/fonts.font-4}
# BARS
#====================
[bar/primary]
monitor = ${env:PB_MONITOR:eDP-1}
inherit = template/bar
tray-detached = true
tray-position = center
modules-left = ${env:PB_BAR_PRIMARY_MODULES_LEFT:battery cpu memory}
modules-center = ${env:PB_BAR_PRIMARY_MODULES_CENTER: }
modules-right = ${env:PB_BAR_PRIMARY_MODULES_RIGHT:xbacklight volume | spotify dropbox date}
[bar/primary-2]
monitor = ${env:PB_MONITOR:eDP-1}
inherit = template/bar
bottom = false
border-bottom-size = 4
border-top-size = 0
modules-left = ${env:PB_BAR_PRIMARY_2_MODULES_LEFT:bspwm}
modules-center = ${env:PB_BAR_PRIMARY_2_MODULES_CENTER:xwindow}
modules-right = ${env:PB_BAR_PRIMARY_2_MODULES_RIGHT:fs-home | tor wlan eth}
[bar/secondary]
width = ${env:PB_BAR_SECONDARY_WIDTH:1908}
monitor = ${env:PB_MONITOR}
inherit = template/bar
modules-left = ${env:PB_BAR_SECONDARY_MODULES_LEFT: }
modules-center = ${env:PB_BAR_SECONDARY_MODULES_CENTER: }
modules-right = ${env:PB_BAR_SECONDARY_MODULES_RIGHT:date}
[bar/secondary-2]
width = ${env:PB_BAR_SECONDARY_WIDTH:1908}
monitor = ${env:PB_MONITOR}
inherit = template/bar
bottom = false
border-bottom-size = 4
border-top-size = 0
modules-left = ${env:PB_BAR_SECONDARY_2_MODULES_LEFT:bspwm}
modules-center = ${env:PB_BAR_SECONDARY_2_MODULES_CENTER:xwindow}
modules-right = ${env:PB_BAR_SECONDARY_2_MODULES_RIGHT:uname | hostname}
#========================================
# MODULES
#========================================
# BORDERS and WHITESPACE
#====================
[module/|]
type = custom/text
content = "|"
content-foreground = ${res/colors.background-alt}
[module/||]
type = custom/text
content = " "
content-background = ${res/colors.border}
[module/nothing]
type = custom/text
content = " "
# OTHER
#====================
[module/battery]
type = internal/battery
format-charging = <bar-capacity> <label-charging>
format-charging-prefix = "Battery: "
format-charging-prefix-foreground = ${res/colors.icon-battery}
format-discharging = <bar-capacity> <label-discharging>
format-discharging-prefix = "Battery: "
format-discharging-prefix-foreground = ${res/colors.icon-battery}
format-full = <bar-capacity> <label-full>
format-full-prefix = "Battery: "
format-full-prefix-foreground = ${res/colors.icon-battery}
time-format = %H:%M
full-at = 98
interval = 15
label-charging = %percentage%%+
label-discharging = %percentage%%
label-full = %percentage%%
bar-capacity-width = ${res/config.bar-width}
bar-capacity-fill = ${res/config.bar-fill}
bar-capacity-fill-foreground = ${res/colors.icon-battery}
bar-capacity-empty = ${self.bar-capacity-fill}
bar-capacity-empty-foreground = ${res/colors.bar-empty}
bar-capacity-indicator = ${res/config.bar-indicator}
bar-capacity-indicator-foreground = ${res/colors.background-alt}
[module/bspwm]
type = internal/bspwm
format = <label-state>
enable-scroll = false
pin-workspaces = true
label-focused = %name%
label-focused-padding = ${res/config.padding}
label-focused-foreground = ${res/colors.background}
label-focused-background = ${res/colors.icon-wm}
label-focused-font = 2
label-dimmed-overline = ${res/colors.background}
label-dimmed-underline = ${self.label-dimmed-overline}
label-occupied = ${self.label-focused}
label-occupied-padding = ${res/config.padding}
label-occupied-font = 2
label-urgent = ${self.label-focused}
label-urgent-padding = ${res/config.padding}
label-urgent-foreground = ${res/colors.alert}
label-urgent-font = 2
label-empty = ${self.label-focused}
label-empty-padding = ${res/config.padding}
label-empty-foreground = ${res/colors.background-alt}
label-empty-font = 3
[module/cpu]
type = internal/cpu
format = <bar-load>
format-prefix = "CPU: "
format-prefix-foreground = ${res/colors.icon-cpu}
interval = 1
bar-load-width = ${res/config.bar-width}
bar-load-fill = ${res/config.bar-fill}
bar-load-fill-foreground = ${res/colors.icon-cpu}
bar-load-empty = ${self.bar-load-fill}
bar-load-empty-foreground = ${res/colors.bar-empty}
bar-load-indicator = ${res/config.bar-indicator}
bar-load-indicator-foreground = ${res/colors.background-alt}
[module/date]
type = internal/date
format = <label>
format-prefix =
format-prefix-foreground = ${res/colors.icon-date}
date = %a
time = %I:%M %p
interval = 30
label = %date% %time%
[module/dropbox]
type = custom/script
format-prefix = "Dropbox: "
format-prefix-foreground = ${res/colors.icon-dropbox}
interval = 15
exec = dropbox status
exec-if = which dropbox && [ "`dropbox status`" != "Up to date" ] && wget -q --spider http://www.startpage.com/
[module/eth]
type = internal/network
format-connected = <label-connected>
format-connected-prefix = "Ethernet: "
format-connected-prefix-foreground = ${res/colors.icon-network}
format-disconnected = <label-disconnected>
format-disconnected-prefix = "Ethernet: "
format-disconnected-prefix-foreground = ${res/colors.icon-network}
interface = ${env:PB_MODULE_ETH_INTERFACE:enp0s31f6}
label-connected = %local_ip%
label-disconnected = Disconnected
label-disconnected-foreground = ${res/colors.foreground-dark}
[module/fs-home]
type = internal/fs
format-mounted = <bar-used> <label-mounted>
format-mounted-prefix = "Home: "
format-mounted-prefix-foreground = ${res/colors.icon-fs}
mount-0 = /home
label-mounted = %free% free
bar-used-width = ${res/config.bar-width}
bar-used-fill = ${res/config.bar-fill}
bar-used-fill-foreground = ${res/colors.icon-fs}
bar-used-empty = ${self.bar-used-fill}
bar-used-empty-foreground = ${res/colors.bar-empty}
bar-used-indicator = ${res/config.bar-indicator}
bar-used-indicator-foreground = ${res/colors.background-alt}
[module/hostname]
type = custom/script
format-foreground = ${res/colors.background-alt}
interval = 3600
exec = hostname
[module/memory]
type = internal/memory
format = <bar-used> <label>
format-prefix = "Memory: "
format-prefix-foreground = ${res/colors.icon-memory}
interval = 1
label = %gb_used%
bar-used-width = ${res/config.bar-width}
bar-used-fill = ${res/config.bar-fill}
bar-used-fill-foreground = ${res/colors.icon-memory}
bar-used-empty = ${self.bar-used-fill}
bar-used-empty-foreground = ${res/colors.bar-empty}
bar-used-indicator = ${res/config.bar-indicator}
bar-used-indicator-foreground = ${res/colors.background-alt}
[module/monitor]
type = custom/text
content = ${env:PB_MONITOR:eDP-1}
content-foreground = ${res/colors.background-alt}
[module/spotify]
type = custom/script
format = <label>
format-prefix = "Spotify: "
format-prefix-foreground = ${res/colors.icon-spotify}
interval = 3
exec = python $HOME/.config/polybar/scripts/spotify.py -t 35 -f "{song} by {artist}"
exec-if = pgrep spotify
[module/swap]
type = internal/memory
format = <label>
format-prefix = "Swap: "
format-prefix-foreground = ${res/colors.icon-memory}
interval = 1
label = %gb_swap_used% used
[module/tor]
type = custom/script
format-prefix = "Tor: "
format-prefix-foreground = ${res/colors.icon-tor}
interval = 10
exec = if systemctl is-failed --quiet tor; then echo Failed, see logs for details; elif ! systemctl is-enabled --quiet tor; then echo Disabled; else echo Inactive; fi
exec-if = ! systemctl is-active tor
[module/uname]
type = custom/script
format-foreground = ${res/colors.background-alt}
interval = 3600
exec = uname -sr
[module/volume]
type = internal/volume
format-volume = <bar-volume> <label-volume>
format-volume-prefix = "Volume: "
format-volume-prefix-foreground = ${res/colors.icon-volume}
format-muted = <label-muted>
format-muted-prefix = "Volume: "
format-muted-prefix-foreground = ${res/colors.icon-volume}
label-volume = %percentage%%
label-muted = Muted
label-muted-foreground = ${res/colors.foreground-dark}
bar-volume-width = ${res/config.bar-width}
bar-volume-fill = ${res/config.bar-fill}
bar-volume-fill-foreground = ${res/colors.icon-volume}
bar-volume-empty = ${self.bar-volume-fill}
bar-volume-empty-foreground = ${res/colors.bar-empty}
bar-volume-indicator = ${res/config.bar-indicator}
bar-volume-indicator-foreground = ${res/colors.background-alt}
[module/wlan]
type = internal/network
format-connected = <label-connected>
format-connected-prefix = "WLAN: "
format-connected-prefix-foreground = ${res/colors.icon-network}
format-disconnected = <label-disconnected>
format-disconnected-prefix = "WLAN: "
format-disconnected-prefix-foreground = ${res/colors.icon-network}
interface = ${env:PB_MODULE_WLAN_INTERFACE:wlp1s0}
label-connected = %local_ip%
label-disconnected = Disconnected
label-disconnected-foreground = ${res/colors.foreground-dark}
[module/xbacklight]
type = internal/xbacklight
format = <label>
format-prefix = "Light: "
format-prefix-foreground = ${res/colors.icon-xbacklight}
label = %percentage%%
[module/xwindow]
type = internal/xwindow
format = <label>
label = %title%
label-background = ${res/colors.background}
label-maxlen = 100
label-ellipsis = true
# vim:ft=dosini