1
0
Fork 0
A repository that has original source for patches used in the Arch User Repository package called "mutter-performance". https://aur.archlinux.org/packages/mutter-performance
Find a file
Carlos Garnacho 243890a688 wayland: Do not forget immediately of key press serials on key release
Prior to commit 5dfed8a431, the MetaWaylandKeyboard would always remember
the last key press serial, and consider it valid after the key was released,
as long as no other key presses/releases happened in between.

That commit improved things so that MetaWaylandKeyboard can track multiple
keys being pressed simultaneously, but also changed so that the serial for
a key press is immediately forgotten after the key press event was received.
This may break in situations like testing or keyboard macros where key
press and release is handled in a quick sucession, so the client reaction
to the key press (e.g. popping up a menu) might arrive too late.

Add a sort of spiritual successor to this handling, and make keyboard
press serials corresponding to the last key up forgotten at the next
key press/release received.

Fixes: 5dfed8a431 ("wayland: Preserve serial for all pressed keys")
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3458
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3721>
2024-04-26 19:15:06 +00:00
.gitlab/issue_templates gitlab: Add missing < in markdown comment tag 2020-02-14 03:10:28 +00:00
.gitlab-ci ci: Check repo sanity 2024-04-02 11:16:31 +02:00
clutter clutter: Make low-level picking function private to ClutterStage 2024-04-17 14:28:14 +00:00
cogl cogl/onscreen: Add cogl_onscreen_egl_maybe_create_timestamp_query 2024-04-10 11:17:23 +02:00
data dbus-interfaces: Fix layout-mode comment 2024-04-05 13:45:01 +00:00
doc clutter/frame-clock: Add a state for when scheduled "now" 2024-02-10 16:16:19 +00:00
meson build: Replace custom post-install script 2022-11-19 02:21:05 +01:00
mtk mtk/rectangle: Add auto-cleanup integration 2024-04-15 16:48:04 +00:00
po Update Friulian translation 2024-04-18 08:09:27 +00:00
src wayland: Do not forget immediately of key press serials on key release 2024-04-26 19:15:06 +00:00
subprojects docs: Prefer using gi-docgen from a subproject 2024-02-09 12:29:50 +00:00
tools tools/uncrustify: Fix invalid align_nl_cont value 2024-03-12 12:48:20 +10:00
.gitignore misc: Add common noisy dirs to gitignore 2024-01-08 19:53:57 +01:00
.gitlab-ci.yml ci: Check repo sanity 2024-04-02 11:16:31 +02:00
check-style.py check-style: Force the default prefix in git diff 2024-03-12 12:47:56 +10:00
config.h.meson wayland: Add MetaDrmTimeline 2024-03-28 13:27:42 -04:00
COPYING Updated obsolete FSF postal address in COPYING 2014-01-12 08:44:30 +07:00
logo.svg docs: Add a logo 2024-01-09 13:38:54 +00:00
meson.build x11: Drop obsolete libXrender dependency 2024-04-22 10:16:31 +00:00
meson_options.txt meson: Make libdisplay_info a feature option 2024-02-14 11:37:21 +00:00
mutter.doap DOAP: Remove defunct mailing list; add Discourse 2023-09-15 03:19:22 +02:00
NEWS Bump version to 46.1 2024-04-19 19:48:34 +02:00
README.md misc: Use the new mutter.gnome.org URL 2024-01-12 10:48:20 +00:00

Mutter

Mutter is a Wayland display server and X11 window manager and compositor library.

When used as a Wayland display server, it runs on top of KMS and libinput. It implements the compositor side of the Wayland core protocol as well as various protocol extensions. It also has functionality related to running X11 applications using Xwayland.

When used on top of Xorg it acts as a X11 window manager and compositing manager.

It contains functionality related to, among other things, window management, window compositing, focus tracking, workspace management, keybindings and monitor configuration.

Internally it uses a fork of Cogl, a hardware acceleration abstraction library used to simplify usage of OpenGL pipelines, as well as a fork of Clutter, a scene graph and user interface toolkit.

Mutter is used by, for example, GNOME Shell, the GNOME core user interface, and by Gala, elementary OS's window manager. It can also be run standalone, using the command "mutter", but just running plain mutter is only intended for debugging purposes.

Contributing

To contribute, open merge requests at https://gitlab.gnome.org/GNOME/mutter.

It can be useful to first look at the GNOME Handbook and the documentation and API references below first.

Documentation

API Reference

License

Mutter is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for detalis.