;=====================================================
;     Modules
;=====================================================

;;;;;;;;;;;;;;;;;;;;;;;;
;;  GoRice Config UI  ;;
;;;;;;;;;;;;;;;;;;;;;;;;
[module/config]
type = custom/script
exec = echo ""
interval = 5
label = %output%
label-padding = 2
format = <label>
click-left = gorice dump i3 ~/.gorice/output.yaml.template; config_ui &
click-right = termite "--exec=$HOME/go/bin/gorice edit i3/current" &



;;;;;;;;;;;;;;;;;;;;;;;;
;; Openbox Workspaces ;;
;;;;;;;;;;;;;;;;;;;;;;;;
[module/workspaces]
type = internal/xworkspaces
pin-workspaces = true
enable-click = true
enable-scroll = true
format-padding = 0
icon-0 = 1;
icon-1 = 2;
icon-2 = 3;
icon-3 = 4;
icon-4 = 5;
icon-5 = 6;
icon-6 = 7;
icon-7 = 8;
icon-8 = 9;
icon-9 = 10;
icon-default =
format = <label-state>
label-active = " %icon% %name% "
label-active-foreground = ${colors.blue}
label-active-underline = ${colors.blue}
label-occupied = " %icon% %name% "
label-occupied-underline = ${colors.blue}
label-urgent = " %icon% %name% "
label-urgent-foreground = ${colors.urgent}
label-urgent-underline = ${colors.urgent}
label-empty = " %icon% %name% "
label-empty-foreground = ${colors.foreground}


;;;;;;;;;;;;;;;;;;;
;; i3 Workspaces ;;
;;;;;;;;;;;;;;;;;;;
[module/i3-workspaces]
type = internal/i3
pin-workspaces = true
strip-wsnumbers = true
index-sort = true
enable-click = true
enable-scroll = false
wrapping-scroll = false
reverse-scroll = false
fuzzy-match = true
ws-icon-0 = 1;
ws-icon-1 = 2;
ws-icon-2 = 3;
ws-icon-3 = 4;
ws-icon-4 = 5;
ws-icon-5 = 6;
ws-icon-6 = 7;
ws-icon-7 = 8;
ws-icon-8 = 9;
ws-icon-9 = 10;
ws-icon-default = 
format = <label-state><label-mode>
label-mode = %mode%
label-mode-padding = 2
label-mode-underline = ${colors.urgent}
label-focused = "%name% %icon%"
label-focused-underline = ${colors.blue}
label-focused-padding = 1
label-unfocused = "%name% %icon%"
label-unfocused-padding = 1
label-visible = "%name% %icon%"
label-visible-underline = ${colors.blue}
label-visible-padding = 1
label-urgent = "%name% %icon%"
label-urgent-underline = ${colors.urgent}
label-urgent-padding = 1



;;;;;;;;;;;;;;;;;;;;
;;Bspwm Workspaces;;
;;;;;;;;;;;;;;;;;;;;
[module/bspwm]
type = internal/bspwm
pin-workspaces = true
inline-mode = false
enable-click = true
enable-scroll = false
reverse-scroll = false
fuzzy-match = false
; ws-icon-[0-9]+ = label;icon
; Note that the label needs to correspond with the bspwm workspace name
ws-icon-0 = I;
ws-icon-1 = II;
ws-icon-2 = III;
ws-icon-3 = IV;
ws-icon-4 = V;
ws-icon-5 = VI;
ws-icon-6 = VII;
ws-icon-7 = VIII;
ws-icon-8 = IX;
ws-icon-9 = X;
;ws-icon-default = ♟

format = <label-state> <label-mode>
label-monitor = %name%
label-dimmed-foreground = ${colors.purple}
label-dimmed-underline = ${colors.purple}
label-dimmed-focused-background = ${colors.purple}
label-mode-padding = 1
label-focused = %icon% %name%
label-focused-foreground = ${colors.blue}
label-focused-underline = ${colors.blue}
label-focused-padding = 1
label-occupied = %icon% %name%
label-occupied-underline = ${colors.purple}
label-occupied-padding = 1
label-urgent = %icon% %name%
label-urgent-foreground = ${colors.urgent}
label-urgent-underline = ${colors.urgent}
label-urgent-padding = 1
label-empty = %icon% %name%
label-empty-padding = 1

; The following labels will be used to indicate the layout/mode
; for the focused workspace. Requires <label-mode>
label-monocle = 
label-tiled = 
label-fullscreen = 
label-floating = 
label-pseudotiled = P
label-locked = 
label-locked-foreground = ${colors.yellow}
label-sticky = 
label-sticky-foreground = ${colors.purple}
label-private = 
label-private-foreground = ${colors.urgent}



;;;;;;;;;;;;;
;; Network ;;
;;;;;;;;;;;;;
[module/network]
type = custom/script
exec = $HOME/.config/polybar/scripts/network.sh
click-left = networkmanager_dmenu &
click-right = networkmanager_dmenu &
interval = 1
label-padding = 1
tail = true


;;;;;;;;;;;;;;;;;;;
;; Window Switch ;;
;;;;;;;;;;;;;;;;;;;
[module/window_switch]
type = custom/script
interval = 5
label = "%{A1:skippy-xd:} %{A3:skippy-xd:} %output% %{A} %{A}"
exec = echo ""
format = <label>


;;;;;;;;;
;; CPU ;;
;;;;;;;;;
[module/coreuse]
type = internal/cpu
interval = 1
format = <label><ramp-coreload>
format-padding = 1
label = %{A1:termite --exec=htop & disown:} %percentage%% %{A}
ramp-coreload-0 = %{T1}▂%{T-}
ramp-coreload-0-foreground = ${colors.foreground}
ramp-coreload-1 = %{T1}▃%{T-}
ramp-coreload-1-foreground = ${colors.foreground}
ramp-coreload-2 = %{T1}▄%{T-}
ramp-coreload-2-foreground = ${colors.yellow}
ramp-coreload-3 = %{T1}▅%{T-}
ramp-coreload-3-foreground = ${colors.yellow}
ramp-coreload-4 = %{T1}▆%{T-}
ramp-coreload-4-foreground = ${colors.urgent}
ramp-coreload-5 = %{T1}▇%{T-}
ramp-coreload-5-foreground = ${colors.urgent}

;;;;;;;;;
;; MEM ;;
;;;;;;;;;
[module/memory]
type = internal/memory
interval = 3
format = <label>
label-padding = 1
label = %{A1:termite --exec=htop & disown:} %percentage_used%%%{A}


;;;;;;;;;
;; PKG ;;
;;;;;;;;;
[module/pkg]
type = custom/script
exec = $HOME/.config/polybar/scripts/pkg.sh
exec-if = "ping -q -w 2 -c 1 176.34.135.167 > /dev/null"
label = %{A1:termite --exec=pacli & disown:} %{A3:termite --exec=pacli & disown:}%output%%{A} %{A}
interval = 10
tail = true


;;;;;;;;;;;
;; Clock ;;
;;;;;;;;;;;
[module/clock]
type = internal/date
format = <label>
lebel-padding = 1
interval = 5
time = %R
label = %{A1:gsimplecal & disown:} %{A3:gsimplecal & disown:} %time%%{A} %{A}


;;;;;;;;;;;;;;;;;
;; TEMPERATURE ;;
;;;;;;;;;;;;;;;;;
[module/temperature]
type = internal/temperature
interval = 3
thermal-zone = 0
warn-temperature = 70

format = <ramp><label>
format-padding = 1
label = %{A1:termite --exec='watch sensors' & disown:} %temperature%%{A}

ramp-0 = ""
ramp-0-foreground = ${colors.blue}
ramp-1 = ""
ramp-1-foreground = ${colors.pink}
ramp-2 = ""
ramp-2-foreground = ${colors.purple}
ramp-3 = ""
ramp-3-foreground = ${colors.urgent}

format-warn = <label-warn>
label-warn = " %temperature%"
label-warn-padding = 1
label-warn-foreground = ${colors.urgent}


;;;;;;;;;;;;
;; Volume ;;
;;;;;;;;;;;;
[module/volume]
type = internal/volume
master-mixer = Master
label-volume-foreground = ${colors.foreground}
label-volume = %{A3:pavucontrol & disown:}%percentage%% %{A}
format-volume = <ramp-volume> <label-volume>
format-volume-padding = 1
label-muted = " muted "
label-muted-foreground = #888
ramp-volume-0 = 
ramp-volume-0-foreground = ${colors.foreground}
ramp-volume-1 = 
ramp-volume-1-foreground = ${colors.blue}
ramp-volume-2 = 
ramp-volume-2-foreground = ${colors.orange}
ramp-volume-3 = 
ramp-volume-3-foreground = ${colors.urgent}


;;;;;;;;;;;;;
;; BATTERY ;;
;;;;;;;;;;;;;
[module/battery]
type = internal/battery

; Use $ ls -1 /sys/class/power_supply/
battery = BAT1
adapter = AC
full-at = 98
poll-interval = 5
time-format = %H:%M

format-charging = <animation-charging> <label-charging>
format-discharging = <ramp-capacity> <label-discharging>
format-full = <ramp-capacity> <label-full>

ramp-capacity-0 = 
ramp-capacity-0-foreground = ${colors.urgent}
ramp-capacity-1 = 
ramp-capacity-1-foreground = #ffa900
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
ramp-capacity-foreground = ${colors.blue}

bar-capacity-width = 10
animation-charging-0 = " "
animation-charging-1 = " "
animation-charging-2 = " "
animation-charging-3 = " "
animation-charging-4 = " "
animation-charging-framerate = 750


;;;;;;;;;;
;; MENU ;;
;;;;;;;;;;
[module/menu]
type = custom/menu
format-spacing = 1
label-open = "    "
label-close = "    "
label-close-foreground = ${colors.urgent}
label-separator = " | "
# Top level
menu-0-0 = "  "
menu-0-0-exec = menu-open-1
menu-0-1 = "  "
menu-0-1-exec = menu-open-2
menu-0-2 = "    |"
menu-0-2-exec = menu-open-3
# 1
menu-1-0 = "  "
menu-1-0-exec = menu-open-0
menu-1-0-foreground = ${colors.urgent}
menu-1-1 = "  "
menu-1-1-exec = exo-open --launch WebBrowser
menu-1-2 = "  "
menu-1-2-exec = exo-open --launch TerminalEmulator
menu-1-3 = "    |"
menu-1-3-exec = exo-open --launch FileManager
# 2
menu-2-0 = "  "
menu-2-0-exec = menu-open-0
menu-2-0-foreground = ${colors.urgent}
menu-2-1 = "  "
menu-2-1-exec = termite --exec=pacli &
menu-2-2 = "  "
menu-2-2-exec = xfce4-settings-manager &
menu-2-3 = "    |"
menu-2-3-exec = pavucontrol &
# 3
menu-3-0 = "  "
menu-3-0-exec = menu-open-0
menu-3-0-foreground = ${colors.urgent}
menu-3-1 = "   "
menu-3-1-exec = i3lock-fancy -p -f Ubuntu &
menu-3-2 = "   "
menu-3-2-exec = systemctl reboot
menu-3-3 = "      |"
menu-3-3-exec = systemctl poweroff







;;;;;;;;;;;;;;;;;;;
;; Extra Modules
;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;
;; KEYBOARD ;;
;;;;;;;;;;;;;;;
[module/keyboard]
type = internal/xkeyboard
; List of indicators to ignore
blacklist-0 = num lock
blacklist-1 = scroll lock
format = <label-layout>
format-padding = 1
label-layout = %{A1:mintlocale & disown:} %{A3:mintlocale & disown:} %layout%%{A} %{A}


;;;;;;;;;;;;;;
;; ETHERNET ;;
;;;;;;;;;;;;;;
[module/wired-network]
type = internal/network
interface =
format-connected = <label-connected>
format-connected-foreground = ${colors.purple}
format-disconnected = <label-disconnected>
label-connected =  %local_ip%


;;;;;;;;;;;;;;
;; REDSHIFT ;;
;;;;;;;;;;;;;;
[module/redshift]
type = custom/script
interval = 5
exec = $HOME/.config/polybar/scripts/redshift
label = %output%
tail = true
click-left = $HOME/.config/polybar/scripts/redshift toggle
click-right = $HOME/.config/polybar/scripts/redshift toggle


;;;;;;;;;;;;
;; GITHUB ;;
;;;;;;;;;;;;
[module/github]
type = internal/github
token = ${~/.config/polybar/github_access.token}
empty-notifications = false


;;;;;;;;;;;;;;;;
;; FILESYSTEM ;;
;;;;;;;;;;;;;;;;
[module/filesystem]
type = internal/fs
format-mounted = <label-mounted>
label-mounted = %mountpoint% : %percentage_free%%
label-mounted-foreground = ${colors.yellow}
mount-0 = /
interval = 1200
fixed-values = false
spacing = 2


;;;;;;;;;
;; MPD ;;
;;;;;;;;;
[module/mpd]
type = internal/mpd
format-online = <bar-progress>  <icon-prev> <icon-stop> <toggle> <icon-next>  <label-song>
format-offline = <label-offline>
label-offline = mpd is off
format-online-prefix = " "

icon-play = 
icon-pause = 
icon-stop = 
icon-prev = 
icon-next = 
icon-random = 
icon-repeat = 

toggle-on-foreground =
toggle-off-foreground = #55

bar-progress-width = 35
bar-progress-format = %{+o +u}%fill%%{-o -u}%indicator%%{+o +u}%empty%%{-u -o}
; bar-progress-indicator = |
bar-progress-indicator = █
bar-progress-indicator-foreground = #A85659
bar-progress-indicator-font = 2
; bar-progress-fill = ─
bar-progress-fill = █
bar-progress-fill-foreground = #bb
bar-progress-fill-font = 2
; bar-progress-empty = ─
bar-progress-empty = ▒
bar-progress-empty-font = 2
bar-progress-empty-foreground = #44



;;;;;;;;;;
;; WIFI ;;
;;;;;;;;;;
[module/wireless-network]
type = internal/network
interface =

format-connected = <ramp-signal>  <label-connected>
format-packetloss = <animation-packetloss>
label-connected = " %local_ip% "

ramp-signal-0 = 
ramp-signal-0-foreground = #F03051
ramp-signal-1 = 
ramp-signal-1-foreground = #F07127
ramp-signal-2 = 
ramp-signal-2-foreground = #F9CE56
ramp-signal-3 = 
ramp-signal-3-foreground = ${colors.purple}
ramp-signal-4 = 
ramp-signal-4-foreground = ${colors.purple}
ramp-signal-5 = 
ramp-signal-5-foreground = ${colors.purple}

animation-packetloss-0 = ⚠
animation-packetloss-0-foreground = #ffa64c
animation-packetloss-1 = 📶
animation-packetloss-1-foreground = #000000
animation-packetloss-framerate = 500


;;;;;;;;;;;;;;;;
;; VOLUME BAR ;;
;;;;;;;;;;;;;;;;
[module/volume-bar]
type = internal/volume

format-volume = <label-volume><bar-volume>
label-volume = "  "
label-volume-foreground = #B6C2E7

format-muted-foreground = #E76BB4
label-muted = "   mute"
bar-volume-font = 2
bar-volume-width = 20
bar-volume-foreground-0 = #92A3F7
bar-volume-foreground-1 = #92A3F7
bar-volume-foreground-2 = #6BB3E7
bar-volume-foreground-3 = #6BB3E7
bar-volume-foreground-4 = #6BB3E7
bar-volume-foreground-5 = #6BE7D8
bar-volume-foreground-6 = #6BE7D8
bar-volume-gradient = true
bar-volume-indicator = |
bar-volume-fill = •
bar-volume-empty = ·
bar-volume-empty-foreground = #666666
