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

[colors]
background = #282A36
background-alt = #BFBFBF
foreground = #F8F8F2
primary = #F8F8F2
secondary = #282A36
alert = #44475A
disabled = #44475A

[bar/main]
monitor = "DP-1-2"
# Last component is the vertical offset
#font-0 = Fira Code:size=10;4
; font-0 = FiraMono Nerd Font:size=12;4
#fc-match FontAwesome:pixelsize=14 FontAwesome.otf: "FontAwesome" "Regular"
; font-3 = FontAwesome:pixelsize=14;0
#font-0 = Overpass Nerd Font,Overpass Nerd Font SemBd:size=10;4
#font-0 = FiraCode:size=10;4
#font-0 = Overpass Nerd Font:size=10;4
#font-1 = Noto Sans:size=10;4

font-0 = fixed:pixelsize=12;1
font-1 = unifont:fontformat=truetype:size=10:antialias=false;0
font-2 = "FiraCode Nerd Font:pixelsize=12;1"
width = 100%
height = 16pt
radius = 0

#dpi = 192

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

line-size = 2pt

border-size = 0pt
border-color = #00000000

padding-left = 0
padding-right = 1

module-margin = 1

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

modules-left = xworkspaces xwindow
modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth battery date
#modules-right = pulseaudio wlan eth battery date

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

enable-ipc = true

tray-position = right

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

; override-redirect = true

[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#F0C674}%mountpoint%%{F-} %percentage_used%%

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

[module/pulseaudio]
type = internal/pulseaudio

format-volume-prefix = "  "
format-volume-prefix-foreground = ${colors.primary}
format-volume = <label-volume>

label-volume = %percentage%%

label-muted = " muted"
label-muted-foreground = ${colors.disabled}

[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 = "RAM "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%

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

[network-base]
type = internal/network
interval = 5
format-connected = <label-connected>
format-disconnected = <label-disconnected>

[module/wlan]
inherit = network-base
interface-type = wireless
format-connected = <ramp-signal> <label-connected>
label-connected = %local_ip%
#label-connected = %{F#F0C674} %{F-} %local_ip%
#label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected 
ramp-signal-0 = %{F#F0C674}󰤯 %{F-}
ramp-signal-1 = %{F#F0C674}󰤟 %{F-}
ramp-signal-2 = %{F#F0C674}󰤢 %{F-}
ramp-signal-3 = %{F#F0C674}󰤥 %{F-}
ramp-signal-4 = %{F#F0C674}󰤨 %{F-}
ramp-signal-5 = %{F#F0C674} %{F-}

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

[module/battery]
type = internal/battery
# $ ls -1 /sys/class/power_supply/
battery = BAT0
adapter = ADP1
low-at = 15

# If an inotify event haven't been reported in this many
# seconds, manually poll for new values.
#
# Needed as a fallback for systems that don't report events
# on sysfs/procfs.
#
# Disable polling by setting the interval to 0.
#
# Default: 5
#poll-interval = 5

# Available tags:
#   <label-charging> (default)
#   <bar-capacity>
#   <ramp-capacity>
#   <animation-charging>
format-charging = <animation-charging> <label-charging>

# Available tags:
#   <label-discharging> (default)
#   <bar-capacity>
#   <ramp-capacity>
#   <animation-discharging>
#format-discharging = <animation-discharging> <label-discharging>
format-discharging = <ramp-capacity> <label-discharging>

# Available tokens:
#   %percentage% (default) - is set to 100 if full-at is reached
#   %percentage_raw%
#   %time%
#   %consumption% (shows current charge rate in watts)
label-charging = %percentage%%
#label-charging = Charging %percentage%%

# Available tokens:
#   %percentage% (default) - is set to 100 if full-at is reached
#   %percentage_raw%
#   %time%
#   %consumption% (shows current discharge rate in watts)
label-discharging = %percentage%%
#label-discharging = Discharging %percentage%%

# Available tokens:
#   %percentage% (default) - is set to 100 if full-at is reached
#   %percentage_raw%
label-full = "%{F#F0C674}󰂅 %{F-}"

# Available tokens:
#   %percentage% (default) - is set to 100 if full-at is reached
#   %percentage_raw%
#   %time%
#   %consumption% (shows current discharge rate in watts)
# New in version 3.6.0
label-low = BATTERY LOW

# Only applies if <ramp-capacity> is used
ramp-capacity-0 = "%{F#F04020} %{F-}"
ramp-capacity-1 = "%{F#F0C674} %{F-}"
ramp-capacity-2 = "%{F#F0C674} %{F-}"
ramp-capacity-3 = "%{F#F0C674} %{F-}"
ramp-capacity-4 = "%{F#F0C674} %{F-}"

# Only applies if <bar-capacity> is used
bar-capacity-width = 10

# Only applies if <animation-charging> is used
animation-charging-0 = "%{F#F0C674}󰢜 %{F-}"
animation-charging-1 = "%{F#F0C674}󰂆 %{F-}"
animation-charging-2 = "%{F#F0C674}󰂈 %{F-}"
animation-charging-3 = "%{F#F0C674}󰂉 %{F-}"
animation-charging-4 = "%{F#F0C674}󰂊 %{F-}"
# Framerate in milliseconds
animation-charging-framerate = 750

# Only applies if <animation-discharging> is used
animation-discharging-0 = " "
animation-discharging-1 = " "
animation-discharging-2 = " "
animation-discharging-3 = " "
animation-discharging-4 = " "
# Framerate in milliseconds
animation-discharging-framerate = 500

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

date = %H:%M
date-alt = %Y-%m-%d %H:%M:%S

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

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

[module/i3]
type = internal/i3

; 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

; Show urgent workspaces regardless of whether the workspace is actually hidden 
; by pin-workspaces.
;
; Default: false
; New in version 3.6.0
show-urgent = true

; This will split the workspace name on ':'
; Default: false
strip-wsnumbers = true

; Sort the workspaces by index instead of the default
; sorting that groups the workspaces by output
; Default: false
index-sort = true

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

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

; Wrap around when reaching the first/last workspace
; Default: true
wrapping-scroll = false

; Set the scroll cycle direction 
; Default: true
reverse-scroll = false

; Use fuzzy (partial) matching for wc-icon.
; Example: code;♚ will apply the icon to all workspaces 
; containing 'code' in the name
; Changed in version 3.7.0: Selects longest string match instead of the first match.
; Default: false
fuzzy-match = true

; vim:ft=dosini
