<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Le 06/10/2016 à 21:34, Eloy García (PC
      Actual) a écrit :<br>
    </div>
    <blockquote
cite="mid:CAFW_=cNB7XYN7B9dhfjGaN4uvNRMsNn7wt6Z0fcpL6PVETAXbg@mail.gmail.com"
      type="cite">
      <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
          moz-do-not-send="true"
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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" name="snapcraft.yaml-7"></a>
<a moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" name="snapcraft.yaml-12"></a>
<a moz-do-not-send="true" 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 moz-do-not-send="true" name="snapcraft.yaml-14"></a>  <span class="gmail-c1"># Pulls the code from the original source (master branch)</span>
<a moz-do-not-send="true" name="snapcraft.yaml-15"></a>  <span class="gmail-c1"># desktop/gtk3 is a snapcraft part (snapcraft-desktop-helpers) from the Wiki: <a moz-do-not-send="true" href="https://wiki.ubuntu.com/snapcraft/parts">https://wiki.ubuntu.com/snapcraft/parts</a></span>
<a moz-do-not-send="true" name="snapcraft.yaml-16"></a>  <span class="gmail-c1"># It enables desktop integration and gsettings manipulation from the confined application</span>
<a moz-do-not-send="true" 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 moz-do-not-send="true" name="snapcraft.yaml-18"></a>  <span class="gmail-c1"># desktop/gtk3 part</span>
<a moz-do-not-send="true" name="snapcraft.yaml-19"></a>  <span class="gmail-c1"># Github repository for snapcraft-desktop-helpers: <a moz-do-not-send="true" href="https://github.com/ubuntu/snapcraft-desktop-helpers">https://github.com/ubuntu/snapcraft-desktop-helpers</a></span>
<a moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" name="snapcraft.yaml-27"></a>
<a moz-do-not-send="true" name="snapcraft.yaml-28"></a>  <span class="gmail-c1"># It will copy wallpaperdownloader script into /bin/</span>
<a moz-do-not-send="true" 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 moz-do-not-send="true" name="snapcraft.yaml-30"></a>  <span class="gmail-c1"># execute the application</span>
<a moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Hey Eloy,<br>
    <br>
    I'm not a xfconf user and so can't answer to you precisly. However,
    my guess is that you will need a file (like the dconf one we are
    using in GNOME/Unity environment) shared between your user's
    settings and the snap writable path.<br>
    The desktop launcher is creating a symlink (accessed via the home
    interface) between the main user's dconf/user file to path of the
    snap writable path, to be able to read the value. The gsettings
    interfaces give, on its side, access to the dbus call for this.<br>
    <br>
    I wonder if the unaccessible file/dbus property could trigger this
    error fallback in xfconf, and hence, prints that message.<br>
    <br>
    I hope this helps!<br>
    Cheers,<br>
    Didier<br>
    <br>
  </body>
</html>