summaryrefslogtreecommitdiff
path: root/dotfiles
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles')
-rw-r--r--dotfiles/hyprland/.config/hypr/hyprland.conf9
-rwxr-xr-xdotfiles/hyprland/.local/bin/monitor-dashboard37
2 files changed, 38 insertions, 8 deletions
diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf
index 67604c0..3eae5b6 100644
--- a/dotfiles/hyprland/.config/hypr/hyprland.conf
+++ b/dotfiles/hyprland/.config/hypr/hyprland.conf
@@ -269,9 +269,8 @@ bind = $mod SHIFT, PERIOD, movewindow, mon:+1
# Workspace rules (auto-launch apps when workspace first accessed)
workspace = special:term, on-created-empty:foot --app-id foot-term tmux
workspace = special:audio, on-created-empty:foot --app-id foot-audio pulsemixer
-workspace = special:monitor, on-created-empty:foot --app-id foot-monitor gotop
+workspace = special:monitor, on-created-empty:foot --app-id foot-monitor monitor-dashboard
workspace = special:music, on-created-empty:foot --app-id foot-music ncmpcpp
-workspace = special:htop, on-created-empty:foot --app-id foot-htop htop
workspace = special:network, on-created-empty:foot --app-id foot-network nmtui
workspace = special:effects, on-created-empty:easyeffects
@@ -280,7 +279,6 @@ bind = $mod SHIFT, RETURN, togglespecialworkspace, term
bind = $mod, A, togglespecialworkspace, audio
bind = $mod, M, togglespecialworkspace, monitor
bind = $mod, SLASH, togglespecialworkspace, music
-bind = $mod SHIFT, H, togglespecialworkspace, htop
bind = $mod SHIFT, A, togglespecialworkspace, effects
# Window rules (using app-id/class matching, Hyprland 0.53+ syntax)
@@ -304,11 +302,6 @@ windowrule = match:class ^(foot-music)$, float on
windowrule = match:class ^(foot-music)$, size (monitor_w*0.6) (monitor_h*0.6)
windowrule = match:class ^(foot-music)$, center on
-# Htop
-windowrule = match:class ^(foot-htop)$, float on
-windowrule = match:class ^(foot-htop)$, size (monitor_w*0.6) (monitor_h*0.6)
-windowrule = match:class ^(foot-htop)$, center on
-
# Network manager
windowrule = match:class ^(foot-network)$, float on
windowrule = match:class ^(foot-network)$, size (monitor_w*0.6) (monitor_h*0.6)
diff --git a/dotfiles/hyprland/.local/bin/monitor-dashboard b/dotfiles/hyprland/.local/bin/monitor-dashboard
new file mode 100755
index 0000000..9236d20
--- /dev/null
+++ b/dotfiles/hyprland/.local/bin/monitor-dashboard
@@ -0,0 +1,37 @@
+#!/bin/sh
+# monitor-dashboard - tmux session with system monitoring tools
+# Each tool gets its own window for full screen real estate
+
+SESSION="monitor"
+
+# Check if system has a battery
+has_battery() {
+ [ -d /sys/class/power_supply/BAT0 ] || [ -d /sys/class/power_supply/BAT1 ]
+}
+
+# Attach to existing session or create new one
+if tmux has-session -t "$SESSION" 2>/dev/null; then
+ exec tmux attach-session -t "$SESSION"
+fi
+
+# Create new session with btop in first window
+tmux new-session -d -s "$SESSION" -n btop btop
+
+# Add windows for other monitoring tools (grouped logically)
+# CPU/GPU
+tmux new-window -t "$SESSION" -n s-tui s-tui
+tmux new-window -t "$SESSION" -n nvtop nvtop
+# Disk
+tmux new-window -t "$SESSION" -n duf "watch --color -n 60 duf"
+# Network
+tmux new-window -t "$SESSION" -n bandwhich "sudo bandwhich"
+tmux new-window -t "$SESSION" -n wavemon wavemon
+# Power (laptop only)
+if has_battery; then
+ tmux new-window -t "$SESSION" -n powertop "sudo powertop"
+fi
+
+# Start on btop window
+tmux select-window -t "$SESSION:btop"
+
+exec tmux attach-session -t "$SESSION"