aboutsummaryrefslogtreecommitdiff
path: root/.config/polybar
diff options
context:
space:
mode:
authorJustine Smithies <justine@smithies.me.uk>2025-10-07 21:04:07 +0100
committerJustine Smithies <justine@smithies.me.uk>2025-10-07 21:04:07 +0100
commitb417b248c874cba7ddf6ded78273df584a81931d (patch)
tree8dd5706b4423703d1ce692b8e5af32ba75598587 /.config/polybar
parent258e1d9f7797b64e8b459b6436f8aaaf72a6f787 (diff)
Initial commit
Diffstat (limited to '.config/polybar')
-rw-r--r--.config/polybar/config-gaps.ini255
-rw-r--r--.config/polybar/config.ini186
-rwxr-xr-x.config/polybar/scripts/calendar.sh26
-rwxr-xr-x.config/polybar/scripts/date-time.sh14
4 files changed, 481 insertions, 0 deletions
diff --git a/.config/polybar/config-gaps.ini b/.config/polybar/config-gaps.ini
new file mode 100644
index 0000000..723eb52
--- /dev/null
+++ b/.config/polybar/config-gaps.ini
@@ -0,0 +1,255 @@
+;==========================================================
+;
+;
+; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
+; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
+; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
+; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
+; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
+; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
+;
+;
+; To learn more about how to configure Polybar
+; go to https://github.com/polybar/polybar
+;
+; The README contains a lot of information
+;
+;==========================================================
+
+[colors]
+background = #282A2E
+background-alt = #373B41
+foreground = #FFFFFF
+primary = #FE8019
+secondary = #8ABEB7
+alert = #A54242
+disabled = #3C3836
+occupied = #98971C
+
+[bar/left]
+font-0 = GoMono Nerd Font Mono:style=Regular:pixelsize=10;0
+
+
+; Offset the bar window in the x and/or y direction.
+; ; Supports any percentage with offset relative to the monitor width (offset-x)
+; ; or height (offset-y)
+offset-x = 09
+offset-y = 9
+
+width = 13.4%
+height = 24px
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+border-size = 3px
+border-color = ${colors.background}
+
+padding-left = 0
+padding-right = 0
+
+module-margin = 0
+
+separator = |
+separator-foreground = ${colors.disabled}
+
+modules-left = xworkspaces
+
+cursor-click = pointer
+cursor-scroll = ns-resize
+
+enable-ipc = true
+
+; wm-restack = generic
+; wm-restack = bspwm
+; wm-restack = i3
+
+; override-redirect = true
+
+[bar/center]
+font-0 = GoMono Nerd Font Mono:style=Regular:pixelsize=10;0
+font-1 = GoMono Nerd Font Mono:style=Regular:pixelsize=16;2
+
+; Offset the bar window in the x and/or y direction.
+; ; Supports any percentage with offset relative to the monitor width (offset-x)
+; ; or height (offset-y)
+offset-x = 42%
+offset-y = 9
+
+fixed-center = true
+
+width = 16.7%
+height = 24px
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+border-size = 3px
+border-color = ${colors.background}
+
+modules-center = date
+
+cursor-click = pointer
+cursor-scroll = ns-resize
+
+enable-ipc = true
+
+[bar/right]
+font-0 = GoMono Nerd Font Mono:style=Regular:pixelsize=10;0
+font-1 = GoMono Nerd Font Mono:style=Regular:pixelsize=16;2
+
+; Offset the bar window in the x and/or y direction.
+; ; Supports any percentage with offset relative to the monitor width (offset-x)
+; ; or height (offset-y)
+offset-x = 89.5%
+offset-y = 9
+
+width = 10%
+height = 24px
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+border-size = 3px
+border-color = ${colors.background}
+
+module-margin = 1
+
+separator = |
+separator-foreground = ${colors.disabled}
+
+modules-right = xkeyboard pulseaudio
+
+cursor-click = pointer
+cursor-scroll = ns-resize
+
+enable-ipc = true
+
+; This module is not active by default (to enable it, add it to one of the
+; modules-* list above).
+; Please note that only a single tray can exist at any time. If you launch
+; multiple bars with this module, only a single one will show it, the others
+; will produce a warning. Which bar gets the module is timing dependent and can
+; be quite random.
+; For more information, see the documentation page for this module:
+; https://polybar.readthedocs.io/en/stable/user/modules/tray.html
+[module/systray]
+type = internal/tray
+
+format-margin = 8pt
+tray-spacing = 16pt
+
+[module/xworkspaces]
+type = internal/xworkspaces
+
+label-active = %name%
+label-active-background = ${colors.primary}
+;label-active-underline = ${colors.primary}
+label-active-padding = 1
+label-active-margin =2px
+
+label-occupied = %name%
+label-occupied-background = ${colors.occupied}
+label-occupied-padding = 1
+label-occupied-margin = 2px
+
+label-urgent = %name%
+label-urgent-background = ${colors.alert}
+label-urgent-padding = 1
+label-urgent-margin = 2px
+
+label-empty = %name%
+label-empty-foreground = ${colors.secondary}
+label-empty-background = ${colors.disabled}
+label-empty-padding = 1
+label-empty-margin = 2px
+
+[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 = "%{B#83a598}%{F#202020}%{T2}  %{B- F-}%{T-} "
+format-volume-prefix-foreground = ${colors.primary}
+format-volume = <label-volume>
+label-volume-foreground = #83A958
+
+label-volume = "%percentage%% "
+
+label-muted = "%{B#fb4934}%{F#202020}%{T2}  %{B- F-}%{T-} %{F#fb4934}Mute %{F-}"
+
+[module/xkeyboard]
+type = internal/xkeyboard
+blacklist-0 = num lock
+format-prefix = "%{B#98971A}%{F#202020}%{T2}  %{B- F-}%{T-} "
+label-layout = %icon%
+layout-icon-0 = us;US
+layout-icon-1 = gb;GB
+label-layout-foreground = #98971A
+
+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>
+label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
+
+[module/wlan]
+inherit = network-base
+interface-type = wireless
+label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
+
+[module/eth]
+inherit = network-base
+interface-type = wired
+label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
+
+[module/date]
+type = custom/script
+format-prefix = "%{B#689D6A}%{F#202020}%{T2}  %{B- F-}%{T-} "
+format-foreground = #689D6A
+exec = ~/.config/polybar/scripts/date-time.sh
+interval = 1
+click-left = ~/.config/polybar/scripts/calendar.sh show
+
+[module/space]
+type = custom/text
+content = " "
+
+[settings]
+screenchange-reload = true
+pseudo-transparency = false
+
+; vim:ft=dosini
diff --git a/.config/polybar/config.ini b/.config/polybar/config.ini
new file mode 100644
index 0000000..afb6591
--- /dev/null
+++ b/.config/polybar/config.ini
@@ -0,0 +1,186 @@
+;==========================================================
+;
+;
+; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
+; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
+; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
+; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
+; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
+; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
+;
+;
+; To learn more about how to configure Polybar
+; go to https://github.com/polybar/polybar
+;
+; The README contains a lot of information
+;
+;==========================================================
+
+[colors]
+background = #282A2E
+background-alt = #373B41
+foreground = #FFFFFF
+primary = #FE8019
+secondary = #8ABEB7
+alert = #A54242
+disabled = #3C3836
+occupied = #98971C
+
+[bar/herbstluftwm]
+font-0 = GoMono Nerd Font Mono:style=Regular:pixelsize=10;2
+font-1 = GoMono Nerd Font Mono:style=Regular:pixelsize=18;3
+
+; Offset the bar window in the x and/or y direction.
+; ; Supports any percentage with offset relative to the monitor width (offset-x)
+; ; or height (offset-y)
+offset-x = 9
+offset-y = 9
+
+fixed-center = true
+
+width = 99.1%
+height = 24px
+
+module-margin = 1
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+border-size = 3px
+border-color = ${colors.background}
+
+modules-left = xworkspaces
+modules-center = date
+modules-right = xkeyboard pulseaudio
+
+cursor-click = pointer
+cursor-scroll = ns-resize
+
+enable-ipc = true
+
+; This module is not active by default (to enable it, add it to one of the
+; modules-* list above).
+; Please note that only a single tray can exist at any time. If you launch
+; multiple bars with this module, only a single one will show it, the others
+; will produce a warning. Which bar gets the module is timing dependent and can
+; be quite random.
+; For more information, see the documentation page for this module:
+; https://polybar.readthedocs.io/en/stable/user/modules/tray.html
+[module/systray]
+type = internal/tray
+
+format-margin = 8pt
+tray-spacing = 16pt
+
+[module/xworkspaces]
+type = internal/xworkspaces
+
+label-active = %name%
+label-active-background = ${colors.primary}
+label-active-padding = 1
+label-active-margin =2px
+
+label-occupied = %name%
+label-occupied-background = ${colors.occupied}
+label-occupied-padding = 1
+label-occupied-margin = 2px
+
+label-urgent = %name%
+label-urgent-background = ${colors.alert}
+label-urgent-padding = 1
+label-urgent-margin = 2px
+
+label-empty = %name%
+label-empty-foreground = ${colors.secondary}
+label-empty-background = ${colors.disabled}
+label-empty-padding = 1
+label-empty-margin = 2px
+
+[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 = "VOL "
+format-volume-prefix-foreground = #FFFFFF
+format-volume = <label-volume>
+label-volume-foreground = #FFFFFF
+label-volume-padding = 1
+label-volume = %percentage%%
+label-muted-padding = 1
+label-muted = "VOL Mute"
+
+[module/xkeyboard]
+type = internal/xkeyboard
+blacklist-0 = num lock
+blacklist-1 = caps lock
+label-layout = %icon%
+layout-icon-0 = us;US
+layout-icon-1 = gb;GB
+label-layout-foreground = #FFFFFF
+label-layout-padding = 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>
+label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
+
+[module/wlan]
+inherit = network-base
+interface-type = wireless
+label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
+
+[module/eth]
+inherit = network-base
+interface-type = wired
+label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
+
+[module/date]
+type = custom/script
+;format-prefix = "%{B#689D6A}%{F#202020}%{T2}  %{B- F-}%{T-}"
+format-foreground = #FFFFFF
+exec = ~/.config/polybar/scripts/date-time.sh
+interval = 1
+click-left = ~/.config/polybar/scripts/calendar.sh show
+label-padding = 1
+
+[module/space]
+type = custom/text
+content = " "
+
+[settings]
+screenchange-reload = true
+pseudo-transparency = false
+
+; vim:ft=dosini
diff --git a/.config/polybar/scripts/calendar.sh b/.config/polybar/scripts/calendar.sh
new file mode 100755
index 0000000..08f84e5
--- /dev/null
+++ b/.config/polybar/scripts/calendar.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# Calendar script
+
+ShowCalendar() {
+ notify-send -a "Calendar" --hint string:x-canonical-private-synchronous:calendar " Calendar" "$(cal | sed "s/\<$(date +%d | sed 's/^0*//')\>/<big><b>$(date +%d | sed 's/^0*//')<\/b><\/big>/")"
+}
+
+EditCalendar() {
+ echo
+}
+
+case "$1" in
+ show)
+ ShowCalendar
+ ;;
+
+ edit)
+ EditCalendar
+ ;;
+
+ *)
+ echo $"Usage: ${0##*/} {show|edit}"
+ exit 1
+
+esac
diff --git a/.config/polybar/scripts/date-time.sh b/.config/polybar/scripts/date-time.sh
new file mode 100755
index 0000000..a84d54c
--- /dev/null
+++ b/.config/polybar/scripts/date-time.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+DaySuffix() {
+ case $day in
+ 1|21|31) echo "st";;
+ 2|22) echo "nd";;
+ 3|23) echo "rd";;
+ *) echo "th";;
+ esac
+}
+
+day=$(date +%d | sed 's/^0*//')
+text=$(date "+%A $day$(DaySuffix) %B %Y - %H:%M")
+
+echo "$text "