From c5f8377a859f35f89e1c35856c2908d0e6378e6d Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Mon, 21 Jul 2025 10:15:29 +0700 Subject: [PATCH] fix quickshell bg showing over mpvpaper (fixes #1684) --- .../ii/modules/background/Background.qml | 8 +++++++- .../quickshell/ii/scripts/colors/switchwall.sh | 15 ++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/.config/quickshell/ii/modules/background/Background.qml b/.config/quickshell/ii/modules/background/Background.qml index d3aa65fac..5ee0fea3d 100644 --- a/.config/quickshell/ii/modules/background/Background.qml +++ b/.config/quickshell/ii/modules/background/Background.qml @@ -32,6 +32,11 @@ Scope { property int lastWorkspaceId: relevantWindows[relevantWindows.length - 1]?.workspace.id || 10 // Wallpaper property string wallpaperPath: Config.options.background.wallpaperPath + property bool wallpaperIsVideo: Config.options.background.wallpaperPath.endsWith(".mp4") + || Config.options.background.wallpaperPath.endsWith(".webm") + || Config.options.background.wallpaperPath.endsWith(".mkv") + || Config.options.background.wallpaperPath.endsWith(".avi") + || Config.options.background.wallpaperPath.endsWith(".mov") property real preferredWallpaperScale: Config.options.background.parallax.workspaceZoom property real effectiveWallpaperScale: 1 // Some reasonable init value, to be updated property int wallpaperWidth: modelData.width // Some reasonable init value, to be updated @@ -137,6 +142,7 @@ Scope { // Wallpaper Image { + visible: !bgRoot.wallpaperIsVideo property real value // 0 to 1, for offset value: { // Range = half-groups that workspaces span on @@ -267,7 +273,7 @@ Scope { animation: Appearance.animation.elementMoveFast.numberAnimation.createObject(this) } text: "Enter password" - color: CF.ColorUtils.transparentize(bgRoot.colText, 0.5) + color: CF.ColorUtils.transparentize(bgRoot.colText, 0.3) font { pixelSize: Appearance.font.pixelSize.normal } diff --git a/.config/quickshell/ii/scripts/colors/switchwall.sh b/.config/quickshell/ii/scripts/colors/switchwall.sh index 834c95272..4a659a2b6 100755 --- a/.config/quickshell/ii/scripts/colors/switchwall.sh +++ b/.config/quickshell/ii/scripts/colors/switchwall.sh @@ -151,6 +151,13 @@ EOF mv "$RESTORE_SCRIPT.tmp" "$RESTORE_SCRIPT" } +set_wallpaper_path() { + local path="$1" + if [ -f "$SHELL_CONFIG_FILE" ]; then + jq --arg path "$path" '.background.wallpaperPath = $path' "$SHELL_CONFIG_FILE" > "$SHELL_CONFIG_FILE.tmp" && mv "$SHELL_CONFIG_FILE.tmp" "$SHELL_CONFIG_FILE" + fi +} + switch() { imgpath="$1" mode_flag="$2" @@ -204,6 +211,10 @@ switch() { exit 0 fi + # Set wallpaper path + set_wallpaper_path "$imgpath" + + # Set video wallpaper local video_path="$imgpath" monitors=$(hyprctl monitors -j | jq -r '.[] | .name') for monitor in $monitors; do @@ -228,9 +239,7 @@ switch() { matugen_args=(image "$imgpath") generate_colors_material_args=(--path "$imgpath") # Update wallpaper path in config - if [ -f "$SHELL_CONFIG_FILE" ]; then - jq --arg path "$imgpath" '.background.wallpaperPath = $path' "$SHELL_CONFIG_FILE" > "$SHELL_CONFIG_FILE.tmp" && mv "$SHELL_CONFIG_FILE.tmp" "$SHELL_CONFIG_FILE" - fi + set_wallpaper_path "$imgpath" remove_restore fi fi