Summary: | Make it easier for distributions to customize the default wallpaper | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Oliver Smith <ollieparanoid> |
Component: | Image & Slideshow wallpaper plugins | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | CONFIRMED --- | ||
Severity: | wishlist | CC: | alexey.min, nate, niccolo, notmart, qydwhotmail, xaver.hugl |
Priority: | NOR | ||
Version: | 6.0.5 | ||
Target Milestone: | 1.0 | ||
Platform: | postmarketOS | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Oliver Smith
2024-05-30 20:57:07 UTC
The wallpaper is read in the `plasma-org.kde.plasma.desktop-appletsrc` file: ``` [Containments][1][Wallpaper][org.kde.image][General] Image=/home/niccolove/Nextcloud/Photos/Wallpapers/IMG_1618.png ``` each containment (e.g. monitor) has its own entry, so that different containments can have different wallpapers. There's a setup script, called 'org.kde.plasma.desktop-layout.js', that's part of the global theme and that an set this kind of things automatically: ``` var desktopsArray = desktopsForActivity(currentActivity()); for( var j = 0; j < desktopsArray.length; j++) { desktopsArray[j].wallpaperPlugin = 'org.kde.image'; } ``` you can add: ``` desk = desktopsArray[j]; desk.currentConfigGroup = new Array("Wallpaper","org.kde.image","General"); desk.writeConfig("Image", "/usr/share/something/"); ``` I guess the correct way to do this would be to create a new look and feel theme that inherits anything from the Beeze one but only changes the wallpaper in the above script. However I never tried this. Does this help? (In reply to Niccolò Venerandi from comment #1) > The wallpaper is read in the `plasma-org.kde.plasma.desktop-appletsrc` file: > > ``` > [Containments][1][Wallpaper][org.kde.image][General] > Image=/home/niccolove/Nextcloud/Photos/Wallpapers/IMG_1618.png > ``` Right, I found that as well. I have also tried just installing a `plasma-org.kde.plasma.desktop-appletsrc` via /etc/skel and set the wallpaper there, but that didn't work either (and of course that wouldn't be a great solution either). > > each containment (e.g. monitor) has its own entry, so that different > containments can have different wallpapers. There's a setup script, called > 'org.kde.plasma.desktop-layout.js', that's part of the global theme and that > an set this kind of things automatically: > > ``` > var desktopsArray = desktopsForActivity(currentActivity()); > for( var j = 0; j < desktopsArray.length; j++) { > desktopsArray[j].wallpaperPlugin = 'org.kde.image'; > } > ``` > > you can add: > > ``` > desk = desktopsArray[j]; > desk.currentConfigGroup = new > Array("Wallpaper","org.kde.image","General"); > desk.writeConfig("Image", "/usr/share/something/"); > ``` > > I guess the correct way to do this would be to create a new look and feel > theme that inherits anything from the Beeze one but only changes the > wallpaper in the above script. However I never tried this. > > Does this help? Thanks for describing how it works, appreciate the effort you put into this reply! Unfortunately it doesn't really help however. The proposal here is at least as complex, but untested, as the tested workaround I already have (writing that JS file, writing a custom theme that inherits things from Breeze and then somehow setting that theme as default). This issue is about dramatically reducing the complexity to set a wallpaper with e.g. a simple config file as written in the top post. the recommended way is doing a look and feel package, which could also customize other things, like color and what not, but it's alright if it just sets the wallpaper (In reply to Marco Martin from comment #3) > the recommended way is doing a look and feel package, which could also > customize other things, like color and what not, but it's alright if it just > sets the wallpaper Thanks for the reply! Could you give me pointers to: * how distributions should set a custom look and feel package as default * how one would create such a look and feel package Yeah, making a Global Theme for this is generally what distros do, but it's heavyweight and results in unnecessary noise in the Global Themes KCM. I think it's a legitimate complaint with room for improvement. If we do insist on keeping this, we need to document it much better and also probably add a method to hide the theme from the KCM since it's just an implementation detail. |