When a non-relocatable application is packaged as a snap, its resources
will be visible under `${SNAP}`. We can discover these resources by
probing paths that are given to us and trying the same path under
`${SNAP}` if the probe fails.
Snap packages have desktop files namespaced by the snap name. This name
is available inside the snap environment as `${SNAP_NAME}`. Also probe
desktop files and try this form of mangled name if the referenced
desktop file is not found.
While some hints like image-path or sound-file supports parameters using the
file:// protocol, it's impossible to pass such hints to notify-send, because
it splits the passed argument so that it can have an unlimited number of colons,
while only 3 should be there (as per TYPE:NAME:VALUE format).
So, make `g_strsplit` to accept only 3 tokens as maximum, while pass the
remaining parameters all-together.
So now it's possible to do
notify-send -h string:image-path:file:///usr/share/icons/foo.png
The generated notify-features.h header lives in builddir, which means it
does not exist in srcdir, where glib-mkenums will look. It also contains
pre-processor symbols only, so it's not really useful.
As we removed it from the list of headers to be scanned by the
introspection parser, we also need to update the files rules for that.
Using GFreeFunc instead of GDestroyNotify was a mistake, but
(scope async) is even a bigger mistake (one that can crash apps,
if an action is invoked multiple times)
https://bugzilla.gnome.org/show_bug.cgi?id=702390
Only use conventional names where they uniquely identify
the wire type, and type signatures elsewhere. This replaces
DICT by a{sv}
ARRAY by as
STRING_ARRAY by as
Since we're just passing it ultimately to gdk_pixbuf_new_from_data in
the server, we really should be documenting the restrictions here, such
as bits_per_sample always being 8.
https://bugzilla.gnome.org/show_bug.cgi?id=647672
When a daemon like gnome-settings-daemon has multiple plugins, if a plugin uses
notify_set_app_name() then subsequent notifications get the wrong
'Application name' in the gnome-shell persistent message tray.
This new function is per-notification and is thus allows us to set a custom
application name without overwriting the application name stored by notify_init().
https://bugzilla.gnome.org/show_bug.cgi?id=648947