Compare commits
6 Commits
addf9fbe83
...
feat/disk-
| Author | SHA1 | Date | |
|---|---|---|---|
| 18dd99d798 | |||
| 7b1998a40d | |||
| 9b4c678fd9 | |||
| 53b376e6e3 | |||
| 6f6b24d3c3 | |||
| 7a0948a43f |
2
Makefile
2
Makefile
@@ -1,5 +1,5 @@
|
|||||||
# Define list of directories you want to stow
|
# Define list of directories you want to stow
|
||||||
CONFIG_DIRS := btop doom hypr kitty nvim rclone starship tmux wallpapers waybar wireplumber wofi yazi zsh
|
CONFIG_DIRS := btop doom hypr kitty local nvim rclone starship tmux wallpapers waybar wireplumber wofi yazi zsh
|
||||||
|
|
||||||
all: stow_all
|
all: stow_all
|
||||||
wal -i ~/.config/wallpapers/green_yellow_forest.jpg -o ~/.config/waybar/launch.sh
|
wal -i ~/.config/wallpapers/green_yellow_forest.jpg -o ~/.config/waybar/launch.sh
|
||||||
|
|||||||
@@ -147,7 +147,8 @@ animations {
|
|||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
dwindle {
|
dwindle {
|
||||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
# Note: pseudotile variable removed in 0.55+. Use `pseudo` dispatcher to toggle per-window.
|
||||||
|
# Bound to $mainMod + P below.
|
||||||
|
|
||||||
# This prevents the layout from collapsing if you close one window
|
# This prevents the layout from collapsing if you close one window
|
||||||
preserve_split = true # You probably want this
|
preserve_split = true # You probably want this
|
||||||
@@ -219,8 +220,8 @@ bind = $mainMod, E, exec, $editor
|
|||||||
bind = $mainMod, V, togglefloating,
|
bind = $mainMod, V, togglefloating,
|
||||||
bind = $mainMod, R, exec, $menu
|
bind = $mainMod, R, exec, $menu
|
||||||
bind = $mainMod, Z, exec, $zen
|
bind = $mainMod, Z, exec, $zen
|
||||||
#bind = $mainMod, P, pseudo, # dwindle
|
# togglesplit removed as standalone dispatcher in 0.55+; use `layoutmsg togglesplit` instead
|
||||||
bind = $mainMod, P, togglesplit, # dwindle
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
bind = $mainMod, N, movecurrentworkspacetomonitor, -1
|
bind = $mainMod, N, movecurrentworkspacetomonitor, -1
|
||||||
bind = $mainMod SHIFT, N, movecurrentworkspacetomonitor, +1
|
bind = $mainMod SHIFT, N, movecurrentworkspacetomonitor, +1
|
||||||
bind = $mainMod, X, swapwindow
|
bind = $mainMod, X, swapwindow
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
"modules-right": [
|
"modules-right": [
|
||||||
"group/hardware",
|
"group/hardware",
|
||||||
|
"custom/disk-monitor",
|
||||||
"pulseaudio",
|
"pulseaudio",
|
||||||
"bluetooth",
|
"bluetooth",
|
||||||
"network",
|
"network",
|
||||||
|
|||||||
@@ -88,6 +88,13 @@
|
|||||||
"path": "/",
|
"path": "/",
|
||||||
"on-click": "kitty btop"
|
"on-click": "kitty btop"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// disk monitor (standalone, color-coded)
|
||||||
|
"custom/disk-monitor": {
|
||||||
|
"exec": "$HOME/.config/waybar/scripts/disk-monitor.sh --waybar",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": 60
|
||||||
|
},
|
||||||
|
|
||||||
// memory
|
// memory
|
||||||
"memory": {
|
"memory": {
|
||||||
|
|||||||
29
waybar/.config/waybar/scripts/disk-monitor.sh
Executable file
29
waybar/.config/waybar/scripts/disk-monitor.sh
Executable file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# disk-monitor.sh -- Waybar disk usage monitor
|
||||||
|
# Outputs JSON for custom/disk-monitor module
|
||||||
|
# Class: "good" (<80%), "warning" (80-90%), "critical" (>90%)
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Target partition (default: root)
|
||||||
|
TARGET="${1:-/}"
|
||||||
|
|
||||||
|
# Get disk usage percentage (strip % sign)
|
||||||
|
USAGE=$(df --output=pcent "$TARGET" | tail -1 | tr -d '% ')
|
||||||
|
|
||||||
|
# Determine icon and CSS class based on usage thresholds
|
||||||
|
if [ "$USAGE" -ge 90 ]; then
|
||||||
|
CLASS="critical"
|
||||||
|
TOOLTIP="Disk $TARGET at ${USAGE}% - CRITICAL"
|
||||||
|
elif [ "$USAGE" -ge 80 ]; then
|
||||||
|
CLASS="warning"
|
||||||
|
TOOLTIP="Disk $TARGET at ${USAGE}% - Warning"
|
||||||
|
else
|
||||||
|
CLASS="good"
|
||||||
|
TOOLTIP="Disk $TARGET at ${USAGE}%"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Output JSON for waybar
|
||||||
|
printf '{"text": " \uf4be %s%% ", "class": "%s", "alt": "%s", "tooltip": "%s"}\n' \
|
||||||
|
"$USAGE" "$CLASS" "disk-$CLASS" "$TOOLTIP"
|
||||||
Reference in New Issue
Block a user