Skip to content

Handle shexli reports for 51 fixes - #473

Merged
3v1n0 merged 9 commits into
mainfrom
shexli-51-fixes
Sep 20, 2026
Merged

3v1n0 merged 9 commits into
mainfrom
shexli-51-fixes

Conversation

@3v1n0

@3v1n0 3v1n0 commented Sep 20, 2026 •

Copy link
Copy Markdown
Collaborator

See commits for details, using https://gitlab.gnome.org/3v1n0/extensions-web/-/commits/51-improvements until the various upstream MRs I've submitted are not merged

GNOME Shell compiles the schema when the extension is installed, so
schemas/gschemas.compiled doesn't need to be part of the package (and
the EGO review guidelines ask not to include it).
Reading the file synchronously while enabling the extension blocks the
shell, so use the asynchronous API with a cancellable that is cancelled
when the extension is disabled. The create() call that preceded it was a
no-op (the file was already checked to exist and the call always failed
with EXISTS), so drop it as well.
getLayouts() read the layouts file synchronously on every call, which
happens quite often while tiling. Load it once and refresh it
asynchronously via a file monitor, with a cancellable that is cancelled
when the extension is disabled.
lookupByURL() and lookupByUUID() are discouraged for accessing the
current extension. Keep a reference to the Extension instance in the
Settings singleton and use its path and openPreferences() instead.
get_maximized() was removed in GNOME Shell 49. Derive the maximize
directions from maximizedHorizontally/maximizedVertically instead, and
use unmaximize()'s arity to tell whether it still takes the flags.
GNOME Shell 49 removed the flags parameter of maximize(). Route the
calls through a helper that only passes the flags when the method still
takes them, keeping GNOME 48 working.
Connect the search entry and the panel indicator gesture with
connectObject() and arrow functions, so the handlers are cleaned up
together with the widget they belong to.
Destroy the switcher arrows, thumbnail bins and labels from the destroy
signal handler instead of overriding destroy() on the Clutter actors.
The thumbnail bins can no longer be dropped right after adding the
clones, so track that with a flag instead.

Also ignore the vendored `src/dependencies/unexported/` files in eslint,
since they follow gnome-shell's own style.
Add a job that installs shexli from the 51-improvements branch and runs
it on the built extension zip. The versioned vendored files (altTab-48,
switcherPopup-48) are skipped via --exclude since they are kept as-is.
@3v1n0
3v1n0 merged commit 612f926 into main Sep 20, 2026
4 checks passed
@3v1n0
3v1n0 deleted the shexli-51-fixes branch September 20, 2026 18:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant