fix quickshell bg showing over mpvpaper (fixes #1684)

This commit is contained in:
end-4
2025-07-21 10:15:29 +07:00
parent 7ba14a4cc8
commit c5f8377a85
2 changed files with 19 additions and 4 deletions
@@ -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
}
@@ -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