<div dir="ltr"><div>Hi all.<br><br></div>I develop a java-based application to download and manage wallpapers from the Internet (wallpaperdownloader) (<a href="https://bitbucket.org/eloy_garcia_pca/wallpaperdownloader/overview">https://bitbucket.org/eloy_garcia_pca/wallpaperdownloader/overview</a>). The applications is in the store but now I'm trying to integrate XFCE desktop too. I mean, now you can set any wallpaper downloaded directly from the GUI and it is working fine for GNOME 3, Unity and MATE. All three of them use gsettings interface and desktop-gtk3 wrapper part as you can see in the snapcraft.yaml:<br><br><pre><span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">name</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">wallpaperdownloader</span>
<a name="snapcraft.yaml-2"></a><span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">version</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-s">"2.2"</span>
<a name="snapcraft.yaml-3"></a><span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">summary</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">Download and manage your favorite wallpapers from the Internet</span>
<a name="snapcraft.yaml-4"></a><span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">description</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">WallpaperDownloader is a simple GUI Java based application for downloading and managing wallpapers from the Internet</span>
<a name="snapcraft.yaml-5"></a><span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">grade</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">stable</span>
<a name="snapcraft.yaml-6"></a><span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">confinement</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">strict</span>
<a name="snapcraft.yaml-7"></a>
<a name="snapcraft.yaml-8"></a><span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">apps</span><span class="gmail-p gmail-p-Indicator">:</span>
<a name="snapcraft.yaml-9"></a> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">wallpaperdownloader</span><span class="gmail-p gmail-p-Indicator">:</span>
<a name="snapcraft.yaml-10"></a> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">command</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">wallpaperdownloader.sh</span>
<a name="snapcraft.yaml-11"></a> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">plugs</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-p gmail-p-Indicator">[</span><span class="gmail-nv">x11</span><span class="gmail-p gmail-p-Indicator">,</span> <span class="gmail-nv">network-bind</span><span class="gmail-p gmail-p-Indicator">,</span> <span class="gmail-nv">home</span><span class="gmail-p gmail-p-Indicator">,</span> <span class="gmail-nv">gsettings</span><span class="gmail-p gmail-p-Indicator">]</span>
<a name="snapcraft.yaml-12"></a>
<a name="snapcraft.yaml-13"></a><span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">parts</span><span class="gmail-p gmail-p-Indicator">:</span>
<a name="snapcraft.yaml-14"></a> <span class="gmail-c1"># Pulls the code from the original source (master branch)</span>
<a name="snapcraft.yaml-15"></a> <span class="gmail-c1"># desktop/gtk3 is a snapcraft part (snapcraft-desktop-helpers) from the Wiki: <a href="https://wiki.ubuntu.com/snapcraft/parts">https://wiki.ubuntu.com/snapcraft/parts</a></span>
<a name="snapcraft.yaml-16"></a> <span class="gmail-c1"># It enables desktop integration and gsettings manipulation from the confined application</span>
<a name="snapcraft.yaml-17"></a> <span class="gmail-c1"># It is necessary to use gsettings interface (see above) in order to have a fully functional</span>
<a name="snapcraft.yaml-18"></a> <span class="gmail-c1"># desktop/gtk3 part</span>
<a name="snapcraft.yaml-19"></a> <span class="gmail-c1"># Github repository for snapcraft-desktop-helpers: <a href="https://github.com/ubuntu/snapcraft-desktop-helpers">https://github.com/ubuntu/snapcraft-desktop-helpers</a></span>
<a name="snapcraft.yaml-20"></a> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">wallpaperdownloader</span><span class="gmail-p gmail-p-Indicator">:</span>
<a name="snapcraft.yaml-21"></a> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">plugin</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">maven</span>
<a name="snapcraft.yaml-22"></a> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">source</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">..</span>
<a name="snapcraft.yaml-23"></a> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">stage-packages</span><span class="gmail-p gmail-p-Indicator">:</span>
<a name="snapcraft.yaml-24"></a> <span class="gmail-c1"># mate-desktop-common is necessary to have MATE gsettings schemas available for the application</span>
<a name="snapcraft.yaml-25"></a> <span class="gmail-p gmail-p-Indicator">-</span> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">mate-desktop-common</span>
<a name="snapcraft.yaml-26"></a> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">after</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-p gmail-p-Indicator">[</span><span class="gmail-nv">desktop/gtk3</span><span class="gmail-p gmail-p-Indicator">]</span>
<a name="snapcraft.yaml-27"></a>
<a name="snapcraft.yaml-28"></a> <span class="gmail-c1"># It will copy wallpaperdownloader script into /bin/</span>
<a name="snapcraft.yaml-29"></a> <span class="gmail-c1"># This script contains all the commands needed (sets env variables, launches the jar file...) to</span>
<a name="snapcraft.yaml-30"></a> <span class="gmail-c1"># execute the application</span>
<a name="snapcraft.yaml-31"></a> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">exec</span><span class="gmail-p gmail-p-Indicator">:</span>
<a name="snapcraft.yaml-32"></a> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">plugin</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">dump</span>
<a name="snapcraft.yaml-33"></a> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">source</span><span class="gmail-p gmail-p-Indicator">:</span> <span class="gmail-l gmail-l-Scalar gmail-l-Scalar-Plain">scripts</span></pre>Now, if XFCE desktop is detected by the application, the command run inthe background is 'xfconf-query --channel xfce4-desktop --property /backdrop/screen0/monitor0/workspace0/last-image --set wallpaper.jpg'. If the application runs natively, there is no problem and the wallpaper is set properly. But when I test the snap package built, this is the error thrown:<br><div><br>ERROR LinuxWallpaperChanger:188 - Property "/backdrop/screen0/monitor0/workspace0/last-image" does not exist on channel "xfce4-desktop". If a new property should be created, use the --create option.<br clear="all"><div><div><br></div><div>I have included xfconf as stage-package and the command xfconf-query is found within the snap. Could you give me a hint to solve this problem?<br><br></div><div>Thank you very much for your time and your help :)<br><br></div><div>Best,<br><br></div><div>Eloy<br></div><div><br>-- <br><div class="gmail_signature"><div dir="ltr">Eloy García Almadén<br></div></div>
</div></div></div></div>