aboutsummaryrefslogtreecommitdiff
path: root/.config/polybar
diff options
context:
space:
mode:
Diffstat (limited to '.config/polybar')
-rw-r--r--.config/polybar/config.ini231
-rwxr-xr-x.config/polybar/scripts/calendar.sh26
-rwxr-xr-x.config/polybar/scripts/date-time.sh14
3 files changed, 271 insertions, 0 deletions
diff --git a/.config/polybar/config.ini b/.config/polybar/config.ini
new file mode 100644
index 0000000..1ccb560
--- /dev/null
+++ b/.config/polybar/config.ini
@@ -0,0 +1,231 @@
+;==========================================================
+;
+;
+; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
+; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
+; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
+; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
+; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
+; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
+;
+;
+; 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
+
+; Use either of the following command to list available outputs:
+; $ polybar -M | cut -d ':' -f 1
+; $ xrandr -q | grep " connected" | cut -d ' ' -f1
+; If no monitor is given, the primary monitor is used if it exists
+monitor = ${env:MONITOR:}
+
+; Use the specified monitor as a fallback if the main one is not found.
+monitor-fallback = eDP-1
+
+; 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 = emwh
+modules-center = date
+modules-right = xkeyboard pulseaudio
+
+cursor-click = pointer
+cursor-scroll = ns-resize
+
+enable-ipc = true
+
+; Restack the bar window and put it above the
+; selected window manager's root
+;
+; Fixes the issue where the bar is being drawn
+; on top of fullscreen window's
+;
+; Currently supported values:
+; generic (Tries the ewmh strategy and falls back
+; to the bottom strategy.
+; This is a best-effort strategy and may change and be tweaked in
+; the future, the individual strategies are available on their own)
+; (New in version 3.6.0)
+; (Changed in version 3.7.0: Tries the ewmh strategy instead of just
+; the bottom strategy)
+; bspwm (Moves the bar window above all bspwm root windows)
+; bottom (Moves the bar window above the first window in the window stack.
+; Works in xmonad, may not work on other WMs
+; New in version 3.7.0)
+; ewmh (Moves the bar above the window specified in _NET_SUPPORTING_WM_CHECK,
+; if it is set
+; New in version 3.7.0)
+; i3 (requires `override-redirect = true`)
+wm-restack = bspwm
+
+; 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/emwh]
+type = internal/xworkspaces
+
+; 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 = true
+
+; Create scroll handlers used to cycle workspaces
+; Default: true
+enable-scroll = false
+
+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 = %variant%
+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 "