<table><tr><td style="">aleksejshilin added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D11195">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D11195#222313" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D11195#222313</a>, <a href="https://phabricator.kde.org/p/davidedmundson/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@davidedmundson</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>One could argue keeping the colour persist across wallpapers is a feature, what problems does it cause?</p></div>
</blockquote>

<p>It's not limited to colors, that's just a testcase. And unless there is a well-defined key naming convention I haven't found, that keys have the same name doesn't imply they have the same meaning. For example, 'Provider' key may have totally different acceptable values across different wallpaper plugins, 'Color' may mean 'background color', 'skin color' (imagine dynamic emoji wallpaper :) ) and so on.</p>

<p>But that's not the main point. I've played with different wallpaper types, and that's what ended up in ~/.config/plasma-org.kde.plasma.desktop-appletsrc:</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">[Containments][1][Wallpaper][General]
Blur=true
Color=170,0,0
FillMode=2
Image=file:///usr/share/wallpapers/Next/contents/images/1366x768.png
Provider=bing
SlidePaths=/home/aleksej/Изображения

[Containments][1][Wallpaper][org.kde.color][General]
Color=255,0,0

[Containments][1][Wallpaper][org.kde.image][General]
Blur=true
Color=170,0,0
FillMode=2
Image=file:///usr/share/wallpapers/Next/contents/images/1366x768.png
SlidePaths=/home/aleksej/Изображения

[Containments][1][Wallpaper][org.kde.potd][General]
Color=170,0,0
FillMode=1
Provider=bing

[Containments][1][Wallpaper][org.kde.slideshow][General]
Color=170,0,0
FillMode=6
SlidePaths=/home/aleksej/Изображения</pre></div>

<p>As you see, separate config groups are used by the plugins anyway. More importantly, they are the ones plasmashell actually reads at startup. It's just ContainmentConfigView is using the wrong group for these settings. And it starts doing that only after one changes Wallpaper Type for the first time in the dialog. Try this:</p>

<ol class="remarkup-list">
<li class="remarkup-list-item">Right-click the desktop and click Configure Desktop.</li>
<li class="remarkup-list-item">Select Wallpaper Type -> Plain Color. If it's already selected, select a different one first.</li>
<li class="remarkup-list-item">Click the chooser button and select green, then hit OK.</li>
<li class="remarkup-list-item">Open the dialog again. Don't switch wallpaper types. Change the color to red and click Apply.</li>
<li class="remarkup-list-item">Select Picture of the Day as Wallpaper Type. The selected color is still green.</li>
</ol>

<p>So, wallpaper plugins "share" configuration only accidentally due to ContainmentConfigView::setCurrentWallpaper() bug.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D11195">https://phabricator.kde.org/D11195</a></div></div><br /><div><strong>To: </strong>aleksejshilin, Plasma, mart, davidedmundson<br /><strong>Cc: </strong>davidedmundson, plasma-devel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>