snap integration with XFCE

Eloy García (PC Actual) eloy.garcia.pca at gmail.com
Thu Oct 6 19:34:03 UTC 2016


Hi all.

I develop a java-based application to download and manage wallpapers from
the Internet (wallpaperdownloader) (
https://bitbucket.org/eloy_garcia_pca/wallpaperdownloader/overview). 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:

name: wallpaperdownloaderversion: "2.2"summary: Download and manage
your favorite wallpapers from the Internetdescription:
WallpaperDownloader is a simple GUI Java based application for
downloading and managing wallpapers from the Internetgrade:
stableconfinement: strictapps:  wallpaperdownloader:    command:
wallpaperdownloader.sh    plugs: [x11, network-bind, home,
gsettings]parts:  # Pulls the code from the original source (master
branch)  # desktop/gtk3 is a snapcraft part
(snapcraft-desktop-helpers) from the Wiki:
https://wiki.ubuntu.com/snapcraft/parts  # It enables desktop
integration and gsettings manipulation from the confined application
# It is necessary to use gsettings interface (see above) in order to
have a fully functional  # desktop/gtk3 part  # Github repository for
snapcraft-desktop-helpers:
https://github.com/ubuntu/snapcraft-desktop-helpers
wallpaperdownloader:    plugin: maven    source: ..    stage-packages:
     # mate-desktop-common is necessary to have MATE gsettings schemas
available for the application      - mate-desktop-common    after:
[desktop/gtk3]  # It will copy wallpaperdownloader script into /bin/
# This script contains all the commands needed (sets env variables,
launches the jar file...) to  # execute the application  exec:
plugin: dump    source: scripts

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:

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.

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?

Thank you very much for your time and your help :)

Best,

Eloy

-- 
Eloy García Almadén
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/snapcraft/attachments/20161006/80e44e4c/attachment.html>


More information about the Snapcraft mailing list