Bug 454333 - Unsplash wallpaper on 2 monitors only picks 1 wallpaper
Summary: Unsplash wallpaper on 2 monitors only picks 1 wallpaper
Status: RESOLVED FIXED
Alias: None
Product: kdeplasma-addons
Classification: Unmaintained
Component: Picture of the Day (other bugs)
Version First Reported In: 5.24.90
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: multiscreen, regression
: 455062 455647 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-05-24 12:46 UTC by Contijn Buijs
Modified: 2022-06-20 12:19 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 5.25.1
Sentry Crash Report:


Attachments
Screenshot of monitor settings. (132.20 KB, image/png)
2022-05-24 12:46 UTC, Contijn Buijs
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Contijn Buijs 2022-05-24 12:46:43 UTC
Created attachment 149164 [details]
Screenshot of monitor settings.

SUMMARY
***
I have 2 monitors. I use Unsplash for picture of the day. On the primary monitor I have category "Nature". On the second monitor I have category Animal.

With the beta the wallpaper applet picks one of the 2 at random as wallpaper for both screens. Right now I see the "Animal" wallpaper on both screens. And before I restarted today I saw the "Nature wallpaper" on both screens.
***


STEPS TO REPRODUCE
1. Set Unsplash as wallpaper (picture of the day mode).
2. On both monitors, set a different category as wallpaper.
3. See the same wallpaper appear on both screens.

OBSERVED RESULT
Same wallpaper on both screens.

EXPECTED RESULT
Expected to see a different wallpaper on both screens since they have a different category assigned.

SOFTWARE/OS VERSIONS
Linux: Arch
KDE Plasma Version: 5.24.90
KDE Frameworks Version: 5.94
Qt Version: 5.15.4

ADDITIONAL INFORMATION
See attached screenshot of the issue here where you see the settings of both monitors and that for the nature one, the animal picture was set instead of the proper nature one.
Comment 1 Fushan Wen 2022-05-24 17:40:13 UTC
It's expected after the wallpaper information is added because all backends now share the same singleton. Unfortunately I don't have a idea to fix it.
Comment 2 Bug Janitor Service 2022-05-25 14:42:17 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/162
Comment 3 Fushan Wen 2022-06-09 04:00:03 UTC
*** Bug 455062 has been marked as a duplicate of this bug. ***
Comment 4 Fushan Wen 2022-06-18 01:00:57 UTC
Git commit 86ef83c6b3f2e20e5c5ecbc0fa52584180c14546 by Fushan Wen.
Committed on 18/06/2022 at 00:53.
Pushed by fusionfuture into branch 'master'.

wallpapers/potd: fix multimonitor support

After dataengine was ported away, it requires to use a self-maintained
engine to properly support multi-screen wallpapers.

3 new classes are added:

- PotdEngine: a class to manage clients, create and delete clients on
demand.
- Client: a class to process wallpaper data
- Backend: a class used in QML side, to relay information from the client

The major part of PotdProviderModel are moved to the 3 classes, so the
model class is now a pure model.
FIXED-IN: 5.26

M  +10   -10   wallpapers/potd/package/contents/ui/WallpaperPreview.qml
M  +28   -13   wallpapers/potd/package/contents/ui/config.qml
M  +16   -19   wallpapers/potd/package/contents/ui/main.qml
M  +2    -0    wallpapers/potd/plugins/CMakeLists.txt
M  +18   -8    wallpapers/potd/plugins/cachedprovider.cpp
M  +8    -5    wallpapers/potd/plugins/cachedprovider.h
A  +267  -0    wallpapers/potd/plugins/potdbackend.cpp     [License: GPL(v2.0+)]
C  +16   -57   wallpapers/potd/plugins/potdbackend.h [from: wallpapers/potd/plugins/potdprovidermodel.h - 060% similarity]
A  +286  -0    wallpapers/potd/plugins/potdengine.cpp     [License: GPL(v2.0+)]
A  +106  -0    wallpapers/potd/plugins/potdengine.h     [License: GPL(v2.0+)]
M  +6    -14   wallpapers/potd/plugins/potdplugin.cpp
M  +13   -425  wallpapers/potd/plugins/potdprovidermodel.cpp
M  +3    -133  wallpapers/potd/plugins/potdprovidermodel.h

https://invent.kde.org/plasma/kdeplasma-addons/commit/86ef83c6b3f2e20e5c5ecbc0fa52584180c14546
Comment 5 Fushan Wen 2022-06-19 09:54:15 UTC
Git commit 9b27feea0474302be2b475a2ffebf55df4c1533e by Fushan Wen.
Committed on 19/06/2022 at 09:34.
Pushed by fusionfuture into branch 'Plasma/5.25'.

wallpapers/potd: fix multimonitor support

After dataengine was ported away, it requires to use a self-maintained
engine to properly support multi-screen wallpapers.

3 new classes are added:

- PotdEngine: a class to manage clients, create and delete clients on
demand.
- Client: a class to process wallpaper data
- Backend: a class used in QML side, to relay information from the client

The major part of PotdProviderModel are moved to the 3 classes, so the
model class is now a pure model.
FIXED-IN: 5.25.1

(cherry picked from commit 86ef83c6b3f2e20e5c5ecbc0fa52584180c14546)

wallpapers/potd: increase m_updateCount before `updateSource`

When cache is available, `PotdClient::done` will be directly emitted.

(cherry picked from commit 9a1180f16122734d2917ddbf9d4397c269f2c5f3)

wallpapers/potd: remove redundant if statement

The while loop already checks the condition.

(cherry picked from commit 6633fa6070f99167d450559c2b78a79ae768e888)

wallpapers/potd: add some debug information

(cherry picked from commit 09c8337f7e3c55af6af55b9a172dacf6dd817cd4)

M  +10   -10   wallpapers/potd/package/contents/ui/WallpaperPreview.qml
M  +27   -11   wallpapers/potd/package/contents/ui/config.qml
M  +16   -19   wallpapers/potd/package/contents/ui/main.qml
M  +2    -0    wallpapers/potd/plugins/CMakeLists.txt
M  +18   -8    wallpapers/potd/plugins/cachedprovider.cpp
M  +8    -5    wallpapers/potd/plugins/cachedprovider.h
A  +267  -0    wallpapers/potd/plugins/potdbackend.cpp     [License: GPL(v2.0+)]
C  +16   -57   wallpapers/potd/plugins/potdbackend.h [from: wallpapers/potd/plugins/potdprovidermodel.h - 060% similarity]
A  +296  -0    wallpapers/potd/plugins/potdengine.cpp     [License: GPL(v2.0+)]
A  +106  -0    wallpapers/potd/plugins/potdengine.h     [License: GPL(v2.0+)]
M  +6    -14   wallpapers/potd/plugins/potdplugin.cpp
M  +13   -425  wallpapers/potd/plugins/potdprovidermodel.cpp
M  +3    -133  wallpapers/potd/plugins/potdprovidermodel.h

https://invent.kde.org/plasma/kdeplasma-addons/commit/9b27feea0474302be2b475a2ffebf55df4c1533e
Comment 6 Fushan Wen 2022-06-20 12:19:11 UTC
*** Bug 455647 has been marked as a duplicate of this bug. ***