From e32a2c8d246f166f5e454e26984e89028dcd3349 Mon Sep 17 00:00:00 2001 From: Yury Shvedov Date: Mon, 12 Aug 2024 20:31:02 +0300 Subject: [PATCH] config: Fix `desc:` wallpaper priority (#189) There was misbehaviour from config. Say, we have next config: ``` ... wallpaper = , /path/to/generic.jpg wallpaper = DP-1, /path/to/port.jpg wallpaper = desc:My Monitor, /path/to/desc.jpg ``` Here the `DP-1` and `desc:My Monitor` are different monitors. _EXPECTED_: The `desc:My Monitor` renders `/path/to/desc.jpg` wallpaper _ACTUAL_: The `desc:My Monitor` renders `/path/to/generic.jpg` wallpaper Change-Id: I02c9495524bd620d5a58b9d934b07aded051f6c2 --- src/Hyprpaper.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/Hyprpaper.cpp b/src/Hyprpaper.cpp index b5e5cee..3500921 100644 --- a/src/Hyprpaper.cpp +++ b/src/Hyprpaper.cpp @@ -367,15 +367,17 @@ void CHyprpaper::ensureMonitorHasActiveWallpaper(SMonitor* pMonitor) { } } - for (auto& [mon, path1] : m_mMonitorActiveWallpapers) { - if (mon == pMonitor->name) { - for (auto& [path2, target] : m_mWallpaperTargets) { - if (path1 == path2) { - it->second = ⌖ - break; + if (!it->second) { + for (auto& [mon, path1] : m_mMonitorActiveWallpapers) { + if (mon == pMonitor->name) { + for (auto& [path2, target] : m_mWallpaperTargets) { + if (path1 == path2) { + it->second = ⌖ + break; + } } + break; } - break; } }