Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
aports
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Monitor
Service Desk
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
alpine
aports
Commits
393a7cb5
Commit
393a7cb5
authored
2 years ago
by
alice
Browse files
Options
Downloads
Patches
Plain Diff
community/mutter: backport xwayland patch
parent
4a4be7ca
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
community/mutter/APKBUILD
+3
-1
3 additions, 1 deletion
community/mutter/APKBUILD
community/mutter/broken-focus.patch
+52
-0
52 additions, 0 deletions
community/mutter/broken-focus.patch
with
55 additions
and
1 deletion
community/mutter/APKBUILD
+
3
−
1
View file @
393a7cb5
...
...
@@ -2,7 +2,7 @@
# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname
=
mutter
pkgver
=
43.3
pkgrel
=
0
pkgrel
=
1
pkgdesc
=
"clutter-based window manager and compositor"
url
=
"https://wiki.gnome.org/Projects/Mutter/"
arch
=
"all"
...
...
@@ -67,6 +67,7 @@ subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-schem
source
=
"https://download.gnome.org/sources/mutter/
${
pkgver
%.*
}
/mutter-
$pkgver
.tar.xz
fixudev-req.patch
pcversion.patch
broken-focus.patch
"
build
()
{
...
...
@@ -100,4 +101,5 @@ sha512sums="
5e9d4b213ac674889af9c15dd52f79a28a1c38af57f08a19bd6b2bf78a799aaa2f6dcb76adb9fa8d6a94e21d988befc37a696bc06801c96e1f692c80a5aff2ae mutter-43.3.tar.xz
3e5dd59f2f2fd80edde13f64d70d52a023dec303fd8dbfa3ded0d77faf7643179f2ad74d4acd3450decb67deaf6ac85a7af5146fa96f33917b4363f884413af9 fixudev-req.patch
bb46a4692aaff0c9e6092d1ba80d19b336035e983f0f20a437a586757bc2530860f50fbd46b09f73e88f0dd80ea7188d1df467b8f762918717785e618b6e9c4b pcversion.patch
6703b9f5c4b82c834ff5a942487b531c3d9ae5e00d52401e9cd0ae24f54085f8d935a7c1c23c84ccf452e34545b875352d1ad1fbd9cf4204d5ec4a0d4deb59d2 broken-focus.patch
"
This diff is collapsed.
Click to expand it.
community/mutter/broken-focus.patch
0 → 100644
+
52
−
0
View file @
393a7cb5
From 12ce58dba4f96f6a948c1d166646d263253e3ee0 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Mon, 13 Feb 2023 20:12:38 +0100
Subject: [PATCH] x11: Avoid updating focus on wayland compositor
Reading upon the history of this code branch (commits 6891ce95dce
and 7a4c808e43d4 are most relevant), it seems this code is meant to
synchronize Mutter focus state taking the Xserver state as true.
That is, if Mutter tried to change the focus but something truncated
that action, Mutter focus will be changed to be in sync with the
Xserver again.
This sounds backwards in a Wayland session. Mutter focus should be
the canonical source, and not second-guessed from the current Xserver
focus window. These race conditions might still apply between X11
clients, so make these paths only apply in that case.
An example of this breaking can be reproduced with a Spotify and
Firefox window, moving the focus from the first to the second by
going to the GNOME Shell overview in between, and clicking the
Firefox window from there. The Firefox window will be raised, but
refuse to take focus.
It's unclear what made this an issue recently, perhaps commit
0e6395d9328 since the now possibly ignored XI_FocusIn/Out events
affect this accounting of the Xserver focused window. Anyhow it
sounds better to ignore these paths for Wayland/native altogether.
(cherry picked from commit 81c0cf0834e5b11ad8674accf5d143725c19d5ae)
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2848>
---
src/x11/events.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/x11/events.c b/src/x11/events.c
index 8b9c108253..cc7f214230 100644
--- a/src/x11/events.c
+++ b/src/x11/events.c
@@ -1932,6 +1932,7 @@
meta_x11_display_handle_xevent (MetaX11Display *x11_display,
if (x11_display->focused_by_us &&
event->xany.serial > x11_display->focus_serial &&
display->focus_window &&
+ display->focus_window->client_type == META_WINDOW_CLIENT_TYPE_X11 &&
!window_has_xwindow (display->focus_window, x11_display->server_focus_window) &&
meta_display_windows_are_interactable (display))
{
--
GitLab
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment