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