summaryrefslogtreecommitdiff
path: root/desktop-x11/.config/polybar
diff options
context:
space:
mode:
Diffstat (limited to 'desktop-x11/.config/polybar')
-rw-r--r--desktop-x11/.config/polybar/base.ini73
-rw-r--r--desktop-x11/.config/polybar/colors.ini35
-rw-r--r--desktop-x11/.config/polybar/config.ini49
-rwxr-xr-xdesktop-x11/.config/polybar/launch.sh45
-rw-r--r--desktop-x11/.config/polybar/modules.ini354
5 files changed, 556 insertions, 0 deletions
diff --git a/desktop-x11/.config/polybar/base.ini b/desktop-x11/.config/polybar/base.ini
new file mode 100644
index 0000000..807104b
--- /dev/null
+++ b/desktop-x11/.config/polybar/base.ini
@@ -0,0 +1,73 @@
+;==========================================================
+;
+; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
+; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
+; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
+; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
+; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
+; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
+;
+;==========================================================
+
+[settings]
+; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
+screenchange-reload = true
+pseudo-transparency = false
+
+; Compositing operators
+; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
+compositing-background = source
+compositing-foreground = over
+compositing-overline = over
+compositing-underline = over
+compositing-border = over
+
+; Define fallback values used by all module formats
+; format-foreground =
+; format-background =
+; format-underline =
+; format-overline =
+; format-spacing =
+; format-padding =
+; format-margin =
+; format-offset =
+
+[global/wm]
+margin-top = 0
+margin-bottom = 0
+
+[bar/base]
+enable-ipc = true
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+font-0 = RobotoMono Nerd Font:style=Medium,Regular:size=8:antialias=true;2
+font-1 = FontAwesome:style=Regular:size=8:antialias=true;1
+font-2 = Symbola:style=Regular:size=8:antialias=true;1
+font-3 = fixed:pixelsize=0;0
+
+width = 100%
+height = 18
+fixed-center = false
+bottom = false
+
+line-size = 2
+line-color = #f00
+
+border-size = 0
+border-color = #00000000
+
+padding-left = 0
+padding-right = 0
+
+module-margin-left = 0
+module-margin-right = 1
+
+scroll-up = i3wm-wsprev
+scroll-down = i3wm-wsnext
+
+cursor-click = pointer
+cursor-scroll = ns-resize
+
+override-redirect = false
diff --git a/desktop-x11/.config/polybar/colors.ini b/desktop-x11/.config/polybar/colors.ini
new file mode 100644
index 0000000..d768194
--- /dev/null
+++ b/desktop-x11/.config/polybar/colors.ini
@@ -0,0 +1,35 @@
+;==========================================================
+;
+; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
+; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
+; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
+; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
+; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
+; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
+;
+;==========================================================
+
+[colors]
+background = ${xrdb:color0:#cc222222}
+background-alt = #444444
+foreground = ${xrdb:color7:#dfdfdf}
+foreground-alt = #555555
+
+primary = #ffb52a
+secondary = #e60053
+alert = #bd2c40
+
+module-label-foreground = #000000
+module-label-background = #0a6cf5
+module-value-foreground = #000000
+module-value-background = #d0d0d0d0
+
+module-value-intensity-1 = #55aa55
+module-value-intensity-2 = #557755
+module-value-intensity-3 = #f5a70a
+module-value-intensity-4 = #ff5555
+
+module-value-negative-foreground = #7C7772
+module-value-negative-background = #C1BAAD
+
+; vim:ft=dosini
diff --git a/desktop-x11/.config/polybar/config.ini b/desktop-x11/.config/polybar/config.ini
new file mode 100644
index 0000000..82a92fc
--- /dev/null
+++ b/desktop-x11/.config/polybar/config.ini
@@ -0,0 +1,49 @@
+;==========================================================
+;
+; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
+; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
+; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
+; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
+; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
+; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
+;
+;==========================================================
+
+include-file = ./colors.ini
+include-file = ./base.ini
+include-file = ./modules.ini
+
+[bar/primary-monitor]
+inherit = bar/base
+
+monitor = ${env:PRIMARY_MONITOR}
+
+modules-left = ewmh
+modules-center = xwindow
+modules-right = cpu temperature fs-root fs-storage network-iface-1 network-iface-2 vpn calendar
+
+tray-position = right
+tray-padding = 4
+tray-foreground = ${root.foreground}
+tray-background = ${root.background}
+
+[bar/secondary-monitor]
+inherit = bar/base
+
+monitor = ${env:SECONDARY_MONITOR}
+
+bottom = true
+
+modules-left = ewmh
+; modules-center = mpd
+modules-right = battery pulseaudio xkeyboard
+
+[module/network-iface-1]
+inherit = module/network-eth
+interface = ${env:ETHER_IFACE}
+
+[module/network-iface-2]
+inherit = module/network-wifi
+interface = ${env:WIFI_IFACE}
+
+; vim:ft=dosini
diff --git a/desktop-x11/.config/polybar/launch.sh b/desktop-x11/.config/polybar/launch.sh
new file mode 100755
index 0000000..0704e24
--- /dev/null
+++ b/desktop-x11/.config/polybar/launch.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+# Terminate already running bar instances
+killall -q polybar
+
+# Wait until the processes have been shut down
+while pgrep -x polybar >/dev/null; do sleep 1; done
+
+host=$(hostname)
+
+# My monitors:
+# DP-2-2
+# HDMI-2
+# eDP-1
+LAPTOP_BUILT_IN_MONITOR="eDP-1"
+
+NETWORK_INTERFACES=`nmcli -t device | grep -v bridge`
+
+ETHERNET_INTERFACES=`echo "$NETWORK_INTERFACES" | grep ":ethernet:"`
+ETHERNET_COUNT=`echo "$ETHERNET_INTERFACES" | wc -l`
+ETHER_IFACE=
+if [[ "$ETHERNET_COUNT" == "1" ]]; then
+ ETHER_IFACE=`echo "$ETHERNET_INTERFACES" | cut -d ':' -f1`
+else
+ ETHER_IFACE=`echo "$ETHERNET_INTERFACES" | grep ":connected" | cut -d ':' -f1`
+fi
+
+WIFI_INTERFACES=`echo "$NETWORK_INTERFACES" | grep ":wifi:"`
+WIFI_COUNT=`echo "$WIFI_INTERFACES" | wc -l`
+WIFI_IFACE=
+if [[ "$WIFI_COUNT" == "1" ]]; then
+ WIFI_IFACE=`echo "$WIFI_INTERFACES" | cut -d ':' -f1`
+else
+ WIFI_IFACE=`echo "$WIFI_INTERFACES" | grep ":connected" | cut -d ':' -f1`
+fi
+
+# Launch polybar
+CONNECTED_MONITORS=`xrandr -q | grep -w connected | cut -d ' ' -f1`
+MONITORS_COUNT=`echo "$CONNECTED_MONITORS" | wc -l`
+if [[ "$MONITORS_COUNT" == "1" ]]; then
+ PRIMARY_MONITOR="$CONNECTED_MONITORS" ETHER_IFACE="$ETHER_IFACE" WIFI_IFACE="$WIFI_IFACE" polybar primary-monitor &
+else
+ PRIMARY_MONITOR=`echo "$CONNECTED_MONITORS" | grep -v "$LAPTOP_BUILT_IN_MONITOR" | head -n1` ETHER_IFACE="$ETHER_IFACE" WIFI_IFACE="$WIFI_IFACE" polybar primary-monitor &
+ SECONDARY_MONITOR="$LAPTOP_BUILT_IN_MONITOR" polybar secondary-monitor &
+fi
diff --git a/desktop-x11/.config/polybar/modules.ini b/desktop-x11/.config/polybar/modules.ini
new file mode 100644
index 0000000..c3b2d0e
--- /dev/null
+++ b/desktop-x11/.config/polybar/modules.ini
@@ -0,0 +1,354 @@
+;==========================================================
+;
+; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
+; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
+; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
+; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
+; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
+; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
+;
+;==========================================================
+
+; Internal modules ------------------------------------------------------------
+
+[module/date]
+type = internal/date
+interval = 5
+time = %H:%M
+format-prefix-foreground = ${colors.foreground-alt}
+format-underline = #0a6cf5
+
+label = %time%
+
+[module/xwindow]
+type = internal/xwindow
+label = %title:0:30:...%
+
+[module/xkeyboard]
+type = internal/xkeyboard
+blacklist-0 = num lock
+
+format-prefix = " ⌨ "
+format-prefix-foreground = ${colors.module-label-foreground}
+format-prefix-background = #219ebc
+format-foreground = ${colors.module-value-foreground}
+format-background = ${colors.module-value-background}
+
+label-layout = " %layout% "
+
+label-indicator-padding = 2
+label-indicator-margin = 1
+label-indicator-background = ${colors.secondary}
+label-indicator-underline = ${colors.secondary}
+
+click-left = ~/.local/bin/fix-keyboard
+
+[fs-base]
+type = internal/fs
+interval = 25
+
+format-unmounted-prefix = ${self.format-mounted-prefix}
+format-unmounted-prefix-foreground = ${self.format-mounted-prefix-foreground}
+format-unmounted-prefix-background = ${self.format-mounted-prefix-background}
+
+label-mounted = " %percentage_free%% free · %free% "
+label-mounted-foreground = ${colors.module-value-foreground}
+label-mounted-background = ${colors.module-value-background}
+
+label-unmounted = " absent "
+label-unmounted-foreground = ${colors.module-value-negative-foreground}
+label-unmounted-background = ${colors.module-value-negative-background}
+
+[module/fs-root]
+inherit = fs-base
+mount-0 = /
+format-mounted-prefix = "  Root "
+format-mounted-prefix-foreground = #005500
+format-mounted-prefix-background = #b0e000
+
+[module/fs-storage]
+inherit = fs-base
+mount-0 = /home/setanta/storage
+format-mounted-prefix = "  External "
+format-mounted-prefix-foreground = #b7f6b9
+format-mounted-prefix-background = #347D39
+
+[module/ewmh]
+type = internal/xworkspaces
+
+pin-workspaces = true
+enable-click = true
+enable-scroll = true
+reverse-scroll = true
+
+format = <label-state>
+
+; Available tokens:
+; %name%
+; %icon%
+; %index%
+; Default: %icon% %name%
+label-active = %name%
+label-active-foreground = ${colors.primary}
+label-active-background = #625233
+
+label-occupied = %name%
+label-occupied-foreground = ${colors.foreground}
+label-occupied-background = ${colors.background-alt}
+
+label-urgent = %name%
+label-urgent-foreground = #ff3a03
+label-urgent-background = #743021
+
+label-font = 2.5
+
+label-active-padding = 1
+label-urgent-padding = 1
+label-occupied-padding = 1
+label-empty-padding = 1
+
+[module/cpu]
+type = internal/cpu
+interval = 5
+format = "<label> <ramp-coreload> "
+format-prefix = "  CPU "
+format-prefix-foreground = #7b0000
+format-prefix-background = #fe8700
+format-foreground = ${colors.module-value-foreground}
+format-background = ${colors.module-value-background}
+label = " %percentage:2%% "
+ramp-coreload-spacing = 2
+ramp-coreload-0 = "%{O-12}%{F#999}▁"
+ramp-coreload-1 = "%{O-12}%{F#977}▂"
+ramp-coreload-2 = "%{O-12}%{F#955}▃"
+ramp-coreload-3 = "%{O-12}%{F#931}▄"
+ramp-coreload-4 = "%{O-12}%{F#900}▅"
+ramp-coreload-5 = "%{O-12}%{F#B00}▆"
+ramp-coreload-6 = "%{O-12}%{F#D00}▇"
+ramp-coreload-7 = "%{O-12}%{F#F00}█"
+
+[module/memory]
+type = internal/memory
+interval = 5
+format = "<label> <bar-used> "
+format-prefix = " Mem "
+format-prefix-foreground = ${colors.module-label-foreground}
+format-prefix-background = #a1c181
+label = " %percentage_used%% "
+format-foreground = ${colors.module-value-foreground}
+format-background = ${colors.module-value-background}
+
+bar-used-indicator =
+bar-used-width = 8
+bar-used-foreground-0 = ${module-value-intensity-1}
+bar-used-foreground-1 = ${module-value-intensity-2}
+bar-used-foreground-2 = ${module-value-intensity-3}
+bar-used-foreground-3 = ${module-value-intensity-4}
+
+bar-used-fill = ▐
+bar-used-empty = ▐
+bar-used-empty-foreground = #444444
+
+ramp-used-0 = ▁
+ramp-used-1 = ▂
+ramp-used-2 = ▃
+ramp-used-3 = ▄
+ramp-used-4 = ▅
+ramp-used-5 = ▆
+ramp-used-6 = ▇
+ramp-used-7 = █
+
+ramp-free-0 = ▁
+ramp-free-1 = ▂
+ramp-free-2 = ▃
+ramp-free-3 = ▄
+ramp-free-4 = ▅
+ramp-free-5 = ▆
+ramp-free-6 = ▇
+ramp-free-7 = █
+
+[network-base]
+type = internal/network
+unknown-as-up = true
+label-connected = "%{B#E7FFE7}%{F#4E8049} ↓%downspeed:8% %{B#FFE6E8}%{F#80494C} ↑%upspeed:8% %{B- F-}"
+format-connected = <label-connected>
+format-connected-foreground = ${colors.module-value-foreground}
+format-connected-background = ${colors.module-value-background}
+label-disconnected = " offline "
+label-disconnected-foreground = ${colors.module-value-negative-foreground}
+label-disconnected-background = ${colors.module-value-negative-background}
+format-disconnected = <label-disconnected>
+format-disconnected-prefix = ${self.format-connected-prefix}
+format-disconnected-prefix-foreground = ${self.format-connected-prefix-foreground}
+format-disconnected-prefix-background = ${self.format-connected-prefix-background}
+
+[module/network-eth]
+inherit = network-base
+format-connected-prefix = " 🖧 Eth "
+format-connected-prefix-foreground = #71CDFF
+format-connected-prefix-background = #3F76BB
+
+; FIXME: I don't know why, but inheritance is not working for wifi
+[module/network-wifi]
+type = internal/network
+unknown-as-up = ${network-base.unknown-as-up}
+label-connected = ${network-base.label-connected}
+format-connected = ${network-base.format-connected}
+; inherit = network-base
+format-connected-prefix = " 📡 Wifi "
+format-connected-prefix-foreground = #DBA3FF
+format-connected-prefix-background = #8E69CA
+format-connected-foreground = ${network-base.format-connected-foreground}
+format-connected-background = ${network-base.format-connected-background}
+
+label-disconnected = " offline "
+label-disconnected-foreground = ${colors.module-value-negative-foreground}
+label-disconnected-background = ${colors.module-value-negative-background}
+format-disconnected = <label-disconnected>
+format-disconnected-prefix = ${self.format-connected-prefix}
+format-disconnected-prefix-foreground = ${self.format-connected-prefix-foreground}
+format-disconnected-prefix-background = ${self.format-connected-prefix-background}
+
+[module/pulseaudio]
+type = internal/pulseaudio
+
+format-volume = <label-volume> <bar-volume>
+label-volume = " ♫ VOL %percentage%% "
+label-volume-foreground = ${colors.module-label-foreground}
+label-volume-background = #d0a0d0
+label-muted = " ♫ muted "
+label-muted-foreground = #666
+bar-volume-width = 8
+bar-volume-foreground-0 = ${colors.module-value-intensity-1}
+bar-volume-foreground-1 = ${colors.module-value-intensity-1}
+bar-volume-foreground-2 = ${colors.module-value-intensity-2}
+bar-volume-foreground-3 = ${colors.module-value-intensity-2}
+bar-volume-foreground-4 = ${colors.module-value-intensity-3}
+bar-volume-foreground-5 = ${colors.module-value-intensity-3}
+bar-volume-foreground-6 = ${colors.module-value-intensity-4}
+
+bar-volume-gradient = false
+bar-volume-indicator = |
+bar-volume-indicator-font = 3
+bar-volume-fill = ─
+bar-volume-fill-font = 3
+bar-volume-empty = ─
+bar-volume-empty-font = 3
+
+[module/temperature]
+type = internal/temperature
+thermal-zone = 0
+warn-temperature = 60
+
+; format-prefix = " 🌡Temp "
+format-prefix = " Temp "
+format = <label><ramp>
+format-prefix-foreground = #3f4a47
+format-prefix-background = #88b1b1
+format-foreground = ${colors.module-value-foreground}
+format-background = ${colors.module-value-background}
+
+format-warn-prefix = " 🌡Temp "
+format-warn = <label-warn><ramp>
+format-warn-prefix-foreground = ${colors.module-value-foreground}
+format-warn-prefix-background = ${self.format-prefix-background}
+
+label = " %temperature-c% "
+; label-foreground = ${colors.module-label-foreground}
+; label-background = ${colors.module-label-background}
+label-foreground = ${colors.module-value-foreground}
+label-background = ${colors.module-value-background}
+
+label-warn = " %temperature-c% "
+label-warn-foreground = ${colors.module-value-foreground}
+label-warn-background = ${colors.module-value-background}
+
+ramp-0 = " ➊ "
+ramp-1 = " ➋ "
+ramp-2 = " ➌ "
+ramp-background = ${colors.module-value-background}
+ramp-0-foreground = ${colors.module-value-intensity-1}
+ramp-1-foreground = ${colors.module-value-intensity-3}
+ramp-2-foreground = ${colors.module-value-intensity-4}
+
+[module/battery]
+type = internal/battery
+full-at = 99
+low-at = 5
+battery = BAT0
+adapter = ADP1
+poll-interval = 5
+time-format = %H:%M
+format-charging = <animation-charging> <label-charging>
+format-discharging = <ramp-capacity> <label-discharging>
+label-charging = Charging %percentage%%
+label-discharging = Discharging %percentage%%
+label-full = " ⚡ Fully charged "
+label-full-foreground = #1a1a1a
+label-full-background = #ffff00
+label-low = BATTERY LOW
+ramp-capacity-0 = 
+ramp-capacity-1 = 
+ramp-capacity-2 = 
+ramp-capacity-3 = 
+ramp-capacity-4 = 
+bar-capacity-width = 10
+animation-charging-0 = 
+animation-charging-1 = 
+animation-charging-2 = 
+animation-charging-3 = 
+animation-charging-4 = 
+; Framerate in milliseconds
+animation-charging-framerate = 750
+animation-discharging-0 = 
+animation-discharging-1 = 
+animation-discharging-2 = 
+animation-discharging-3 = 
+animation-discharging-4 = 
+; Framerate in milliseconds
+animation-discharging-framerate = 500
+animation-low-0 = !
+animation-low-1 =
+animation-low-framerate = 200
+
+; [module/mpd]
+; type = internal/mpd
+;
+; host = 127.0.0.1
+; port = 6600
+; interval = 2
+; format-online = <label-time> <label-song>
+; label-song = %artist% - %title%
+; label-offline = 🎜 mpd is offline
+
+; Custom modules --------------------------------------------------------------
+
+[module/calendar]
+type = custom/script
+exec = ~/.local/bin/clock
+interval = 5
+tail = true
+format-prefix = " 📆 "
+format-prefix-foreground = #e3e7ce
+format-prefix-background = #076678
+format-foreground = ${colors.module-value-foreground}
+format-background = ${colors.module-value-background}
+click-left = BLOCK_BUTTON=1 ~/.local/bin/clock
+click-middle = BLOCK_BUTTON=2 ~/.local/bin/clock
+click-right = BLOCK_BUTTON=3 ~/.local/bin/clock
+
+[module/vpn]
+type = custom/script
+exec = ~/.local/bin/vpn
+interval = 25
+tail = true
+format-prefix = " ♜ VPN "
+format-prefix-foreground = #BE492A
+format-prefix-background = #f99256
+format-foreground = ${colors.module-value-foreground}
+format-background = ${colors.module-value-background}
+click-left = BLOCK_BUTTON=1 ~/.local/bin/vpn
+click-middle = BLOCK_BUTTON=2 ~/.local/bin/vpn
+click-right = BLOCK_BUTTON=3 ~/.local/bin/vpn
+
+; vim:ft=dosini