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

[colors]
; background = #282A2E
background = #000000
background-alt = #373B41
foreground = #C5C8C6
primary = #F0C674
secondary = #8ABEB7
alert = #A54242
disabled = #707880

[bar/default]
width = 100%
height = 24pt
radius = 6

; dpi = 96

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

line-size = 3pt

; border-size = 4pt
border-color = #000000

padding-left = 2
padding-right = 0

module-margin = 1

separator = ""
separator-foreground = ${colors.disabled}

font-0 = monospace;2
; Import Firacode nerd fonts
font-1 = FiraCode Nerd Font Mono:size=15;2
; Add Noto Color Emoji for emoji support
font-2 = Noto Color Emoji:fontformat=truetype:scale=10:antialias=false;2
font-3 = Weather Icons:size=12;1


modules-left = music message
modules-right = filesystem storage memory cpu wlan tailscale eth battery bluetooth date close

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

enable-ipc = true
bottom = false

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

; override-redirect = true

[module/message]
type = custom/ipc

hook-0 = cat /tmp/message
hook-1 = echo "" > /tmp/message

format = <output>
format-padding = 5
format-foreground = #FFFFFF
format-background = #000000
label = %output%
click-left = "#message.hook.1"

[module/music-controls]
type = custom/ipc

hook-0 = echo ""
hook-1 = /home/nathan/scripts/music.sh p
hook-2 = /home/nathan/scripts/music.sh prev
hook-3 = /home/nathan/scripts/music.sh next
initial = 1

format = <label>

label = "%{A1:#music-controls.hook.2:}󰒮%{A} %{A1:#music-controls.hook.1:}󰐎%{A} %{A1:#music-controls.hook.3:}󰒭%{A}"

[module/storage]
type = custom/script
exec = /home/nathan/scripts/storage.sh colour
interval = 120

[module/weather]
type = custom/script
exec = /home/nathan/scripts/weather.sh
interval = 120
label-font = 4

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

mount-0 = /

label-mounted = %{A1:/home/nathan/scripts/zellij.sh --cwd / zsh:}%{F#F0C674}%mountpoint%%{F-} %percentage_used%%%{A}

label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.disabled}
label-warn = %{F#F0C674}%mountpoint%%{F#FF0000} disk full


[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.primary}
label = %{A1:/home/nathan/scripts/zellij.sh htop --sort-key=PERCENT_MEM:}%percentage_used:2%% %{A}


[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.primary}
label = %{A1:/home/nathan/scripts/zellij.sh htop --sort-key=PERCENT_CPU:}%percentage:2%% %{A} |

[network-base]
type = internal/network
interval = 5
format-connected = <label-connected>
format-disconnected = <label-disconnected>
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected

[module/wlan]
inherit = network-base
interface-type = wireless
label-connected = %{F#00FF00}󱚿%{F-} %essid% (%netspeed%)
label-disconnected = %{F#FF0000}󰖪%{F-} %{F#F0C674}%ifname%%{F#707880} disconnected
; %local_ip%  %netspeed%

[module/tailscale]
type = custom/script
exec = /home/nathan/scripts/ts.sh short color
format = <label> | 
click-left = /home/nathan/scripts/ts.sh en toggle
interval = 1

[module/music]
type = custom/script
exec = /home/nathan/scripts/music.sh
interval = 1

[module/battery]
type = internal/battery
low-at = 15
format-charging = <ramp-capacity> <label-charging> %{F#ff60d090}<animation-charging>%{F-}
format-discharging = <ramp-capacity> <label-discharging> <animation-discharging>
format-full = %{F#00FF00}%{F-} <label-full>
format-low = <label-low> <animation-low>

label-charging = %percentage%%
label-discharging = %percentage%%
label-full = %percentage%% 
label-low =  %percentage%%
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 

bar-capacity-width = 10

animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 
animation-charging-framerate = 750

animation-discharging-0 = 
animation-discharging-1 = 
animation-discharging-2 = 
animation-discharging-3 = 
animation-discharging-4 = 
animation-discharging-framerate = 500

animation-low-0 = !
animation-low-1 = " "
animation-low-framerate = 500

[module/eth]
inherit = network-base
interface-type = wired
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%

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

; date = %H:%M
date = %Y-%m-%d %r

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

[module/bluetooth]
type = custom/script
exec = /home/nathan/scripts/bt.sh colour
interval = 5
click-left = /home/nathan/scripts/bt.sh toggle
format = | <label>

[module/close]
type = custom/script
; exec = echo "  "
exec = echo "    "
click-left = /home/nathan/scripts/close_window.sh


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