Commit 35d899d

Ansari <ping@ansari.wtf>
2025-12-26 04:39:00
Refactor code structure for improved readability and maintainability
1 parent afb8d89
Changed files (5)
.config
.local
share
.wraith
.config/hypr/modules/vars.conf
@@ -8,5 +8,6 @@ $emojiMenu = rofimoji -a type copy type-numerical
 env = LIBVA_DRIVER_NAME,nvidia
 env = __GLX_VENDOR_LIBRARY_NAME,nvidia
 
+env = PATH,$PATH:$HOME/.wraith/bin
 env = TERMINAL,ghostty
 env = SSH_AUTH_SOCK,$HOME/.ssh/agent.sock
\ No newline at end of file
.config/hypr/modules/windows.conf
@@ -17,4 +17,7 @@ windowrule = workspace special:music, match:class ^(chrome-music\.youtube\..*)$
 windowrule = workspace 3, match:class ^(chrome-gemini.google.com.*)$
 
 windowrule = float true,center true,size 1000 550,rounding 12,tag -floating-window,match:class org.wraith.about
-windowrule = workspace special:temp, match:class ^(discord)$
\ No newline at end of file
+windowrule = workspace special:temp, match:class ^(discord)$
+
+windowrule = float true,center true, size 1100 700, match:class steam, match:title Steam
+windowrule = size 460 800, match:class steam, match:title Friends List
\ No newline at end of file
.local/share/applications/disk-usage.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Name=Disk Usage
+Exec=smart-launch --tui "disk-usage" "bash -c 'wdu;dust -r; read -n 1 -s'"
+Terminal=false
+Type=Application
+Icon=/home/robin/.assets/icons/shell.png
+StartupNotify=true
+
.wraith/bin/wdu
Binary file
.wraith/scripts/arch-spring-cleanup.sh
@@ -74,14 +74,6 @@ LOG_DIR="$HOME/.local/var/log"
 mkdir -p "$LOG_DIR"
 LOG_FILE="$LOG_DIR/maintenance-$(date +%F_%H-%M-%S).log"
 
-CACHE_TARGETS=(
-  "$HOME/.cache/thumbnails"
-  "$HOME/.cache/yay"
-  "$HOME/.cache/paru"
-  "$HOME/.cache/pip"
-  "$HOME/.cache/npm"
-)
-
 AUR_HELPER="yay"
 
 if ! command -v gum &>/dev/null || ! command -v yay &>/dev/null || ! command -v paccache &>/dev/null; then
@@ -174,12 +166,23 @@ fi
 section_title "4. User Cache"
 sub_text "Targets: thumbnails, yay, paru, pip, npm"
 
-if gum_safe confirm "Clean specific cache targets?"; then
-  for target in "${CACHE_TARGETS[@]}"; do
-    [[ -d "$target" ]] && run_task "Cleaning $target" "rm -rf $target/*"
-  done
+LARGE_CACHES=(${(f)"$(du -d 1 -h ~/.cache 2>/dev/null | grep -E '^([5-9][0-9][0-9]M|[0-9]+(\.[0-9]+)?G)' | grep -vE "\.cache$")"})
+
+if [[ ${#LARGE_CACHES[@]} -eq 0 ]]; then
+    sub_text "Everything is clean! No folders > 500MB."
 else
-  sub_text "Skipped user cache."
+    SELECTED=$(printf "%s\n" "${LARGE_CACHES[@]}" | gum choose --no-limit --header "Select caches to wash")
+
+    if [[ -z "$SELECTED" ]]; then
+        sub_text "Skipped user cache."
+    else
+        echo "$SELECTED" | while read -r line; do
+            TARGET_PATH=$(echo "$line" | awk '{print $2}')
+            if [[ -d "$TARGET_PATH" ]]; then
+                run_task "Cleaning ${TARGET_PATH}" "rm -rf ${TARGET_PATH:?}/*"
+            fi
+        done
+    fi
 fi
 
 # --- Step 5 ---
@@ -207,4 +210,4 @@ fi
 echo ""
 gum_safe style --padding "1" "✨ Maintenance Complete."
 gum_safe style --foreground "$MOCHA_GREEN" --bold "Review the log at: $LOG_FILE"
-gum spin --spinner "moon" --title "Press any key to close..." -- bash -c 'read -n 1 -s'
\ No newline at end of file
+gum spin --spinner "moon" --title "Press any key to close..." -- bash -c 'read -n 1 -s'