Commit Graph

24 Commits

Author SHA1 Message Date
Florian Müllner
d6b689eaf1 build: Replace array with dict
It's more readable than "magic" indexes, and makes it easier to
provide fallback values for optional entries.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2141>
2022-02-04 13:59:20 +00:00
Florian Müllner
65450a836e build: Drop incorrect positional arg
Unlike other targets that take a name, i18n.merge_file() does not.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2078>
2021-12-23 18:43:25 +00:00
Florian Müllner
28045074aa data: Register switch-to-application shortcuts with g-c-c
The <super>1-9 shortcuts to activate dash favorites were a feature
from Ubuntu's Unity that caused some distress as the same shortcuts
were used by some users to activate workspaces.

Registering the new shortcuts with control-center at least gives
those users a GUI option for resolving the conflict.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1250

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1797>
2021-07-05 18:46:08 +00:00
Florian Müllner
f5be205c09 data: Remove old GConf migration files
The migration happened in GNOME 3.6 over 9 years ago. The chances
that someone migrates from 3.0.x or 3.2.x to 41 are very much zero.
And if it were to happen, it wouldn't work anyway, because we stopped
using a separate overrides schema.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1890>
2021-06-17 20:53:58 +00:00
Florian Müllner
eafbfdfa07 theme: Pre-generate stylesheets as well
Since commit 9ef9a5ff8a, man pages are generated at dist time to reduce
build dependencies when building from a released tarball.

Do the same for the stylesheets to also remove the sassc dependency.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1555>
2020-12-29 00:40:47 +01:00
Benjamin Berg
41d5b1455f 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
2020-07-31 13:53:31 +00:00
Benjamin Berg
4c9f42eea9 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
2020-07-31 13:53:31 +00:00
Florian Müllner
6b7c85b079 data: Add extension-portal desktop file
Now that the extension preference dialog is opened by a separate
D-Bus service rather than the Extensions app, it can be opened
without a parent window that provides name and icon.

Fix this by adding back a hidden .desktop file.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2562
2020-04-05 13:36:35 +00:00
Florian Müllner
b92ddc0d39 extensionPrefs: Move desktop file and icons from top-level data
Another small step towards making the extensions app code
self-contained ...

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1081
2020-03-19 14:27:35 +00:00
Florian Müllner
8795668c41 extensionPrefs: Rename to Extensions
... and make the application user-visible.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:03:19 +01:00
Florian Müllner
679fc20765 extensionPrefs: Add application icon
We are about to make the tool a user-visible application, so we
need an icon. Add one (plus its symbolic variant).

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:03:19 +01:00
Florian Müllner
27b927448b data: Drop old bugzilla references in .desktop files
They are obsolete, and I don't think we have a gitlab replacement
(plus the fields probably stopped being relevant when bug-buddy
went out of fashion ages ago).

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/920
2020-01-07 12:41:57 +01:00
Benjamin Berg
31968ea53c meson: Avoid using relative paths to po directory
Replace the relative path to the po directory with a toplevel definition
of po_dir and use that instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/507
2019-08-05 21:38:51 +00:00
Benjamin Berg
7e00d22bfa data: Update systemd units
The existing units were never used as the corresponding support was
never merged into gnome-session.

This commits updates units to be usable with the newer gnome-session
unit definitions. Also added is appropriate failure/restart logic
including the ability to disable extensions. Note that extensions will
only be disabled if a failure happens in the first two minutes after
login.

https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/13
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/507
2019-08-05 21:38:51 +00:00
Benjamin Berg
50055004f5 data: Flag in desktop file that gnome-shell can be started using systemd
As gnome-shell is a required component for GNOME sessions, gnome-session
will currently always try to autostart it. However as we are moving towards
using systemd's user instance for session startup, gnome-session should only
be responsible for launching the shell when either not running under systemd
or when we were built without systemd support.

gnome-session can detect the former but not the latter, so communicate this
via the newly added X-GNOME-HiddenUnderSystemd key in the .desktop file.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/507
https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/13
2019-08-05 21:38:51 +00:00
Florian Müllner
f42d9df3e0 fileUtils: Add helper for loading D-Bus XML from resource
Commit dbf993300a moved all inline D-Bus interface descriptions to template
strings so we can stop escaping line breaks.

Unfortunately that unveiled a grave bug in xgettext, which currently cannot
handle files that contain both backtick and slash characters - as a result,
translations from affected files have started to disappear as translators
run xgettext/msgmerge.

Instead of reverting the change and getting the crusty escaping back, we
will take this as an opportunity to stop inlining the XML altogether and
load it from a resource instead.

To facilitate that, add a small helper method that loads a D-Bus interface
description from a dedicated resource bundle.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/537
2018-09-17 07:34:49 +00:00
Florian Müllner
a76b28bd72 data: Move D-Bus interface descriptions into a subdir
We'll soon move the inlined XML of all interfaces we export or consume into
separate files. That's a significant increase from the interfaces for which
we install documentation, so it makes sense to use a dedicated subdir.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/537
2018-09-17 07:34:49 +00:00
Florian Müllner
d57dc94d9e tools: Migrate changed overrides settings
While the new per-desktop overrides in GIO are easier to use for
both developers and users, it is still inconvenient for everyone
who changed the defaults using the old overrides hack to lose
their settings. Address this by running a small script on startup
that migrates existing settings.

https://bugzilla.gnome.org/show_bug.cgi?id=786496
2018-07-31 18:36:26 +00:00
Florian Müllner
393d7246cc Replace custom override schema with per-desktop override
GSettings now recognizes per-desktop overrides that can be used
to change schemas' default values for a particular desktop. This
is not entirely unlike our existing custom override mechanism in
mutter, except that it is not limited to keys in org.gnome.mutter,
and it doesn't require a separate schema - the latter means that
we (and gnome-teak-tool) no longer have to figure out the correct
schema for the current login session and just use the original one.

https://bugzilla.gnome.org/show_bug.cgi?id=786496
2018-07-31 18:36:26 +00:00
Iain Lane
a5937d1d6d Add systemd units
So that we can be started by systemd --user, instead of gnome-session.

There are three units:

  - gnome-shell.service: Start gnome-shell itself.
  - gnome-shell-x11.target, gnome-shell-wayland.target: Sync points for
    units that need to care if x11 or wayland is in use.
    gnome-settings-daemon will use these, for example.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/138
2018-07-17 18:10:06 +00:00
Carlos Garnacho
52a779e432 data: Add keyboard layout JSON files
These have been created with the script at
git://repo.or.cz/cldr2json.git to translate the XML android
keymaps at http://www.unicode.org/Public/cldr/latest/keyboards.zip
into JSON, easier to parse from gnome-shell.
2018-02-05 17:46:57 +01:00
Florian Müllner
4543ca1620 build: Run unit tests on meson test
Meson makes it easy to define unit tests, so hook up the existing
ones.

https://bugzilla.gnome.org/show_bug.cgi?id=786497
2017-10-04 18:12:27 +02:00
Florian Müllner
ae0eeb0dca build: Fix portal installation with meson
Gah, this fell through the cracks ...
2017-07-20 01:49:37 +02:00
Florian Müllner
c987d3d2c9 build: Support the meson build system
Meson is on track to replace autotools as the build system of choice,
so support it in addition to autotools. If all goes well, we'll
eventually be able to drop the latter ...

https://bugzilla.gnome.org/show_bug.cgi?id=783229
2017-07-20 00:20:54 +02:00