Commit 67bbcde
Changed files (2)
.config
hypr
modules
.wraith
scripts
.config/hypr/modules/windows.conf
@@ -1,9 +1,24 @@
-monitor=DP-1,1920x1080@144,auto,1
+monitor=HDMI-A-2,1920x1080@100Hz,-1080x0,1,transform,1
+monitor=DP-1,1920x1080@144, 0x420,1
+monitor=HDMI-A-1,1920x1080@100Hz,1920x0,1,transform,3
-workspace = 1, defaultName:AI,monitor:DP-1,persistent:true
-workspace = 2, defaultName:Code,monitor:DP-1,persistent:true
+workspace=1,monitor:HDMI-A-2
+workspace=2,monitor:HDMI-A-2
+workspace=3,monitor:HDMI-A-2
+
+workspace=4,monitor:DP-1
+workspace=5,monitor:DP-1
+workspace=6,monitor:DP-1
+
+workspace=7,monitor:HDMI-A-1
+workspace=8,monitor:HDMI-A-1
+workspace=9,monitor:HDMI-A-1
+
+
+workspace = 4, defaultName:AI,monitor:DP-1,persistent:true
+workspace = 5, defaultName:Code,monitor:DP-1,persistent:true
# workspace = 3, defaultName:Terminal,monitor:DP-1,persistent:true
-workspace = 3, defaultName:Research,monitor:DP-1,persistent:true
+workspace = 6, defaultName:Research,monitor:DP-1,persistent:true
# workspace = 5, defaultName:Forge,monitor:DP-1,persistent:true
# Floating windows
windowrule = float true,center true,size 875 600,match:tag floating-window
@@ -19,7 +34,8 @@ windowrule = rounding 8, match:tag pop
windowrule = workspace Research, match:class ^(zen)$
windowrule = workspace Code, match:class ^(code|code-oss|Code-Insiders)$
windowrule = workspace AI, match:class ^(chrome-gemini.google.com.*|chrome-claude.ai.*|chrome-chatgpt.com.*)$
-windowrule = workspace 4, match:class ^(BambuStudio|blender|FreeCAD)$
+windowrule = workspace 1, match:class ^(BambuStudio|blender|FreeCAD)$
+windowrule = workspace 1, match:class ^(chrome-youtube\..*)$
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)$
@@ -28,7 +44,7 @@ windowrule = float true,center true, size 1100 700, match:class steam, match:tit
windowrule = size 460 800, match:class steam, match:title Friends List
#Special Workspaces
-windowrule = workspace special:youtube, match:class ^(chrome-youtube\..*)$
+windowrule = workspace special:obs, match:class ^(com.obsproject.Studio)$
windowrule = workspace special:music, match:class ^(chrome-music\.youtube\..*)$
windowrule = float true,center true, match:class ^(bunnymail)
.wraith/scripts/wallpaper.sh
@@ -66,11 +66,42 @@ case "${#COLORS[@]}" in
;;
esac
-# ── apply ─────────────────────────────────────────────────────────────────────
+# triple monitor setup
+CACHE="$HOME/.cache/awww-blend"
+mkdir -p "$CACHE"
+
+TOTAL_W=4080
+TOTAL_H=1920
+CENTER_Y=420
+
+TRANS="--transition-type wipe --transition-angle 0 --transition-fps 60 --transition-step 20"
+
+# Check source resolution before processing
+SRC_W=$(magick identify -format "%w" "$img")
+SRC_H=$(magick identify -format "%h" "$img")
+echo "Source: ${SRC_W}×${SRC_H} → Canvas: ${TOTAL_W}×${TOTAL_H}"
-swww img "$img" \
- --transition-fps 60 \
- --transition-type wipe
+if (( SRC_W < TOTAL_W || SRC_H < TOTAL_H )); then
+ echo "⚠ Image smaller than canvas — will be upscaled, expect some softness"
+fi
+
+# Lanczos = best quality filter for upscaling/downscaling
+magick "$img" \
+ -filter Lanczos \
+ -resize "${TOTAL_W}x${TOTAL_H}^" \
+ -gravity Center \
+ -extent "${TOTAL_W}x${TOTAL_H}" \
+ "$CACHE/base.png"
+
+magick "$CACHE/base.png" -crop "1080x1920+0+0" +repage "$CACHE/left.png"
+magick "$CACHE/base.png" -crop "1920x1080+1080+${CENTER_Y}" +repage "$CACHE/center.png"
+magick "$CACHE/base.png" -crop "1080x1920+3000+0" +repage "$CACHE/right.png"
+
+# ── apply ─────────────────────────────────────────────────────────────────────
+awww img -o HDMI-A-2 $TRANS "$CACHE/left.png" &
+awww img -o DP-1 $TRANS "$CACHE/center.png" &
+awww img -o HDMI-A-1 $TRANS "$CACHE/right.png" &
+wait
matugen image "$img" \
--type "scheme-${scheme}" \