;==========================================================
;
;
;   ██████╗  ██████╗ ██╗  ██╗   ██╗██████╗  █████╗ ██████╗
;   ██╔══██╗██╔═══██╗██║  ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
;   ██████╔╝██║   ██║██║   ╚████╔╝ ██████╔╝███████║██████╔╝
;   ██╔═══╝ ██║   ██║██║    ╚██╔╝  ██╔══██╗██╔══██║██╔══██╗
;   ██║     ╚██████╔╝███████╗██║   ██████╔╝██║  ██║██║  ██║
;   ╚═╝      ╚═════╝ ╚══════╝╚═╝   ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝
;
;
;   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}
background = #000
background-alt = #222
;foreground = ${xrdb:color7:#222}
foreground = #fff
foreground-alt = #ddd
primary = #ffb52a
secondary = #9f9
alert = #bd2c40

[bar/xmonad]
monitor = ${env:MONITOR:}
width = 100%
height = 24
;offset-x = 1%
;offset-y = 1%
radius = 0.0
fixed-center = false

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

line-size = 3
line-color = #f00

border-size = 0
border-color = #00000000

padding-left = 0
padding-right = 0

module-margin-left = 1
module-margin-right = 2
font-0 = mononoki Nerd Font:pixelsize=10;1
font-1 = JoyPixels:pixelsize=10;1

modules-left = ewmh
;i3
modules-center = 
modules-right = mpd packages pulse battery memory cpu wlan eth filesystem date powermenu
;xbacklight temperature
tray-position = right
tray-padding = 2
;tray-background = #0063ff

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

;override-redirect = true

;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev

;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev

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

[bar/herbstluft]
monitor = ${env:MONITOR:}
width = 100%
height = 20
;offset-x = 1%
;offset-y = 1%
radius = 0.0
fixed-center = false
enable-ipc = true

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

line-size = 3
line-color = #f00

border-size = 0
border-color = #00000000

padding-left = 0
padding-right = 0

module-margin-left = 1
module-margin-right = 2

font-0 = mononoki Nerd Font:pixelsize=10;1
font-1 = JoyPixels:pixelsize=10;1

modules-left = ewmh title
modules-center = 
modules-right = packages mail filesystem pulseaudio xkeyboard mem cpu wlan eth battery date powermenu
;xbacklight temperature
tray-position = right
tray-padding = 2
;tray-background = #0063ff

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

;override-redirect = true

;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev

;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev

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

[bar/bspwm]
monitor = ${env:MONITOR:}
width = 100%
height = 20
;offset-x = 1%
;offset-y = 1%
radius = 0.0
fixed-center = false

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

line-size = 3
line-color = #f00

border-size = 0
border-color = #00000000

padding-left = 0
padding-right = 0

module-margin-left = 1
module-margin-right = 2

font-0 = mononoki Nerd Font:pixelsize=10;1
font-1 = JoyPixels:pixelsize=10;1

modules-left = bspwm
;i3
modules-center = 
modules-right = mail mpd filesystem pulseaudio alsa xkeyboard memory cpu wlan eth battery date powermenu
;xbacklight temperature
tray-position = right
tray-padding = 2
;tray-background = #0063ff

wm-restack = bspwm
;wm-restack = i3

;override-redirect = true

scroll-up = bspwm-desknext
scroll-down = bspwm-deskprev

;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev

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

[module/title]
type = internal/xwindow
label = %title%
label-maxlen = 45

[module/ewmh]
type = internal/xworkspaces

; Only show workspaces defined on the same output as the bar
;
; Useful if you want to show monitor specific workspaces
; on different bars
;
; Default: false
pin-workspaces = false

; Create click handler used to focus desktop
; Default: true
enable-click = true

; Create scroll handlers used to cycle desktops
; Default: true
enable-scroll = false

label-active = %name%
label-active-foreground = #ffffff
label-active-background = #222222
label-active-padding = 2

label-occupied = %name%
label-occupied-foreground = #ffffff
label-occupied-background = #000000
label-occupied-padding = 2

label-urgent = %name%
label-urgent-foreground = #ff0000
label-urgent-background = #000000
label-urgent-padding = 2

label-empty = %name%
label-empty-foreground = #7b7b7b
label-empty-backgorund = #000000
label-empty-padding = 2

[module/packages]
type = custom/ipc
format-underline = #3399bb
hook-0 = pacpackages
initial = 1

[module/herbstluftwm]
type = custom/ipc
hook-0 = herbsttags
initial = 1

[module/mail]
type = custom/script
exec = mail
format-underline = #020
interval = 10

[module/mem]
type = custom/script
exec = free -h | awk '/Mem/ {print $3}'
format-underline = #ff6c6b
interval = 5

[module/workspaces-xmonad]
type = custom/script
exec = tail -F /tmp/.xmonad-workspace-log
exec-if = [ -p /tmp/.xmonad-workspace-log ]
tail = true

[module/title-xmonad]
type = custom/script
exec = tail -F /tmp/.xmonad-title-log
exec-if = [ -p /tmp/.xmonad-title-log ]
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.foreground-alt}
format-prefix-underline = ${colors.secondary}

label-layout = %layout%
label-layout-underline = ${colors.secondary}

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

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

mount-0 = /

label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}

format-underline = #51afef

[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

label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}

; focused = Active workspace on focused monitor
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}

; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = ${module/bspwm.label-occupied-padding}

; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}

; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${module/bspwm.label-urgent-background}
label-urgent-padding = ${module/bspwm.label-urgent-padding}

; 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 = s
icon-play = p
icon-pause = a
icon-next = >

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

[module/xbacklight]
type = internal/xbacklight

format = <label> <bar>
label = BL

bar-width = 10
bar-indicator = |
bar-indicator-foreground = #fff
bar-indicator-font = 2
bar-fill = -
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = -
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}

[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight

[module/cpu]
type = internal/cpu
interval = 2
format-prefix = 
format-prefix-foreground = #ecbe7b
format-underline = #ecbe7b
label = %percentage%%

[module/memory]
type = internal/memory
interval = 2
format-prefix = 
format-prefix-foreground = #ff6c6b
format-underline = #ff6c6b
label = %mb_used%

[module/wlan]
type = internal/network
interface = wlan0
interval = 3.0

format-connected = <ramp-signal> <label-connected>
format-connected-underline = #33bb99
label-connected = %essid%

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 = #33bb99

[module/eth]
type = internal/network
interface = eth0
interval = 3.0

format-connected-underline = #0f9
format-connected-prefix =
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%

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 = "%m-%d-%Y"
date-alt = "%Y-%m-%d"

time = %I:%M %p
time-alt = %H:%M:%S

format-prefix = 
format-prefix-foreground = #46d9ff
format-underline = #46d9ff

label = %date% %time%

[module/pulseaudio]
type = internal/pulseaudio

format-volume = <label-volume> <bar-volume>
label-volume = VOL %percentage%%
label-volume-foreground = ${root.foreground}

label-muted = muted
label-muted-foreground = #b00

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

master-mixer = Master
mapped = true
interval = 5

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

ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 

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 = 99

format-charging = <animation-charging> <label-charging>
format-charging-underline = #fb0

format-discharging = <animation-discharging> <label-discharging>
format-discharging-underline = #f00

format-full-prefix = 
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = #0f0

ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-foreground = ${colors.foreground-alt}

animation-charging-0 = +
animation-charging-1 = +
animation-charging-2 = +
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750

animation-discharging-0 = -
animation-discharging-1 = -
animation-discharging-2 = -
animation-discharging-foreground = ${colors.foreground-alt}
animation-discharging-framerate = 750

[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60

format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}

label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.secondary}

ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}

[module/powermenu]
type = custom/menu

expand-right = true

format-spacing = 2

label-open = + 

label-separator-foreground = ${colors.foreground-alt}

menu-0-0 = r 
menu-0-0-exec = menu-open-1
menu-0-1 = s 
menu-0-1-exec = menu-open-2
menu-0-2 = h 
menu-0-2-exec = menu-open-3

menu-1-0 = c 
menu-1-0-exec = menu-open-0
menu-1-1 = r 
menu-1-1-exec = doas /sbin/reboot

menu-2-0 = s 
menu-2-0-exec = doas /sbin/poweroff
menu-2-1 = c 
menu-2-1-exec = menu-open-0

menu-3-0 = h 
menu-3-0-exec = loginctl hibernate
menu-3-1 = c 
menu-3-1-exec = menu-open-0

[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
;pseudo-transparency = false

[global/wm]
margin-top = 5
margin-bottom = 5

; vim:ft=dosini