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

[glob]
background = ${xrdb: color0}
foreground = ${xrdb: color7} 
alert      = ${xrdb: color9}
underline  = ${xrdb: color2}
primary    = ${xrdb: color7}

red         = ${xrdb: color9}
green       = ${xrdb: color2}
yellow      = ${xrdb: color3}
light-blue  = ${xrdb: color4}
light-pink  = ${xrdb: color5}
light-green = ${xrdb: color6}

padding = 1

[bar/mainbar-i3]
monitor = ${env:MONITOR:}
;monitor = ${env:MONITOR:HDMI-1}
;monitor = ${env:MONITOR:DisplayPort-0}
;monitor = ${env:MONITOR:DisplayPort-1}
width = 100%
height = 28
;override-redirect = true
;offset-x = 25%
;offset-y = 0%
radius = 0.0
fixed-center = true

;background = ${glob.background}
;background = #222133
background = #2b303b
foreground = #ADBAC7
underline = #664477

line-size = 0
;line-color = #f004477
line-color = #9fa8af

border-size = 0
;border-color = #664477
;border-color = #00000000
;border-color = ${glob.background}

padding-left = 0
padding-right = 0

module-margin-left = 0
module-margin-right = 0

font-0 = "UbuntuMono Nerd Font:size=11;0"
font-1 = "FontAwesome:size=10;0"
font-2 = "Noto Sans:size=10;0"
font-3 = "Noto Sans Mono:size=10;0"

modules-left = i3
; modules-center = calendar date 
; modules-right = checkupdate kernel cpu meminfo diskinfo pulseaudio wlan eth0 date
modules-right = checkupdate ikernel icpu imeminfo getvolume currentdate
tray-position = right
tray-margin = 0
;tray-background = #222133 
tray-background = #2b303b 

;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/mainbar-spectrwm]
monitor = ${env:MONITOR}
;monitor-fallback = HDMI1
width = 100%
height = 26
;offset-x = 1%
;offset-y = 1%
radius = 0.0
fixed-center = true
;bottom = false
;separator = |

;background = ${glob.background}
background = #222133
foreground = #ADBAC7
underline = #664477

line-size = 3
line-color = #f004477

;wm-restack = bspwm
override-redirect = true

; Enable support for inter-process messaging
; See the Messaging wiki page for more details.
;enable-ipc = true

border-size = 0
;border-color = #664477
;border-color = #00000000
;border-color = ${glob.background}

padding-left = 0
padding-right = 0

module-margin-left = 1
module-margin-right = 0

;https://github.com/jaagr/polybar/wiki/Fonts
font-0 = "UbuntuMono Nerd Font:size=11;0"
font-1 = "FontAwesome:size=10;0"
font-2 = "Noto Sans:size=10;0"
font-3 = "Noto Sans Mono:size=10;0"

;modules-left = ewmh xwindow
modules-left = ewmh
;modules-center = kernel
;modules-right = pavolume memory2 cpu2 date
; modules-right = kernel cpu meminfo diskinfo pulseaudio date
modules-right = checkupdate ikernelnum icpu imeminfo getvolume currentdate

;tray-detached = false
;tray-offset-x = 0
;tray-offset-y = 0
tray-padding = 0
;tray-maxsize = 20
;tray-scale = 1.0
tray-position = right
;tray-margin = 0
tray-background = #222133 

scroll-up = spectrwm-desknext
scroll-down = spectrwm-deskprev

[module/xwindow]
;https://github.com/jaagr/polybar/wiki/Module:-xwindow
type = internal/xwindow

; Available tokens:
;   %title%
; Default: %title%
label = %title%
label-maxlen = 50

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

[module/ewmh]
type = internal/xworkspaces
pin-workspaces = false
enable-click = true
enable-scroll = true
reverse-scroll = true

#icon-5 = 6;
;format = <label-state>
;label-monitor = %name%

label-active = " %name% "
label-active-foreground = ${colors.foreground}
;label-active-background = ${colors.background}
label-active-background = #42516d
label-active-underline= #dbdbdb
label-active-padding = 0

label-occupied = " %name% "
label-occupied-background = ${colors.background}
label-occupied-padding = 0

label-urgent = " %name% "
label-urgent-foreground = ${colors.foreground}
label-urgent-background = ${colors.alert}
label-urgent-underline = ${colors.alert}
label-urgent-padding = 0

label-empty = " %name% "
label-empty-foreground = ${colors.foreground}
label-empty-padding = 0
format-foreground = ${colors.foreground}
format-background = ${colors.background}

[module/kernel]
format-foreground = #51A6E3
type = custom/script
exec = ~/.config/polybar/scripts/kernel_version.sh
interval = 10

[module/ikernel]
format-foreground = #51A6E3
type = custom/script
exec = ~/.config/polybar/iscripts/kernel_version.sh
interval = 10

[module/ikernelnum]
format-foreground = #51A6E3
type = custom/script
exec = ~/.config/polybar/iscripts/kernel_version_num.sh
interval = 10

[module/cpu]
;type = internal/cpu
format-foreground = #B63CEC
;format = <label>
;label = CPU %percentage%%
; Seconds to sleep between updates
; Default: 1
type = custom/script
exec = ~/.config/polybar/scripts/cpu_info.sh
interval = 0.5

[module/icpu]
;type = internal/cpu
format-foreground = #B63CEC
;format = <label>
;label = CPU %percentage%%
; Seconds to sleep between updates
; Default: 1
type = custom/script
exec = ~/.config/polybar/iscripts/cpu_info.sh
interval = 0.5

[module/checkupdate]
type = custom/script
interval = 1800
exec = ~/.config/polybar/iscripts/checkUpdates.sh
format-foreground = #CADD8A

[module/imeminfo]
type = custom/script
exec = ~/.config/polybar/iscripts/mem_info.sh
format-foreground = #CADD8A

[module/meminfo]
type = custom/script
exec = ~/.config/polybar/scripts/mem_info.sh
format-foreground = #CADD8A

[module/diskinfo]
type = custom/script
exec = ~/.config/polybar/scripts/disk_info.sh
format-foreground = #C14F3F

[module/currentdate]
type = custom/script
interval = 10
exec = ~/.config/polybar/iscripts/current_date.sh
format-foreground = #C14F3F

[module/getvolume]
type = custom/script
interval = 2
exec = ~/.config/polybar/iscripts/get_volume.sh
format-foreground = #DDAA33

[module/i3]
type = internal/i3
;format = <label-state> <label-mode>
;index-sort = true
;wrapping-scroll = false
strip-wsnumbers = true

; Only show workspaces on the same output as the bar
pin-workspaces = true

label-mode-padding = ${glob.padding}
label-mode-foreground = #664477
label-mode-background = ${glob.primary}

; focused = Active workspace on focused monitor
label-focused = " %name% "
label-focused-foreground = ${colors.foreground}
;label-focused-background = ${colors.background}
label-focused-background = #42516d
label-focused-underline = #dbdbdb
label-focused-padding = 0

; unfocused = Inactive workspace on any monitor
label-unfocused = " %name% "
label-unfocused-padding = 0

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

; urgent = Workspace with urgency hint set
label-urgent = " %name% "
label-urgent-foreground = ${glob.red}
label-urgent-padding = 0

; Separator in between workspaces
; label-separator = |

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

format-connected = <label-connected>
;format-connected-underline = ${glob.underline}
label-connected =  "%{A1:networkmanager_dmenu:}直 %essid%%{A}"

;label-connected-background = ${glob.light-blue}
label-connected-foreground = ${glob.light-blue}
label-connected-padding = ${glob.padding}

format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
label-disconnected = 睊  %ifname% disconnected

;label-disconnected-background = ${glob.light-blue}
label-disconnected-foreground = #665C54
label-disconnected-padding = ${glob.padding}

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

format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${glob.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 = ${glob.foreground-alt}

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

date = "%d %b %Y" 
;date-alt = " %Y-%m-%d"

time = %H:%M
;time-alt = %H:%M:%S

;format-prefix = 
;format-prefix-padding = 1
format-padding = ${glob.padding}
format-foreground = #51A6E3

label = %date% %time% 

[module/pulseaudio]
type = internal/pulseaudio

format-volume = <label-volume> 
label-volume =墳 %percentage%%

label-volume-foreground = ${glob.yellow}
;label-volume-background = ${glob.yellow}
label-volume-padding = 2

label-muted = 
label-muted-foreground = #665C54
;label-muted-background = ${glob.yellow}
label-muted-padding = ${glob.padding}

[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 99

# Charging
format-charging = <label-charging>
label-charging =  %percentage%%

format-charging-padding = ${glob.padding}
format-charging-background = ${glob.light-pink}
format-charging-foreground = ${glob.background}

# Discharging
format-discharging = <label-discharging>
label-discharging =  ﮤ%percentage%

format-discharging-padding = ${glob.padding} 
format-discharging-background = ${glob.light-pink}
format-discharging-foreground = ${glob.background}

# Full
format-full = <label-full>
label-full =  Full

format-full-padding = ${glob.padding}
format-full-background = ${glob.light-pink}
format-full-foreground = ${glob.background}

;[module/calendar]
;type = custom/text
;content = 

;content-foreground = ${glob.foreground}
;content-padding = ${glob.padding}
;content-underline = ${glob.underline}

;click-left = gsimplecal 

[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
