Skip to content

Master noble fixed - #1827

Open
siddhpant wants to merge 9 commits into
pop-os:master_noblefrom
siddhpant:master_noble_fixed
Open

siddhpant wants to merge 9 commits into
pop-os:master_noblefrom
siddhpant:master_noble_fixed

Conversation

@siddhpant

Copy link
Copy Markdown
Contributor

No description provided.

@siddhpant

Copy link
Copy Markdown
Contributor Author

@jacobgkau for master-noble. the other branch is now rebased over it.

@jacobgkau
jacobgkau requested a review from a team August 20, 2026 19:56
@jacobgkau

Copy link
Copy Markdown
Member

Reference: #1821

@jacobgkau jacobgkau left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Attempting to test this on GNOME 46 (on Pop!_OS 24.04 with GNOME Shell installed), I'm running into an issue where the window management shortcut keys (e.g. s, o, etc.) get stuck performing window management actions even when window management mode isn't active. This prevents me from typing those letters into any app windows (although they still work in the Activities overview). This doesn't seem to happen on the current master_noble. Perhaps it's a problem with f9576b8?

@siddhpant

Copy link
Copy Markdown
Contributor Author

Do you see any error in logs? I tried in a VM and it doesn't happen.

Screencast.From.2026-08-23.12-43-50.mp4

@siddhpant

This comment was marked as duplicate.

@jacobgkau

Copy link
Copy Markdown
Member

@siddhpant I apologize for not having much time to give this repo attention.

I tried in a VM and on a physical machine again, and I'm not able to recreate the stuck keyboard shortcut issue I described anymore. Additionally, I do see the fixes (e.g. for the crash on double-clicking a stack close button) working on Noble. I will try the exact machine I was using last time I tested again next time I'm in front of it, since I'm not sure why that was happening now.

GNOME 49 was included in Ubuntu 25.10 (questing), while Ubuntu 26.04 (resolute) has GNOME 50. It would be better if the cut-off for the new branch was 50+ (with master_resolute) instead of 49+ (which would be master_questing), since resolute is the LTS and will have a corresponding Pop!_OS version (meaning our CI will actually build it).

Regarding the maximize API change in GNOME 49, we have had code gated based on GNOME_VERSION before (some of those have been eliminated due to splitting the branches out, but it looks like it's still being used in at least one place right now). It would be best to use that approach to keep 49 support on the master_noble branch, if that's possible. (But I'm also a little confused on if it's necessary; my review of #1795 sounded like the 49 maximization fix didn't break earlier versions.)

@siddhpant

Copy link
Copy Markdown
Contributor Author

I don't think there is much / any difference between 49 and 50 support. The support commit only added a trivial function check for wayland (which is the only supported compositor in 50 hence no function). We can safely have GNOME 49+ in resolute branch.

The maximize change causes a ton of warnings in journalctl. It hides important warnings due to its flood. IMO nosie in journalctl is a bug on its own right.

@siddhpant

Copy link
Copy Markdown
Contributor Author

Ok well nvm, since we can change something and a later change may expose difference from 49 and 50. I'll update the branches.

This reverts commit 7898b65.

50+ support will be in master_resolute branch.

Signed-off-by: Siddh Raman Pant <25429745+siddhpant@users.noreply.github.com>
The API had changed here:
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4415

Thus we had warnings being logged when in stacked mode. The commit
which added support for GNOME 49 forgot to change that.

Also, to be in line with the fixes commit, we remove the
	unmaxize(HORIZONTAL);
	unmaximize(VERTICAL);
	unmaximize(BOTH);
code to checking for whether the window is maximized and then using
BOTH (i.e. its replacement) directly.

Closes: pop-os#1801
Fixes: d22d2ff ("fix: update window maximization logic to use new properties and added gnome 49 shell version in metadata")
Signed-off-by: Siddh Raman Pant <25429745+siddhpant@users.noreply.github.com>
GNOME 49 removed the (un)maximize flags arguments, but older versions
(which this branch claims to support) still require them.

So let's make version-aware ShellWindow helpers for (un)maximize.

Fixes: d22d2ff ("fix: update window maximization logic to use new properties and added gnome 49 shell version in metadata")
Suggested-by: Jacob Kauffmann <jacob@system76.com>
Signed-off-by: Siddh Raman Pant <25429745+siddhpant@users.noreply.github.com>
The first window is fully maximized, and then later when a second
window is opened, we don't get border for the first window when it
is in focus because after tiling the first window has stale value
for smart_gapped, and thus is_single_max_screen() returns true,
causing permitted in show_border() to be false.

Let's set smart_gapped for each window in a tree each time we tile.

Closes: pop-os#1758
Signed-off-by: Siddh Raman Pant <25429745+siddhpant@users.noreply.github.com>
It caused GNOME crash due to bug in mutter, which was fixed in v49.

But regardless, we should not spam the close signal. Also people might
be using versions before 49.

Closes: pop-os#1794
Signed-off-by: Siddh Raman Pant <25429745+siddhpant@users.noreply.github.com>
wl-clipboard invisible window (literally just a dot shows up) can cause
the tiler to make it take an entire window worth of space, and it is
supposed to be immediately closed so we see a tiling flicker. And also
sometimes the window dangles (there is an open bug for it), so it takes
up unnecessary space.

This window is not supposed to be tiled, in fact it has skip-taskbar
flag set. Let's add exceptions for it.

Closes: pop-os#1819
Signed-off-by: Siddh Raman Pant <25429745+siddhpant@users.noreply.github.com>
Nautilus file previews, like pressing space on a PDF file, is a
temporary window and it can't zoom in, it is supposed to be overlaid.

Let's add exception for it.

Signed-off-by: Siddh Raman Pant <25429745+siddhpant@users.noreply.github.com>
Entering window-management mode removed the normal bindings and
re-added the management bindings, then did the inverse on exit.
This leads to journalctl spam since we overwrite a keybinding,
and mutter logs overwrite warnings.

Register the window-management mode bindings once with it being
inactive initially (Shell.ActionMode.NONE), and later enable it
(Shell.ActionMode.NORMAL) when entering the management mode, and
then disabling on exit.

Closes: pop-os#1820
Signed-off-by: Siddh Raman Pant <25429745+siddhpant@users.noreply.github.com>
This branch supports GNOME 46+ only according to README.

Signed-off-by: Siddh Raman Pant <25429745+siddhpant@users.noreply.github.com>
@siddhpant

Copy link
Copy Markdown
Contributor Author

Done, updated both branches. I didn't build-test this branch as I'm on 50 now.

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.

2 participants