Commit Graph

150 Commits

Author SHA1 Message Date
Evan Welsh
56beb6ff2b extensionUtils: Add DISABLING and ENABLING extension states
Extensions can export asynchronous enable() and disable()
functions. To guard against re-entrancy when enabling or
disabling an extension, this commit adds two new states:
ENABLING and DISABLING which are set immediately prior
to calling enable() and disable() respectively.

This commit updates the extensions CLI and Extensions app
with new strings for these states.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2364>
2022-12-01 12:59:32 +00:00
Florian Müllner
8b00255cc3 Bump version to 43.1
Update NEWS.
2022-11-04 11:19:53 +01:00
Florian Müllner
0bd73b79a6 Bump version to 43.0
Update NEWS.
2022-09-17 18:37:59 +02:00
Florian Müllner
316dc289f2 Bump version to 43.rc
Update NEWS.
2022-09-04 15:18:09 +02:00
Florian Müllner
0d2af8e29b Bump version to 43.beta
Update NEWS.
2022-08-10 20:01:34 +02:00
Florian Müllner
637ee7386e js: Use async D-Bus wrappers
After porting the more complex cases - in particular those that
affect a module's API - we are left with straight-forward D-Bus
method calls that can be moved to promise-based wrappers in one
go.

For consistency, this also switches from Remote to Async where
the call result is ignored.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2344>
2022-08-01 18:51:14 +00:00
Florian Müllner
a3dc9817f2 extensions-app: Use new add_action_entries() override
g_action_map_add_entries() is a C convenience API that isn't
introspectable, but gjs recently added a JS override for it.

Use it to save some boilerplate.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2371>
2022-08-01 13:03:32 +02:00
Christopher Davis
9d47062c32 extensions-app: Use apps.gnome.org as website
apps.gnome.org provides a more user-friendly overview of
the Extensions app than linking to the source code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2373>
2022-07-13 17:10:25 -04:00
Christopher Davis
f7b817a6a0 extensions-app: Port about to AdwAboutWindow
libadwaita has a new About window, and GNOME apps are expected
to use it going forward instead of GtkAboutDialog.

Comments are meant to be detailed, and are no longer shown in the
main view. So we remove the old comments.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2373>
2022-07-13 17:08:25 -04:00
Florian Müllner
06d17d6d67 build: Specify check kwarg in run_command
Meson now warns that the default will change in a future version,
so set it explicitly to maintain the existing behavior (and shut
up the meson warning).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2350>
2022-07-11 14:21:58 +00:00
Florian Müllner
022359f55b Bump version to 43.alpha
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2376>
2022-07-10 14:18:49 +02:00
Florian Müllner
bc533af73f Bump version to 42.1
Update NEWS.
2022-05-05 22:56:53 +02:00
Simon McVittie
7f4f328a7f Specify API versions for all public GIR APIs, except GLib
If one of these libraries breaks its GIR API in future, then upgrading
packages unrelated to gnome-shell might pull in the newer version,
causing gnome-shell to crash when it gets a newer GIR API that is
incompatible with its expectations. For example, this seems to be
happening in Debian testing at the moment, when GNOME Shell 41.4
imports GWeather and can get version 4.0 instead of the version 3.0 that
it expected.

Adding explicit API versions at the time the newer version is released
is too late, because that will still let the newer version of the GIR API
break pre-existing GNOME Shell packages. Prevent similar crashes in
future by making the desired versions explicit.

This is done for all third-party libraries except GLib, similar to the
common practice in Python code; if GLib breaks API, then that will be
a disruptive change to the whole GLib/GObject ecosystem, regardless.

Gvc, Meta, Shell, Shew, St are not included because they're private
(only exist in a non-default search path entry).

Clutter and Cogl *are* included, because we need to import the fork of
them that comes with Meta, as opposed to their deprecated standalone
versions.

Signed-off-by: Simon McVittie <smcv@debian.org>
Bug-Debian: https://bugs.debian.org/1008926
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2261>
2022-04-04 17:55:25 +01:00
Florian Müllner
44b4b02c3f Bump version to 42.0
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2239>
2022-03-12 22:43:13 +01:00
Florian Müllner
c2bc101ff4 Bump version to 42.rc
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2232>
2022-03-07 15:49:29 +01:00
Florian Müllner
7dab3667a7 Bump version to 42.beta
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2182>
2022-02-14 21:07:17 +01:00
Romain Vigier
eef77abe5b extensions-app: Update screenshots with the latest design
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2114>
2022-02-12 14:51:30 +00:00
Romain Vigier
1087a0f6c1 extensions-app: Update authors list
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2114>
2022-02-12 14:51:30 +00:00
Romain Vigier
77bd26fe07 extensions-app: Enable/disable an extension by activating the row
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2114>
2022-02-12 14:51:30 +00:00
Romain Vigier
859ded5790 extensions-app: Remove extension row revealer
Make all the actions (open website, open preferences, remove extension) and
information (description, version number) readily available.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2114>
2022-02-12 14:51:30 +00:00
Romain Vigier
db39b792c2 extensions-app: Change lists style class to .boxed-list
The previous `.content` style class is deprecated.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2114>
2022-02-12 14:51:30 +00:00
Romain Vigier
bd82a335f3 extensions-app: Move headerbar content to the main view
With the new borderless style of libadwaita, the global switch in the headerbar
did not look good. Moving it to the main view is the opportunity to also move
the content of the information popover.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2114>
2022-02-12 14:51:30 +00:00
Florian Müllner
a1dd1b25d8 js: Use templates for non-translatable strings
This reverts commit 9d941f8202 and replaces all additional
instances of .format() that have been added since.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2160>
2022-02-12 12:29:52 +00:00
Florian Müllner
5442266f28 js: Simplify promisify() calls
If the finish function isn't specified, promisify will now try
to use the async name without '_async'/'_begin' suffix (if any)
and '_finish' appended.

Everything except IBus uses a variation of that pattern, so there's
quite a bit of boilerplate we get to remove…

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2174>
2022-02-11 16:24:01 +00:00
Florian Müllner
869560e054 extensions-tool: Request missing attribute
g_file_enumerator_iterate() requires an enumerator that was created
with standard::file.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2121>
2022-01-22 13:05:30 +00:00
Florian Müllner
330894f84a Bump version to 42.alpha
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2095>
2022-01-10 19:20:59 +01:00
Romain Vigier
ab5977713b extensions-app: Use AdwPreferencesPage and AdwPreferencesGroup
Give consistent styling and sizing to extensions lists.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1997>
2022-01-05 15:50:47 +01:00
Romain Vigier
1359cedc00 extensions-app: Vertically center updates bar text
With the new stylesheet, the text is too close to the bar border.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1997>
2022-01-05 15:50:47 +01:00
Romain Vigier
e0f2674d8b extensions-app: Replace empty views with AdwStatusPage
AdwStatusPage provides consistent styling for empty views.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1997>
2022-01-05 15:50:47 +01:00
Romain Vigier
35b26229bc extensions-app: Use .content class for lists
Since the `.content` class comes with its own separators, we
don't need the property `use-separators` on the list.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1997>
2022-01-05 15:50:47 +01:00
Romain Vigier
ec0ee7eaec extensions-app: Use .heading class for headings
Don't hardcode headings styling.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1997>
2022-01-05 15:50:47 +01:00
Florian Müllner
f0754431bf extensions-app: Use Adw.Application's automatic style loading
Now that we switched to AdwApplication, we can automate loading
the custom stylesheet by simply using the expected name and
resource prefix.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1997>
2022-01-05 15:50:43 +01:00
Romain Vigier
891978b4eb extensions-app: Use AdwApplication
Initialize libadwaita, which loads the libadwaita stylesheet
and allow following the dark style preference of the system.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1997>
2022-01-05 14:33:35 +01: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
00e5f40ddd build: Use meson's gnome.post_install()
... instead of the external script.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2077>
2021-12-23 15:52:21 +00:00
Florian Müllner
daf729de11 build: Replace deprecated meson functions
Replace deprecated functions with their direct replacements:

 - dep.get_pkgconfig_variable() → dep.get_variable()
 - prg.path() → prg.full_path()
 - source/build_root() → project_source/build_root()

In one case we need meson.global_source_root() that was only
added in meson 0.58, so bump the requirement to that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2077>
2021-12-23 15:52:21 +00:00
Florian Müllner
e8d5564e9e extensions-app: Start as service when D-Bus activated
When the app is properly launched, D-Bus activation will be followed
by a call to org.freedesktop.Application.Activate() to open the window.

But it's also possible for D-Bus activation to happen in other
circumstances, for example during gdbus command line completion.

We don't want to pop up a window then, so pass the --gapplication-service
flag to properly separate D-Bus activation from activating the app.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2076>
2021-12-22 21:04:33 +00:00
Florian Müllner
09ed1c533c extensions-tool/prefs: Log D-Bus errors
We currently ignore any error that may occur when calling the
OpenExtensionPrefs D-Bus method. Right now such an error is highly
unlikely, given that we already checked that we are running under
gnome-shell and the extension in question exists and has prefs.

We'll soon make sure that only one dialog is shown at any time,
which is an error that we can realistically expect, so handle that
properly.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2013>
2021-10-30 21:50:47 +00:00
Florian Müllner
79f448958b extensions-tool: Add missing newline
Unlike g_warning() and friends, g_printerr() does not append
a trailing newline.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2013>
2021-10-30 21:50:47 +00:00
Florian Müllner
0bf515eb10 Bump version to 41.0
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1981>
2021-09-19 12:47:55 +02:00
Florian Müllner
72e3e60411 Bump version to 41.rc.1
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1976>
2021-09-07 15:15:11 +02:00
Florian Müllner
743044291d Bump version to 41.rc
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1971>
2021-09-05 09:35:45 +02:00
Florian Müllner
537f754fb0 build: Move metainfo version check into distscript
The time we really care about current release information in appdata is
when preparing a release, not during regular builds.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1968>
2021-09-04 23:46:46 +02:00
Florian Müllner
ef70364e81 cleanup: Replace non-standard ByteArray module
gjs landed support for TextDecoder/TextEncoder. Use those instead
of gjs' own ByteArray module.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1946>
2021-09-01 14:49:30 +00:00
Florian Müllner
06c4929493 subprojects: Use meson compile to generate translations
... for the same cosmetic reasons as the previous commit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1937>
2021-08-24 08:18:26 +00:00
Florian Müllner
ea6433b2cb extensions-tool: Remove GNOME Software reference from man page
It no longer manages extensions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1956>
2021-08-22 19:25:34 +00:00
Florian Müllner
aec128fdee Bump versiont to 41.beta
Update NEWS.
2021-08-18 01:10:41 +02:00
Florian Müllner
1deb13e1aa extensionUtils: Add gettext convenience helpers
We have initTranslations() for binding an extension's
gettext domain, but nothing to help with using gettext
from an extension.

Such help would be useful though, as an extension that
calls textdomain() like a normal application would
inadvertently changes the default domain for the whole
gnome-shell process.

Instead, extensions have to use domain-specific versions
of the gettext functions:

```js
const Gettext = imports.gettext.domain('my-extension');
const _ = Gettext.gettext;
```

Make this a bit easier by adding those functions directly
to the extensions object when initTranslations() is called,
then expose helper functions for calling them.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1941>
2021-08-14 18:45:25 +00:00
Florian Müllner
df76c3fd11 Update links to use HEAD instead of master
That way the link will keep working when projects change their
default branch name.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1914>
2021-07-18 21:45:46 +00:00
Leleat
f8cd01c6dc extension-tool: Always print extension location after its creation
The extension location was only printed, if there was no handler for
the newly created extension. This is confusing for new extension
developers. So always print the extension location.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2515.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1856>
2021-05-25 18:30:25 +00:00