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


;; Colors ------------------------------------------- {{{

[colors]
;background = ${xrdb:color0:#222}
;background = #bb282828
;background = #88282828
;background = #88282828
;background = #aa282c34
;background = #00282828
;background = #ff282828
background = #ff282828
;background = #222
background-alt = #444
;foreground = ${xrdb:color7:#222}
;foreground = #fbf1c7
foreground-alt = #ebdbb2
foreground = #ebdbb2
primary = #ffb52a
secondary = #e60053
alert = #bd2c40

;; }}}

;; Bar config ----------------------------------------- {{{

[global/wm]
;margin-bottom = -23
margin-bottom = 0

[bar/main]
monitor = ${env:MONITOR:}

override-redirect = true
;wm-restack = xmonad

;width = 100%:-28
;height = 30
;offset-x = 14
;offset-y = 7

width = 100%
height = 30
offset-x = 0
offset-y = 0

radius = 0

locale = de_DE.UTF-8

enable-ipc = true
padding = 0
;; center centered modules on screen, not between other modules
fixed-center = true

separator = "%{F#aaa}|%{F-}"
separator-padding = 1


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

line-size = 3
line-color = #f00

border-size = 0
border-color = #00000000

padding-left = 0
padding-right = 2

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

;font-0 = fixed:pixelsize=10;2
;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
;font-2 = siji:pixelsize=10;1
;font-7 = NotoEmoji:size=7;
;font-7 = "JetBrainsMono Nerd Font:size=7"
;font-0 = "JetBrainsMono Nerd Font:fontformat=truetype:size=10;2"
;font-1 = "NotoEmoji:scale=10;1"
;font-0 = "JetbrainsMono Bold:size=10;2"
;font-0 = "JetbrainsMono:weight=medium:size=10;2"
;font-0 = "scientifica:size=10;2"
;font-0 = "Terminus (TTF):size=12;2"
font-0 = "cherry:size=12;2"
;font-0 = "cozette:size=10;2"
font-1 = "Symbola:size=8;1"
font-2 = "FontAwesome5Free:style=Solid:size=8;2"
;font-3 = "Iosevka Nerd Font:size=10;2"
font-4 = "Symbola:size=9;2"
;font-1 = "FontAwesome:fontformat=truetype:size=12;1"


modules-left = xmonad
modules-center = timerDisplay spotify gitlab-pipeline player-mpv-tail time polynotifications
modules-right =  pulseaudio-control updates-arch gpuinfo filesystem memory cpu date

tray-position = ${env:TRAY_POSITION:right}
tray-padding = 2
tray-maxsize = 16
tray-background = ${colors.background}

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

;; }}}

;; MODULES ----------------------------------------------- {{{


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

mount-0 = /
format-mounted = <label-mounted>
format-mounted-prefix = "%{F#8ec07c}%{F-} "
label-mounted = %percentage_used%%

[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "%{A1:~/.config/polybar/polybar-scripts/toggle_gpuinfo_window.sh 'top':}%{F#fe8019}%{F-} %{A}"
label = %percentage:2%%
click-left = ""

[module/memory]
type = internal/memory
interval = 2
format-prefix = "%{F#83a598}%{F-} "
label = %percentage_used%%

[module/date]
type = internal/date
interval = 500
date = %a, %d.%m.%Y
label = "%date%"

[module/time]
type = internal/date
interval = 1
time = %H:%M:%S
label = "%time%"

[module/xmonad]
type = custom/script
exec = "~/.config/polybar/polybar-scripts/xmonad-status.sh"
label = " %output%"
tail = true

[module/timerDisplay]
type = custom/script
exec = "[ -f ~/scripts/remainingTime.txt ] && head -n 1 scripts/remainingTime.txt"
interval = 1

[module/player-mpv-tail]
type = custom/script
exec = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -t 42 -c '#8ec07c'
tail = true
click-left   = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -p pause
click-middle = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -p playlist-pos -1
click-right  = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -p playlist-pos +1
scroll-up    = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -p time-pos -10
scroll-down  = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -p time-pos +10


[module/network-traffic]
; configure interval, etc in script
type = custom/script
exec = ~/.config/polybar/polybar-scripts/network-traffic.sh
tail = true

[module/spotify]
type = custom/script
interval = 1
format = "<label> %{A1:dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous:}%{A-} %{A1:dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next:}%{A-}"
exec = python ~/.config/polybar/polybar-scripts/spotify_status.py -f '{artist} - {song} {play_pause}'
click-left = "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause"
exec-if = "pgrep spotify"

[module/updates-arch]
type = custom/script
exec = ~/.config/polybar/polybar-scripts/updates-arch-combined.sh
interval = 600


[module/gpuinfo]
type = custom/script
exec = echo "$(radeontop -l 1 -d - | grep -o -e "gpu[^.]*" | sed "s/gpu //")%" || echo ""
format = "%{F#d3869b}%{T3}%{T-}%{F-} <label>"
click-left = "~/.config/polybar/polybar-scripts/toggle_gpuinfo_window.sh radeontop"
interval = 2

[module/pulseaudio-control]
type = custom/script
tail = true
label-foreground = ${colors.foreground}

click-right  = exec pavucontrol &
exec         = bash ~/.config/polybar/polybar-scripts/pulseaudio-control.bash listen
;click-middle = bash ~/.config/polybar/polybar-scripts/pulseaudio-control.bash togmute
click-middle = exec myxer &
click-left   = bash ~/.config/polybar/polybar-scripts/pulseaudio-control.bash next-sink
scroll-up    = bash ~/.config/polybar/polybar-scripts/pulseaudio-control.bash up
scroll-down  = bash ~/.config/polybar/polybar-scripts/pulseaudio-control.bash down
