#==================================================
#
#  INFO: https://github.com/jaagr/polybar
#
#===================================================

#========================================
# RESOURCES
#========================================
[res/colors]
alert-dark = ${xrdb:color3}
alert = ${xrdb:color11}
alert-hard-dark = ${xrdb:color9}
alert-hard = ${xrdb:color1}

primary-dark = ${xrdb:color4}
primary = ${xrdb:color12}

resource-bad-dark = ${xrdb:color5}
resource-bad = ${xrdb:color13}
resource-good-dark = ${xrdb:color2}
resource-good = ${xrdb:color10}

background = ${xrdb:background}
background-2 = ${xrdb:bg2}
background-3 = ${xrdb:bg3}
background-4 = ${xrdb:bg4}
foreground = ${xrdb:color15}
foreground-2 = ${xrdb:fg2}
foreground-3 = ${xrdb:fg3}
foreground-4 = ${xrdb:fg4}

underline-cpu = ${self.resource-bad-dark}
underline-fs = ${self.resource-bad-dark}
underline-memory = ${self.resource-bad-dark}
underline-temperature = ${self.resource-bad-dark}

underline-battery = ${self.resource-good-dark}

underline-backlight = ${self.primary-dark}
underline-network = ${self.primary-dark}
underline-date = ${self.primary-dark}
underline-volume = ${self.primary-dark}

[res/fonts]
font-0 = "xos4 Terminus:size=9;1"
font-1 = "Material Design Icons:size=12;1"
font-2 = "FontAwesome:size=10;1"
font-3 =
font-4 =

#========================================
# BARS
#========================================

# TEMPLATE
#====================

[template/bar]
# Rendering of the bar
width = 100%
height = 30

# Module padding and spacing
padding = 2
module-margin = 1

overline-size = 2
underline-size = 0
line-color = ${res/colors.background-2}

# Module colors
background = ${res/colors.background}
foreground = ${res/colors.foreground}

# 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/alpha]
inherit = template/bar
monitor = eDP1
bottom = true
tray-position = right

border-top-size = 2
border-top-color = ${res/colors.background-2}

modules-left = i3 bspwm | wlan-network eth-network | mpd
modules-center = xwindow-label
modules-right = temperature-label cpu-label memory-label | xbacklight-ramp volume-ramp battery-ramp | date

[bar/gamma]
inherit = template/bar
monitor = eDP1
bottom = true
tray-position = right

padding = 1

overline-size = 4
border-size = 4
border-color = ${res/colors.background-2}

modules-left = i3 bspwm | 
modules-center = xwindow-label
modules-right = | temperature-label-alert mpd-mini | temperature-label-alert weather-mini wlan-network-mini volume-ramp-mini battery-ramp-mini | date-mini

#========================================
# MODULES
#========================================

# COSMETIC
#====================
[module/|]
type = custom/text
content = " "
content-foreground = ${res/colors.foreground}
content-background = ${res/colors.background-2}

# CUSTOM
#====================

# TEMPLATE
#====================
[template/module]
format-padding = 0

[template/module/battery]
inherit = template/module
type = internal/battery
battery = BAT0
format-charging-underline = ${res/colors.underline-battery}
format-discharging-underline = ${res/colors.underline-battery}
format-full-underline = ${res/colors.underline-battery}
adapter = AC
full-at = 95
interval = 15

[template/module/cpu]
inherit = template/module
type = internal/cpu
format-underline = ${res/colors.underline-cpu}
interval = 1

[template/module/network]
inherit = template/module
type = internal/network
interface = wlp1s0
format-connected = <label-connected>
format-connected-underline = ${res/colors.underline-network}
format-connected-prefix = " "
format-connected-prefix-foreground = ${self.format-connected-underline}
format-disconnected = <label-disconnected>
format-disconnected-underline = ${res/colors.underline-network}
format-disconnected-prefix = " "
format-disconnected-prefix-foreground = ${res/colors.alert}

label-connected = %upspeed% %downspeed% - %signal%%
label-disconnected = 

interval = 1

[template/module/temperature]
inherit = template/module
type = internal/temperature
thermal-zone = 0
warn-temperature = 50

# STOCK
#====================
[module/i3]
inherit = template/module
type = internal/i3
format = <label-state> <label-mode>
index-sort = true

label-mode-padding = 2
label-mode-foreground = ${res/colors.background}
label-mode-background = ${res/colors.primary}

# Active workspace on focused monitor
label-focused = %name%
label-focused-padding = ${self.label-mode-padding}
label-focused-foreground = ${res/colors.background}
label-focused-background = ${res/colors.primary}

# Active workspace on unfocused monitor
label-visible = ${self.label-focused}
label-visible-padding = ${self.label-focused-padding}
label-visible-foreground = ${self.label-focused-foreground}
label-visible-background = ${res/colors.primary-dark}

# Inactive workspace
label-unfocused = ${self.label-focused}
label-unfocused-padding = ${self.label-focused-padding}

# Urgent workspace
label-urgent = ${self.label-focused}
label-urgent-padding = ${self.label-focused-padding}
label-urgent-foreground = ${self.label-focused-foreground}
label-urgent-background = ${res/colors.alert}

[module/bspwm]
inherit = template/module
type = internal/bspwm
enable-click = true
enable-scroll = true
format = <label-state> <label-mode>
pin-workspaces = true

ws-icon-0 = I;
ws-icon-1 = II;
ws-icon-2 = III;
ws-icon-8 = IX;
ws-icon-9 = X;
ws-icon-default = 

# Active workspace on focused monitor
label-focused = %icon%
label-focused-padding = 2
label-focused-foreground = ${res/colors.primary}
label-focused-overline = ${res/colors.primary}

# Inactive filled workspace on focused monitor
label-occupied = ${self.label-focused}
label-occupied-padding = ${self.label-focused-padding}
label-occupied-foreground = ${res/colors.primary}

# Inactive empty workspace on focused monitor
label-empty = ${self.label-focused}
label-empty-padding = ${self.label-focused-padding}
label-empty-foreground = ${res/colors.background-4}

# Filled workspace on unfocused monitor
label-dimmed-padding = ${self.label-focused-padding}
label-dimmed-foreground = ${res/colors.primary-dark}
label-dimmed-background = ${res/colors.background-4}

# Urgent workspace on any monitor
label-urgent = ${self.label-focused}
label-urgent-padding = ${self.label-focused-padding}
label-urgent-foreground = ${res/colors.alert}

[module/battery-ramp]
inherit = template/module/battery
format-charging = <ramp-capacity> <label-charging>
format-charging-prefix = 
format-charging-prefix-foreground = ${self.format-charging-underline}
format-discharging = <ramp-capacity> <label-discharging>
format-full = <label-full>
format-full-overline = ${res/colors.resource-good}
format-full-prefix = " "
format-full-prefix-foreground = ${res/colors.resource-good}
time-format = %H:%M

label-charging = %percentage%%
label-charging-padding = 0
label-discharging = %percentage%% (%time%)
label-discharging-padding = 0
label-full = %percentage%%
label-full-padding = 0

ramp-capacity-0= 
ramp-capacity-1= 
ramp-capacity-2= 
ramp-capacity-3= 
ramp-capacity-4= 
ramp-capacity-5= 
ramp-capacity-6= 
ramp-capacity-7= 
ramp-capacity-8= 
ramp-capacity-9= 
ramp-capacity-foreground = ${self.format-discharging-underline}

[module/battery-ramp-mini]
inherit = template/module/battery
format-charging = <ramp-capacity>
format-charging-prefix = 
format-charging-prefix-foreground = ${self.format-charging-underline}
format-discharging = <ramp-capacity>
format-full = <ramp-capacity>
format-full-overline = ${res/colors.resource-good}
format-full-prefix = " "
format-full-prefix-foreground = ${res/colors.resource-good}

ramp-capacity-0= 
ramp-capacity-0-foreground = ${res/colors.alert}
ramp-capacity-1= 
ramp-capacity-1-foreground = ${res/colors.alert}
ramp-capacity-2= 
ramp-capacity-3= 
ramp-capacity-4= 
ramp-capacity-5= 
ramp-capacity-6= 
ramp-capacity-7= 
ramp-capacity-8= 
ramp-capacity-9= 

[module/cpu-label]
inherit = template/module/cpu
format = <label>
format-prefix = " "
format-prefix-foreground = ${self.format-underline}
label = %percentage%%

[module/date]
inherit = template/module
type = internal/date

format-underline = ${res/colors.underline-date}
format-prefix = " "
format-prefix-foreground = ${self.format-underline}

date = %a
time = %I:%M %p
date-alt = %A, %B %d
time-alt = %I:%M %p

label = %date% %time%

interval = 30

[module/date-mini]
inherit = template/module
type = internal/date
format-underline = ${res/colors.underline-date}

time = %I:%M %p
date-alt = "%A, %B %d "
time-alt = %I:%M %p

label= %date%%time%

interval = 60

[module/memory-label]
inherit = template/module
type = internal/memory
format = <label>
format-underline = ${res/colors.underline-memory}
format-prefix = " "
format-prefix-foreground = ${self.format-underline}

label =  %percentage_used%% (%gb_used%)

[module/mpd]
inherit = template/module
type = internal/mpd
format-online = <label-song> <label-time>
format-offline =

icon-next = 
icon-pause = 
icon-play = 
icon-prev = 
icon-random = 
icon-repeat = 
icon-stop = 

toggle-on-foreground = ${res/colors.foreground}
toggle-off-foreground = ${res/colors.background-4}

label-song = %title%
label-song-maxlen = 25
label-song-ellipsis = true

label-time = %elapsed%/%total%

interval = 1

[module/mpd-mini]
inherit = module/mpd
format-online = <label-song>
format-online-prefix = " "
label-song =  %title%

[module/mpd-control]
inherit = module/mpd
format-online = <icon-prev> <toggle> <icon-stop> <icon-next>
label-offline = 

[module/mpd-control-ext]
inherit = module/mpd
format-online = <icon-random> <icon-repeat>
label-offline = 

[module/temperature-label]
inherit = template/module/temperature

format = <label>
format-underline = ${res/colors.underline-temperature}
format-prefix = " "
format-prefix-foreground = ${self.format-underline}
format-warning = <label>
format-warning-overline = ${res/colors.alert}
format-warning-underline = ${res/colors.underline-temperature}
format-warning-prefix = " "
format-warning-prefix-foreground = ${res/colors.alert}

label = %temperature%
label-warn = %temperature%

[module/temperature-label-alert]
inherit = template/module/temperature

format-warning = <label>
format-warning-foreground = ${res/colors.alert}

label = 

label-warn =  %temperature%
label-warn-foreground = ${res/colors.alert}

[module/volume-ramp]
inherit = template/module
type = internal/volume
format-volume = <ramp-volume> <label-volume>
format-volume-underline = ${res/colors.underline-volume}
format-muted = <ramp-volume> <label-muted>
format-muted-foreground = ${res/colors.background-4}
format-muted-underline = ${res/colors.underline-volume}

label-volume = %percentage%%
label-muted = %percentage%%

ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 
ramp-volume-foreground = ${self.format-volume-underline}

[module/volume-ramp-mini]
inherit = template/module
type = internal/volume
format-volume = <ramp-volume>
format-volume-underline = ${res/colors.underline-volume}
format-muted = <ramp-volume>
format-muted-foreground = ${res/colors.background-4}
format-muted-underline = ${res/colors.underline-volume}

ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 

[module/weather-mini]
inherit = template/module
type = custom/script
exec = $HOME/.config/polybar/weather.sh
exec-if = wget -q --spider http://www.startpage.com/
interval = 60

[module/wlan-network]
inherit = template/module/network
format-connected-prefix = " "
format-disconnected-overline = ${res/colors.alert}
label-connected = %essid%
label-disconnected = %ifname%

[module/wlan-network-mini]
inherit = template/module/network
format-connected-prefix = 
format-disconnected-prefix = 
format-disconnected-foreground = ${res/colors.alert}
format-disconnected-oveerline = 
label-connected = 
label-disconnected = 

[module/wlan-speed]
inherit = template/module/network
label-connected =  %upspeed%  %downspeed%

[module/eth-network]
inherit = module/wlan-network
type = internal/network
interface = enp0s31f6
label-connected =  %upspeed%  %downspeed%
label-connected-foreground = ${res/colors.primary-dark}
label-disconnected = 

[module/xbacklight-ramp]
inherit = template/module
type = internal/xbacklight
format = <ramp> <label>
format-underline = ${res/colors.underline-backlight}

label = %percentage%%

ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-3 = 
ramp-4 = 
ramp-5 = 
ramp-6 = 
ramp-foreground = ${self.format-underline}

[module/xbacklight-ramp-mini]
inherit = template/module
type = internal/xbacklight
format = <ramp>
format-underline = ${res/colors.underline-backlight}

ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-3 = 
ramp-4 = 
ramp-5 = 
ramp-6 = 

[module/xkeyboard-label]
inherit = template/module
type = internal/xkeyboard
format = <label-indicator>

label-indicator = %name%
label-indicator-overline = ${res/colors.primary}

[module/xwindow-label]
inherit = template/module
type = internal/xwindow
label = %title%
label-maxlen = 75
label-ellipsis = true

# vim:ft=dosini