;==========================================================
;
;
;   ██████╗  ██████╗ ██╗  ██╗   ██╗██████╗  █████╗ ██████╗
;   ██╔══██╗██╔═══██╗██║  ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
;   ██████╔╝██║   ██║██║   ╚████╔╝ ██████╔╝███████║██████╔╝
;   ██╔═══╝ ██║   ██║██║    ╚██╔╝  ██╔══██╗██╔══██║██╔══██╗
;   ██║     ╚██████╔╝███████╗██║   ██████╔╝██║  ██║██║  ██║
;   ╚═╝      ╚═════╝ ╚══════╝╚═╝   ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝
;
;
;   To learn more about how to configure Polybar
;   go to https://github.com/polybar/polybar
;
;   The README contains a lot of information
;
;==========================================================

[colors]
background = #333333
background-alt = #2E2E2E
foreground = #8C8C8C
primary = #93D4C5
secondary = #E0A3B6
alert = #E7A063
disabled = #9DA991

[bar/example]
width = 100%
height = 22pt

; dpi = 96

background = ${colors.background}
foreground = ${colors.foreground}

line-size = 2pt

padding-left = 0
padding-right = 1

module-margin = 1

font-0 = "FiraCode Nerd Font Propo:size=10;2"

modules-left = xworkspaces
modules-center = xwindow
modules-right = cpu memory pulseaudio xkeyboard eth date calendar powermenu

cursor-click = pointer
cursor-scroll = ns-resize

enable-ipc = true

; wm-restack = generic
wm-restack = bspwm
; wm-restack = i3

; override-redirect = true

; This module is not active by default (to enable it, add it to one of the
; modules-* list above).
; Please note that only a single tray can exist at any time. If you launch
; multiple bars with this module, only a single one will show it, the others
; will produce a warning. Which bar gets the module is timing dependent and can
; be quite random.
; For more information, see the documentation page for this module:
; https://polybar.readthedocs.io/en/stable/user/modules/tray.html

[module/systray]
type = internal/tray

format-margin = 8pt
tray-spacing = 16pt

[module/xworkspaces]
type = internal/xworkspaces

label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-padding = 1

label-occupied = %name%
label-occupied-padding = 1

label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1

label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1

[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%

[module/filesystem]
type = internal/fs
interval = 25

mount-0 = /

label-mounted = %{F#89A989}%mountpoint%%{F-} %percentage_used%%

label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.disabled}

[module/pulseaudio]
type = internal/pulseaudio

ramp-volume-foreground = ${colors.primary}

format-volume = <ramp-volume> <label-volume>

label-volume = %percentage%%

label-muted = 󰝟 muted

click-right = ~/.config/rofi/volume/launch.sh

; Only applies if <ramp-volume> is used
ramp-volume-0 = 󰕿
ramp-volume-1 = 󰖀
ramp-volume-2 = 󰕾

[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock

label-layout = %layout%
label-layout-foreground = ${colors.primary}

label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-foreground = ${colors.background}
label-indicator-background = ${colors.secondary}

[module/memory]
type = internal/memory
interval = 2
format-prefix = "  "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%

[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "  "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%

[network-base]
type = internal/network
interval = 5

format-disconnected = <label-disconnected>
label-disconnected = 󰲛  disconnected

[module/wlan]
inherit = network-base
interface-type = wireless

ramp-signal-foreground = ${colors.primary}

format-connected = <ramp-signal>  <label-connected>

label-connected = %essid% %local_ip%

ramp-signal-0 = 󰤭
ramp-signal-1 = 󰤯
ramp-signal-2 = 󰤟
ramp-signal-3 = 󰤢
ramp-signal-4 = 󰤥
ramp-signal-5 = 󰤨

[module/eth]
inherit = network-base
interface-type = wired

format-connected = <label-connected>

format-connected-prefix = "󰛳  "
format-connected-prefix-foreground = ${colors.primary}

label-connected = %local_ip%
label-connected-foreground = ${colors.foreground}

[module/date]
type = internal/date
interval = 1

date = %H:%M

label = %date%
label-foreground = ${colors.primary}

[module/calendar]
type = custom/script
label = %output:0:15:...%
format-prefix = "󱁳  "
format-prefix-foreground = ${colors.primary}
format = <label> 
exec = date "+%d %b %Y"
click-left = ~/.config/polybar/calendar curr
scroll-up = ~/.config/polybar/calendar next
scroll-down = ~/.config/polybar/calendar prev

[settings]
screenchange-reload = true
pseudo-transparency = true

[module/powermenu]
type = custom/text

content = " "
content-foreground = ${colors.primary}

click-left = ~/.config/rofi/power/launch.sh