190 Commits

Author SHA1 Message Date
Florian Müllner
429f08b597
Bump version to 48.rc
Update NEWS.
2025-03-03 17:11:24 +01:00
Florian Müllner
9ecc278e29
Bump version to 48.beta
Update NEWS.
2025-02-05 00:36:41 +01:00
Florian Müllner
b426119a7e
Bump version to 48.alpha
Update NEWS.
2025-01-13 15:48:30 +01:00
Maximiliano Sandoval
50ce1fcee7 extensions-app: Allow closing window with ctrl+w
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3577>
2025-01-02 16:06:06 +00:00
Automeris naranja
8a80dbec9e extensions-app: Add tooltips to icon-only buttons from ExtensionRow
This improves the recognizability of these buttons.

Also, remove the button a11y labels, as Orca
tooltips are also read by Orca.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3529>
2024-11-05 18:57:54 +00:00
Florian Müllner
86be4e31a6 build: Use SPDX identifier for license field
SPDX has become the established standard for expressing FLOSS
licenses, and is what meson itself strongly recommends for the
license field.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3521>
2024-10-21 10:57:21 +00:00
Florian Müllner
a79d517c12 build: Stop using appstream-util for metainfo validation
Everything, including flathub[0], should be using appstreamcli
now, so stop supporting the old tool as well.

[0] https://docs.flathub.org/blog/improved-build-validation

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3520>
2024-10-21 10:18:05 +00:00
Florian Müllner
7405f7c360 build: Do not require appstream-util for metainfo version check
appstream-util is deprecated in favor of appstreamcli. The new tool
does not have a `validate-version` command, so implement the check
in directly in the check-version.py script.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3520>
2024-10-21 10:18:05 +00:00
Florian Müllner
957504b1f6
Bump version to 47.0
Update NEWS.
2024-09-14 17:17:32 +02:00
Balló György
8af1a1dfb9 metainfo: Add URL to contribute
See: https://gitlab.gnome.org/GNOME/Initiatives/-/issues/51

# Conflicts:
#	subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3374>
2024-09-04 13:11:46 +00:00
Florian Müllner
092fd6334d
Bump version to 47.rc
Update NEWS.
2024-09-01 13:53:34 +02:00
Florian Müllner
2ce940fd9b
Bump version to 47.beta
Update NEWS.
2024-08-03 20:12:28 +02:00
Florian Müllner
e997a0a724
Bump version to 47.alpha
Update NEWS.
2024-06-29 21:45:07 +02:00
Balló György
5a99ba1a06 extensions-app: Link to GitLab Issues instead of New Issue URL
When not logged in, the New Issue URL only redirects to an unhelpful
login page while the Issues page allows you to search for existing
issues and still offers a "New Issue" button.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3377>
2024-06-20 13:36:12 +00:00
Balló György
1c6d76907c extensions-app: Substitute gettext package in metainfo
The gettext domain name can be configured in meson options, but defaults
to 'gnome-shell' if it's built as a submodule.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3368>
2024-06-13 18:34:56 +00:00
Automeris naranja
7b8ed9d28b extensions-window: Minor UI tweaks to the "No Results Found" page
In many GNOME apps, the "No Results Found" status page use
edit-find-symbolic as the icon, so use it in Extensions too
to keep consistency.

Also, remove the period from the status page description, as
per HIG writing style guidelines[1].

[1] https://developer.gnome.org/hig/guidelines/writing-style.html#periods

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3270>
2024-04-29 17:04:54 +00:00
Gabriel Nagy
a106e52b4f extensions-app: Fix XML declaration in gschema
Even if an invalid syntax doesn't make glib-compile-schemas error out in this
case, ensure the file is valid XML to appease third-party parsers.

Signed-off-by: Gabriel Nagy <gabriel.nagy@canonical.com>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3281>
2024-04-24 18:28:18 +03:00
Florian Müllner
0d0aadf013
Bump version to 46.1
Update NEWS.
2024-04-21 14:24:51 +02:00
Automeris naranja
94ba7a5df2 extensions-app: Add tooltips to icon-only buttons
Also, remove their a11y labels, because Orca also
reads tooltips.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3271>
2024-04-17 15:31:40 -03:00
Automeris naranja
2c08fe6201 extensions-app: Replace info-symbolic with info-outline-symbolic
Software and Settings apps are now using info-outline-symbolic,
so use it in Extensions too to keep consistency.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3269>
2024-04-16 21:37:30 -03:00
Florian Müllner
b00b674a6f extensions-app: Don't use markup for row titles
The title is set from extension metadata, which isn't supposed to
contain markup. That means it may contain unescaped  characters
like `&` that break the title when interpreted as markup.

Explicitly opt out of markup handling to fix this.

Close: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7579
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3266>
2024-04-16 13:35:05 +00:00
Florian Müllner
0463511457
Bump version to 46.0
Update NEWS.
2024-03-16 01:56:52 +01:00
Florian Müllner
7b8aa81fd9 extensions-app: Add brand colors
Flathub recently added support for "brand colors"[0] that app
stores can use to improve an app's presentation.

Sam Hewitt was kind enough to provide some for the Extensions
app, add them to the metainfo.

[0] https://docs.flathub.org/blog/introducing-app-brand-colors/

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3226>
2024-03-08 19:52:12 +00:00
Florian Müllner
dfb0f96f29
Bump version to 46.rc
Update NEWS.
2024-03-03 15:37:13 +01:00
Sophie Herold
d31dab77e0 metainfo: Fix wrong developer ID
Appstream decided to use reversed domains, see
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-developer.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3217>
2024-03-01 18:17:38 +01:00
Florian Müllner
be3b92ec45 extensions-app: Set app version
GApplication now has a `version` property to support a `--version`
flag on the commandline. It's a nice touch, so set it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3216>
2024-03-01 11:36:00 +00:00
Florian Müllner
bf69aeb779 extensions-app: Update "translate" URL in metainfo
Instead of pointing to the (about to be retired) wiki, link to
the module page in damned lies.

https://gitlab.gnome.org/GNOME/Initiatives/-/issues/51

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3215>
2024-02-29 16:59:10 +00:00
Florian Müllner
3504a6a8a9 extensions-app: Fix service activation mix-up
Starting the D-Bus service should not pop-up a window by itself,
it should just register and wait for an explicit call to Activate().

The .desktop file on the other hand should fully activate the
app when using the Exec line.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3202>
2024-02-20 12:46:24 +00:00
Florian Müllner
fbe3c4120f Bump version to 46.beta
Update NEWS.
2024-02-11 17:54:00 +01:00
Florian Müllner
fa81335fe8 extensions-app: Create about dialog from metainfo
Using the existing metainfo to populate the about window means that
we stop duplicating information, which is generally a good idea.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3158>
2024-02-01 12:11:17 +00:00
Florian Müllner
dfff65bf05 extensions-app: Fix app ID in .Devel metainfo
The ID is currently hard-coded to the non-development one, with
the result that the .Devel app effectively doesn't have any
metainfo.

Fix that by configuring the file with the correct ID.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3158>
2024-02-01 12:11:17 +00:00
Florian Müllner
0c705aefc1 extensions-app: Use new adaptive dialogs
We already fulfill all prerequisites of the new adaptive dialogs,
so the port is straight-forward and painless.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3148>
2024-01-30 23:22:32 +01:00
Florian Müllner
41b94ccf11 extensions-app: Remember window state
It's good practice to save and reload the window size and
maximization state, and easy enough to implement, so let's
do that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3115>
2024-01-13 23:44:35 +01:00
Florian Müllner
99f3b24911 Bump version to 46.alpha
Update NEWS.
2024-01-07 11:16:54 +01:00
Florian Müllner
e75a2ca146 extensions-app: Only change state if necessary
The `state-set` signal is emitted to change the underlying state,
which can have two reasons:

 1. the user toggled the switch
 2. the extension's `enabled` state changed externally

In the second case, calling enable/disable is pointless at best,
and can mess up the expected state by permanently disabling an
extension that was disabled because of the global kill switch.

Address this by only calling enable/disable if the new state does
not already match the current value of the `enabled` property.

Close https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7305

Fixes: fec523f83f ("extensions-app: Use new 'enabled' property")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3090>
2024-01-07 10:02:23 +00:00
Florian Müllner
7a9bfa2744 extensions-app: Add compat code for older shell versions
The Extensions app is also distributed as flatpak, so we cannot
assume that its version matches the shell. In order to not show
all extensions as disabled when running under a shell version that
doesn't include the `enabled` property yet, add a fallback based
on the current state.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3073>
2024-01-03 20:05:05 +00:00
Florian Müllner
fec523f83f extensions-app: Use new 'enabled' property
The switch for enabling/disabling extensions currently bases its
state on the extension's ACTIVE state.

This is problematic in the enabled-but-inactive case, because
activating the switch tries to change the state from off to on,
which leads to enabling an already enabled extension (an obvious
no-op).

The new `enabled` property allows us to do better, and use delayed
state changes where the switch position represents the `enabled`
state, and the trough color whether the extension is ACTIVE.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3073>
2024-01-03 20:05:05 +00:00
Florian Müllner
e6624f8ba1 extensionSytem: Rename ENABLED/DISABLED states
The ENABLED state means that an extension's `enable()` method
was called successfully.

This usually matches whether an extension *should* be enabled
according to the enabled-extensions/disabled-extensions settings,
but not necessarily: If an extension had an error or does not
support the currently active mode, its actual state is different.

We currently only expose the actual state to external tooling,
but whether an extension should be enabled is relevant as well,
for example to disable a lock-screen only extension from the
regular session.

For that purpose we will expose a separate `enabled` property.
To avoid confusion with the existing states, change the exposed
names to (IN)ACTIVE.

This does not affect the D-Bus API, as the numeric values of
the states remain unchanged.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3073>
2024-01-03 20:05:05 +00:00
Sabri Ünal
8e0308d097 extensions-app: Restore developer_name
The newly added developer name syntax appears not implemented
across related platforms: GNOME Software, Flathub, etc.

There is no harm in using both deprecated and newly introduced
tags together, and neither appstream-glib nor appstreamcli
fails to validate this usage.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3079>
2023-12-24 00:40:32 +03:00
Sabri Ünal
a8fbb57cdd extension-app: Improve appdata for AppStream 1.0
- Use the `<developer><name>` tag instead of the deprecated `<developer_name>`
- Implement appstreamcli for extra appdata validation
- Fix a release description
- Update the donation URL
- Add the translation tag

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3071>
2023-12-21 19:26:57 +00:00
Florian Müllner
f43a05bee6 extensions-app: Update metainfo
After the last rounds of redesign, it's time to update
the appdata accordingly:

- update screenshots
- add screenshot captions
- point homepage to apps.gnome.org
- mark as mobile adaptive

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3067>
2023-12-21 15:24:23 +00:00
Florian Müllner
1667b36abd extensions-app: Overhaul search
Instead of awkwardly filtering two different lists, use a separate
search page that filters a single list, similar to what libadwaita
does for preference windows.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3067>
2023-12-21 15:24:23 +00:00
Florian Müllner
7907b9754b extensions-app: Use ListModel to track extensions
Manually adding and removing rows to dynamic lists is rather
old-fashioned, GTK 4 strongly encourages the use of models.

Modernize the code by exposing extensions as ListModel, and
bind it to the two lists with appropriate filters.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3067>
2023-12-21 15:24:23 +00:00
Florian Müllner
2c592059bc extensions-app: Use property bindings in row
Now that extensions are represented as GObjects, we can update
the UI via property bindings instead of manually handling the
logic in the code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3067>
2023-12-21 15:24:23 +00:00
Florian Müllner
1f7ca2bf38 extensions-app: Bind actions' enabled properties
Most properties that determine the availability of an action are
not expected to change, but now that extensions are represented
as a GObject, we can just generically set up bindings for all
actions instead of explicitly tracking the properties that we
expect to change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3067>
2023-12-21 15:24:23 +00:00
Florian Müllner
198c7bbd9c extensions-app: Turn Extension into a GObject
This makes the Extension class usable as item-type in models,
and allows us to use property bindings.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3067>
2023-12-21 15:24:23 +00:00
Florian Müllner
f7ded3e509 extensions-app: Split out ExtensionManager
The extension handling is currently intertwined with the UI.

Splitting it out provides a clearer separation, and will allow
us to switch to a model-based UI later.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3067>
2023-12-21 15:24:23 +00:00
Florian Müllner
3d070fdc6b extensions-app: Move classes to their own files
Using a single source file is getting unwieldy, so start
splitting it up.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3067>
2023-12-21 15:24:23 +00:00
Florian Müllner
ee5b428232 extensions-app: Stop simulating Shell.global
ExtensionUtils no longer relies on the global object, so we don't
have to simulate it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3067>
2023-12-21 15:24:23 +00:00
Florian Müllner
fa587b4b9e extensions-app: Use console for logging
This allows us to use different log levels, and an appropriate
log domain.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3067>
2023-12-21 15:24:23 +00:00