gnome-shell:benzea/use-app-info-launch

Last commit made on 2020-07-31
Get this branch:
git clone -b benzea/use-app-info-launch https://git.launchpad.net/gnome-shell

Branch merges

Branch information

Name:
benzea/use-app-info-launch
Repository:
lp:gnome-shell

Recent commits

869f8f4... by Benjamin Berg <email address hidden>

runDialog: Use new app based launch helper

Doing this has the advantage of using the GLib GDesktopAppInfo launching
API, resulting in the automatic registration of the application with
systemd.

See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1596
Closes: #3025

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1384

4e54cbc... by Benjamin Berg <email address hidden>

util: Add new trySpawnAppCommandline function

Add a new helper function to launch a command line as if it was an
application. This has the advantage of using the appropriate code paths
in GLib (and gnome-shell currently) to place the launched program into a
separate systemd scope.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1384

b689b35... by Benjamin Berg <email address hidden>

data: Place the shell into session.slice when using systemd

This way we conform more to https://systemd.io/DESKTOP_ENVIRONMENTS

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/895

01a927f... by Benjamin Berg <email address hidden>

windowManager: Wait for X11 services using systemd

To do this, we now wait for the start/stop job to complete. We also have
two targets in gnome-session to ensure that everything is working as
expected.

In order to start the services, we simply request the
gnome-session-x11-services-ready.target unit, and wait for it to become
available. To stop, we use the gnome-session-x11-services.target unit
which should stop all services in a way that is entirely race free.

This requires both gnome-session and gnome-settings-daemon changes to
work (which are in the corresponding merge requests).

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/895

41d5b14... by Benjamin Berg <email address hidden>

data: Create generic org.gnome.Shell.target

Move the GNOME shell service file adapation for x11/wayland into the
target/service files. This means that the session definition can simply
pull in org.gnome.Shell.target, without having to care about whether it
is starting an X11 or wayland session.

Note that this currently requires fork'ing to do the test. This will
however not be needed in the long term when ConditionEnvironment becomes
available (see https://github.com/systemd/systemd/pull/15817).

We technically do not need to use template units. But doing so means
that the unit can be translated to the app id more easily (though it is
not yet completely clear how this should look like in the long term).

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/895

b710c6e... by Benjamin Berg <email address hidden>

data: Remove unused, commented and obsolete Conflicts lines

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/895

4c9f42e... by Benjamin Berg <email address hidden>

data: Use org.gnome.Shell prefix for systemd units

In general we want to move towards using reverse domain names for
systemd units. Doing this also means we have a consistent name between
desktop file and systemd unit, allowing us to create a generator that
pulls in the unit as defined in the sessions RequiredComponents.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/895

2b0731a... by Jonas Ådahl

Move screencasting into a separate service process

Move the screencasting into a separate D-Bus service process, using
PipeWire instead of Clutter API. The service is implemented in
Javascript using the dbusService.js helper, and implements the same API
as was done by screencast.js and the corresponding C code.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1372

a9b803f... by Jonas Ådahl

introspect: Introspect screen size

To be used by the screen cast service.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1372

73436b5... by Jonas Ådahl

dbusService: Queue shutdown check on startup

If something started the service, but crashed before managing to make a
method call, we'd end up with the service running indefinitely. Fix this
by queueing a shutdown check immediately on startup.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1372