aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorawy <awy@awy.one>2025-01-27 00:21:04 +0300
committerawy <awy@awy.one>2025-01-27 00:21:04 +0300
commit003563aa9e81422992871702722e980f61429968 (patch)
treef9288d819a06da252ae3136c6fea30c7fe39de02
parent7dfc3209622b75e5367240702c74e53975abd29a (diff)
update
-rw-r--r--.config/waybar/config13
-rwxr-xr-x.local/bin/statusbar/sb-pacpackages29
-rwxr-xr-x.local/bin/statusbar/sb-popupgrade9
3 files changed, 50 insertions, 1 deletions
diff --git a/.config/waybar/config b/.config/waybar/config
index eeb53e1..8b7793c 100644
--- a/.config/waybar/config
+++ b/.config/waybar/config
@@ -5,7 +5,7 @@
"reload_style_on_change": true,
"modules-left": ["hyprland/workspaces", "hyprland/window"],
"modules-center": [],
- "modules-right": ["custom/memory","custom/doppler","custom/forecast","custom/mailbox","custom/nettraf","custom/microphone","custom/volume","custom/clock","custom/internet","tray"],
+ "modules-right": ["custom/packages", "custom/memory","custom/doppler","custom/forecast","custom/mailbox","custom/nettraf","custom/microphone","custom/volume","custom/clock","custom/internet","tray"],
"hyprland/window": {
"format": "{}",
@@ -20,6 +20,17 @@
"format": "{name}",
},
+ "custom/packages" : {
+ "tooltip": false,
+ "format": "{}",
+ "signal": 8,
+ "exec" : "sb-pacpackages",
+ "on-click": "sb-pacpackages 1",
+ "on-click-right": "sb-pacpackages 3",
+ "on-click-middle": "sb-pacpackages 2",
+ "on-click-backward": "sb-pacpackages 6",
+ },
+
"custom/memory" : {
"tooltip": false,
"format": "{}",
diff --git a/.local/bin/statusbar/sb-pacpackages b/.local/bin/statusbar/sb-pacpackages
new file mode 100755
index 0000000..0e59cab
--- /dev/null
+++ b/.local/bin/statusbar/sb-pacpackages
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+# Displays number of upgradeable packages.
+# For this to work, have a `pacman -Sy` command run in the background as a
+# cronjob every so often as root. This script will then read those packages.
+# When clicked, it will run an upgrade via pacman.
+#
+# Add the following text as a file in /usr/share/libalpm/hooks/statusbar.hook:
+#
+# [Trigger]
+# Operation = Upgrade
+# Type = Package
+# Target = *
+#
+# [Action]
+# Description = Updating statusbar...
+# When = PostTransaction
+# Exec = /usr/bin/pkill -RTMIN+8 dwmblocks # Or i3blocks if using i3.
+
+case $1 in
+ 1) setsid -f "$TERMINAL" -e sb-popupgrade ;;
+ 2) notify-send "$(/usr/bin/pacman -Qu)" ;;
+ 3) notify-send "🎁 Upgrade module" "📦: number of upgradable packages
+- Left click to upgrade packages
+- Middle click to show upgradable packages" ;;
+ 6) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;;
+esac
+
+pacman -Qu | grep -Fcv "[ignored]" | sed "s/^/ /;s/^ 0$//g"
diff --git a/.local/bin/statusbar/sb-popupgrade b/.local/bin/statusbar/sb-popupgrade
new file mode 100755
index 0000000..4416431
--- /dev/null
+++ b/.local/bin/statusbar/sb-popupgrade
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+printf "Beginning upgrade.\\n"
+
+yay -Syu
+pkill -RTMIN+8 "${STATUSBAR:-waybar}"
+
+printf "\\nUpgrade complete.\\nPress <Enter> to exit window.\\n\\n"
+read -r _