
;==========================================================
;
;
;   ██████╗  ██████╗ ██╗  ██╗   ██╗██████╗  █████╗ ██████╗
;   ██╔══██╗██╔═══██╗██║  ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
;   ██████╔╝██║   ██║██║   ╚████╔╝ ██████╔╝███████║██████╔╝
;   ██╔═══╝ ██║   ██║██║    ╚██╔╝  ██╔══██╗██╔══██║██╔══██╗
;   ██║     ╚██████╔╝███████╗██║   ██████╔╝██║  ██║██║  ██║
;   ╚═╝      ╚═════╝ ╚══════╝╚═╝   ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝
;
; ;   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 = #00282828
;background = #222
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #dfdfdf
foreground-alt = #888
primary = #ffb52a
secondary = #e60053
alert = #bd2c40

;; }}}

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

[bar/main]
width = 100%
height = 25
radius = 0.0
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 = 2

font-0 = fixed:pixelsize=10;1
;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-0 = "Iosevka Nerd Font:size=10;1"
;font-1 = "NotoEmoji:scale=10;1"
font-1 = "Symbola:size=10;1"
font-2 = FontAwesome5Free:style=Solid:size=8;0
;font-1 = "FontAwesome:fontformat=truetype:size=12;1"


modules-left = xmonad
modules-center = timerDisplay spotify mpd gitlab-pipeline player-mpv-tail
modules-right =  pulseaudio-control updates-arch network-traffic pulseaudio filesystem memory cpu date

tray-position = right
tray-padding = 2
tray-maxsize = 16
tray-background = ${colors.background}
;tray-background = #0063ff

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

;; }}}

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

; show's currently focussed window, already contained in xmonad module
[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%

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

mount-0 = /
format-mounted = <label-mounted>
;format-mounted-prefix = "disk: "
;format-mounted-prefix-foreground = ${colors.foreground-alt}
format-mounted-prefix = "%{F#0fca42}  %{F-} "
;format-mounted-prefix = "   "
;format-mounted-underline = #0fca42
;label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-mounted = %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}


[module/mpd]
type = internal/mpd
format-online = <label-song>  <icon-prev> <icon-stop> <toggle> <icon-next>

icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 

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


[module/cpu]
type = internal/cpu
interval = 2
;format-prefix = "cpu: "
;format-prefix-foreground = ${colors.foreground-alt}
format-prefix = "%{F#f9a000}  %{F-} "
;format-prefix = "   "
#format-underline = #f9a000
label = %percentage:2%%

[module/memory]
type = internal/memory
interval = 2
;format-prefix = "mem: "
;format-prefix-foreground = ${colors.foreground-alt}
format-prefix = "%{F#0a6cf5}  %{F-} "
;format-prefix = " "
#format-underline = #0a6cf5
label = %percentage_used%%

[module/date]
type = internal/date
interval = 5
date = %a %d-%m-%y
date-alt = %d-%m-%Y
time = %H:%M
time-alt = %H:%M:%S

format-prefix = "%{F#fbff8c}   %{F-}"
;format-prefix = "   "
;format-prefix-foreground = ${colors.foreground-alt}
;#format-underline = #4bffdc
#format-underline = #fbff8c
label = %time% | %date%

[module/xmonad]
type = custom/script
exec = xmonad-log
tail = true


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


;[module/gitlab-pipeline]
;type = custom/script
;exec = ~/scripts/fetch-running-pipelines.sh
;interval = 10

[module/info-pingrtt]
type = custom/script
exec = ~/.config/polybar/polybar-scripts/info-pingrtt.sh
interval = 10


[module/player-mpv-tail]
type = custom/script
exec = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -t 42 -c '#abb2bf'
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"
#format-underline = #1db954


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


[module/pulseaudio-control]
type = custom/script
tail = true
label = %output%

click-right = exec pavucontrol &
exec = bash ~/.config/polybar/polybar-scripts/pulseaudio-control.bash listen
click-left = bash ~/.config/polybar/polybar-scripts/pulseaudio-control.bash togmute
click-middle = 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
label-padding = 2
label-foreground = ${colors.foreground}

