Install desktop files as Hidden=true to systemd-user directory
This directory is set up by gnome-session as a place for services to
drop configuration needed on systemd --user sessions. We use it to
override the XDG autostart desktop files, as we're started by systemd
here.
plugins: Add systemd user service files for all the plugins
Using the facility added in the previous commit, we can add systemd user
service files for all plugins and know when they have started up.
For simplicity, we create a target which gnome-session can start to
activate all of g-s-d's plugins.
All units are practically identical, except for
- the media-keys and sound plugins wait for PulseAudio to start
This is heavily based on a patch originally by Bastien Nocera
<email address hidden>
We also add a gnome-session-gdm target to start only required programs
under GDM.
Currently we check the running plugin name against a static list in the
source code, and don't run the plugin if it's not needed in gdm. With
systemd, we can do better.
We provide a 'gdm' target which only pulls in the required programs, and
get rid of the list. This target has
Conflicts=gnome-settings-daemon.target, which means that the full fat
g-s-d won't get started if -gdm already has been, and we arrange for it
to be started explicitly by the login session target.
common: Have plugins claim a name on the bus when they are ready
The plugins are about to switch to being activated by systemd. We need a
way for them to signal to systemd when they are ready. We'd like to
avoid linking to libsystemd, so sd_notify() is out - let's have the
plugins claim a name on the bus and then we can create Type=dbus units.
7f26c2a...
by
Benjamin Berg <email address hidden>
xsettings: Use X11 specific GDK API to fix compile time warnings
Use gdk_x11_screen_get_screen_number rather than the deprecated
gdk_screen_get_number.
e771061...
by
Benjamin Berg <email address hidden>
power: Fix upower related memory leak and deprecation warning
We used to call up_client_get_devices which passes an array of devices
but does not unreference the devices again when the array is destroyed.
GsdPower did correctly reference the devices, so this fixes both a
memory leak and a deprecation warning.
610b214...
by
Benjamin Berg <email address hidden>
common: Use X11 specific functions for error trapping
This fixes more compile time warnings.
cdb999d...
by
Benjamin Berg <email address hidden>
power: Add missing include to enums helper
02db279...
by
Benjamin Berg <email address hidden>
power: Use X11 specific error trap functions
These are used to guard an X11 specific all (which will hopefully be
removed soon). Doing so fixes a compile time warning.
e1a27d7...
by
Benjamin Berg <email address hidden>
clipboard: Use X11 specific error trap functions
The module only works for X11, and the generic functions are deprecated.
Use the X11 specific functions to fix compile time warnings.
d6f5b22...
by
Benjamin Berg <email address hidden>
clipboard: Balance out error trapping code
The error trap would only be popped if the if branch was taken. Move the
error trap pushing into the if branch to prevent possible issues.