View Bazaar branches
Get this repository:
git clone https://git.launchpad.net/mutter

See all merge proposals.

Import details

Import Status: Failed

This repository is an import of the Git repository at https://git.gnome.org/browse/mutter/.

The import has been suspended because it failed 5 or more times in succession.

Last successful import was .

Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 14 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 14 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-5 and finished taking 1 hour 10 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 14 minutes — see the log

Branches

Name Last Modified Last Commit
main 2026-01-27 21:50:12 UTC
Update Turkish translation

Author: sabri unal
Author Date: 2026-01-27 21:50:12 UTC

Update Turkish translation

gnome-49 2026-01-23 12:02:48 UTC
Update Indonesian translation

Author: Andika Triwidada
Author Date: 2026-01-23 12:02:48 UTC

Update Indonesian translation

gnome-48 2026-01-22 10:41:05 UTC
Update Romanian translation

Author: Antonio Marin
Author Date: 2026-01-22 10:41:05 UTC

Update Romanian translation

bilelmoussaoui/context-cleanup-4 2026-01-20 12:46:23 UTC
cogl: Remove a bunch of unused Winsys features

Author: Bilal Elmoussaoui
Author Date: 2026-01-20 12:39:33 UTC

cogl: Remove a bunch of unused Winsys features

embedded-webview 2026-01-13 15:10:18 UTC
Use the bypass_grab to allow to these actors to receive events

Author: Joan Torres Lopez
Author Date: 2025-12-02 19:07:39 UTC

Use the bypass_grab to allow to these actors to receive events

even when a grab is active on the stage.

bilelmoussaoui/derivable-renderer 2025-11-07 16:33:01 UTC
cogl: Move setup/destroy vfuncs to Display

Author: Bilal Elmoussaoui
Author Date: 2025-11-07 16:33:01 UTC

cogl: Move setup/destroy vfuncs to Display

As that is where they belong. With that done, only Context specific bits remaing in Winsys.
Those would have to be handled separately.

gnome-47 2025-10-20 15:18:46 UTC
window/wayland: Add a warning when a fullscreen window exceeds boundary

Author: Jonas Ådahl
Author Date: 2025-08-15 22:31:18 UTC

window/wayland: Add a warning when a fullscreen window exceeds boundary

It's now allowed according to the xdg_shell specification, but to avoid
too harsh side effects when sending an error, just log a warning to the
journal. A test is added to verify this happens.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4587>
(cherry picked from commit 08d7df8d28b9324ec3fcf2cda78b3a615e193b48)
(cherry picked from commit bbc3102e8c85066072d9e15a9fe6d4a48fe70319)

bilelmoussaoui/context-cleanup 2025-08-21 10:23:13 UTC
cogl/context: Remove unused fields

Author: Bilal Elmoussaoui
Author Date: 2025-08-21 09:32:11 UTC

cogl/context: Remove unused fields

bilelmoussaoui/renderer-derive 2025-06-24 08:35:51 UTC
crap

Author: Bilal Elmoussaoui
Author Date: 2025-06-24 08:35:51 UTC

crap

bilelmoussaoui/clutter-cleanup-context 2025-05-24 14:01:42 UTC
clutter: Drop deprecated Settings.get_default

Author: Bilal Elmoussaoui
Author Date: 2025-05-24 14:01:42 UTC

clutter: Drop deprecated Settings.get_default

As that goes through global context.

wip/p3732/modality 2025-03-22 09:25:31 UTC
schemas: Move attach-modal-dialog setting

Author: Peter Eisenmann
Author Date: 2025-03-22 09:25:31 UTC

schemas: Move attach-modal-dialog setting

Now lives in gsettings-desktop-schemas.

Related: https://gitlab.gnome.org/GNOME/libadwaita/-/issues/801

gnome-46 2025-03-04 19:59:55 UTC
Bump version to 46.9

Author: =?utf-8?q?Florian_M=C3=BCllner?=
Author Date: 2025-03-04 18:59:17 UTC

Bump version to 46.9

Update NEWS.

gnome-45 2025-02-13 06:00:24 UTC
input-capture/session: Disconnect on_keymap_changed on session finalize

Author: Jonas Ådahl
Author Date: 2025-02-12 07:55:33 UTC

input-capture/session: Disconnect on_keymap_changed on session finalize

When Input Capture was enabled on Input Leap server startup and then
finalized when Input Leap server was stopped, switching keymap was
still triggering its on_keymap_changed callback, but on a freed session
thus triggering use after free a segfault.

Fixes: 2fb3bdf77 - input-capture: Hook up capturing of events to active session
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3360
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4257>

(cherry picked from commit 99dbcf1b8caba93acb5479d1c7ad754ff3fd0540)

Co-authored-by: Alban Browaeys <alban.browaeys@gmail.com>

bilelmoussaoui/cogl-cleanup-closure 2025-01-04 12:46:16 UTC
Remove unused CoglClosure fields

Author: Bilal Elmoussaoui
Author Date: 2025-01-04 11:43:46 UTC

Remove unused CoglClosure fields

bilelmoussaoui/screencast-cairo-less 2024-12-28 13:28:45 UTC
screenshot: Avoid using cairo in public API

Author: Bilal Elmoussaoui
Author Date: 2024-12-09 11:11:38 UTC

screenshot: Avoid using cairo in public API

Currently, the window screenshoting API writes a CoglTexture's data into
the system memory and exposes it as a cairo_surface_t in the public API
as that what GNOME Shell uses afterwards.

Although, that is nice, returning a CoglTexture instead would make us
get rid of cairo in the public API and another patch to make
the cursor drawing for screencasting not use cairo, one could have a
cairo-less build when building without font rendering & x11.

3836-visual-bell-is-broken 2024-12-18 15:39:03 UTC
cogl/xlib-renderer: Merge renderer winsys data

Author: Bilal Elmoussaoui
Author Date: 2024-12-17 08:31:43 UTC

cogl/xlib-renderer: Merge renderer winsys data

Currently, we cast the CoglXlibRenderer pointer into a CoglX11Renderer
which is something that we would get rid of later on, along with the
usage of a data field once the Renderers become a subtypes of
CoglRenderer.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4187>

andyholmes/cogl-color-annotations 2024-09-28 19:48:36 UTC
cogl: Fix (skip) annotation

Author: Andy Holmes
Author Date: 2024-09-28 19:17:12 UTC

cogl: Fix (skip) annotation

Fix an annotation typo, resulting in `cogl_color_free()` showing
up in language bindings docs.

chergert/disable-cast-checks 2024-09-06 16:40:20 UTC
build: Allow disabling cast checks and assertions in mutter

Author: Christian Hergert
Author Date: 2024-09-06 16:40:20 UTC

build: Allow disabling cast checks and assertions in mutter

This is the same that is done in mtk, clutter, and cogl but applied to
the meta code.

bilelmoussaoui/cogl-cogl-pango 2024-09-04 11:05:02 UTC
draft: Merge CoglPango & Cogl

Author: Bilal Elmoussaoui
Author Date: 2023-11-07 13:57:53 UTC

draft: Merge CoglPango & Cogl

bilelmoussaoui/move-cogl-pango 2024-09-02 22:52:32 UTC
clutter: Move unichar_direction helper to where it is used

Author: Bilal Elmoussaoui
Author Date: 2024-09-02 22:51:04 UTC

clutter: Move unichar_direction helper to where it is used

Making the fribidi dependency specific to the x11 backend

bilelmoussaoui/clutter-context 2024-08-17 08:27:34 UTC
cogl: Expose Texture.get_context

Author: Bilal Elmoussaoui
Author Date: 2024-08-15 20:22:19 UTC

cogl: Expose Texture.get_context

And use it to avoid going through the default backend
to get the context where we can get it from the corresponding
texture

tintou/null-toplevel 2024-07-18 13:36:39 UTC
window/wayland: Verify that the toplevel is not NULL before using it

Author: Corentin Noël
Author Date: 2024-07-18 13:36:39 UTC

window/wayland: Verify that the toplevel is not NULL before using it

In this case it will always be different to window and will trigger a null-deref.

cherry-pick-4134d127-2 2024-06-29 19:10:50 UTC
meta/plugin: Annotate dialog creation virtuals as return full

Author: Jonas Ådahl
Author Date: 2024-06-29 19:10:50 UTC

meta/plugin: Annotate dialog creation virtuals as return full

The two dialog creation virtual functions returned by these functions have to
be unreferenced by the caller (and are actually unreferenced in other places in
the code).

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3790>

(cherry picked from commit 4134d12789df15094a6674684b21f8916b42546a)

Co-authored-by: Corentin Noël <corentin.noel@collabora.com>

cherry-pick-4134d127 2024-06-29 19:09:43 UTC
meta/plugin: Annotate dialog creation virtuals as return full

Author: Jonas Ådahl
Author Date: 2024-06-29 19:09:43 UTC

meta/plugin: Annotate dialog creation virtuals as return full

The two dialog creation virtual functions returned by these functions have to
be unreferenced by the caller (and are actually unreferenced in other places in
the code).

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3790>

(cherry picked from commit 4134d12789df15094a6674684b21f8916b42546a)

Co-authored-by: Corentin Noël <corentin.noel@collabora.com>

tintou/wayland_client_from_window 2024-06-25 21:51:50 UTC
wayland/client: Allow to get it from a MetaWindow

Author: Corentin Noël
Author Date: 2024-06-25 21:17:56 UTC

wayland/client: Allow to get it from a MetaWindow

Ideally, some components should be launched directly by systemd, to allow this
we need to also be able to get a MetaWaylandClient from an already existing
window.

wip/antoniof/nautilus-filechooser-portal-support 2024-06-21 14:16:06 UTC
service-channel: Add client type for filechooser portal

Author: Georges Basile Stavracas Neto
Author Date: 2024-04-09 19:11:59 UTC

service-channel: Add client type for filechooser portal

Add a new service client type for a filechooser portal, and expose the
x11_interop protocol to them.

(Ammended by António Fernandes <antoniof@gnome.org>)

bilelmoussaoui/no-clutter-actor-box 2024-06-14 08:46:44 UTC
clutter: ActorBox begone

Author: Bilal Elmoussaoui
Author Date: 2024-06-14 00:10:21 UTC

clutter: ActorBox begone

Replace it with graphene_rect_t

bilelmoussaoui/tests-build-options 2024-06-13 12:04:26 UTC
build: Don't require gtk for all the tests

Author: Bilal Elmoussaoui
Author Date: 2024-06-13 12:04:26 UTC

build: Don't require gtk for all the tests

Useful when building wayland-only mutter and want to run only
those possible to run tests (without x11 client support)

bilelmoussaoui/window-move-x11 2024-05-25 19:56:07 UTC
window: Remove current_workspace_changed vfunc

Author: Bilal Elmoussaoui
Author Date: 2024-05-25 19:53:34 UTC

window: Remove current_workspace_changed vfunc

Similar to previous commit

jsparber/activate_on_map 2024-05-16 07:44:59 UTC
xdg-activation: Activate window only when mapped else mark it for activation

Author: Julian Sparber
Author Date: 2024-05-16 07:32:44 UTC

xdg-activation: Activate window only when mapped else mark it for activation

xdg-activation may happen before a window was mapped therefore we need
to mark the window for activation instead of immediately activating it
(which fails since the window isn't mapped nor placed)

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3485

gnome-42 2024-05-07 15:39:46 UTC
compositor/sync-ring: Allow the gpu_fence to be moved

Author: Daniel van Vugt
Author Date: 2024-04-03 08:58:13 UTC

compositor/sync-ring: Allow the gpu_fence to be moved

When the compositor inserts two waits in a frame, such as f606a4424a5afc,
the second insertion shouldn't break the ring's state machine as easily
as it does. We can instead merge the two GL waits into one by simply moving
the GL fence to the latest insertion. Each insertion still does its own X11
sync though.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3384
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3685>
(cherry picked from commit 22689d722ab4e13ab272c3534f5d18a55c94084f)

work-with-old-libdrm 2024-03-19 17:32:40 UTC
backends/native: Work with old libdrm

Author: Ray Strode
Author Date: 2024-03-19 17:32:40 UTC

backends/native: Work with old libdrm

commit a775241efd8b840e7789077fb2224f0df2361d54 recently introduced
usage of a sort of new API, drmModeCloseFb. Unfortunately, this API
has not yet made it into freedesktop-sdk.

As an interim answer, this commit adds a drmIoctl based reimplementation
of drmModeCloseFb that only gets used if the real implementation isn't
available in libdrm.

Later we can just drop this function without changing any other code.

bilelmoussaoui/wayland-module 2024-03-19 14:45:09 UTC
tests: Remove no longer needed wayland protocol codegen ones

Author: Bilal Elmoussaoui
Author Date: 2024-03-19 14:45:09 UTC

tests: Remove no longer needed wayland protocol codegen ones

As we use meson's module, nothing to test per see...

bilelmoussaoui/very-wip-branch 2024-02-26 10:18:27 UTC
x11: guard group/stack tracker

Author: Bilal Elmoussaoui
Author Date: 2024-02-08 17:46:00 UTC

x11: guard group/stack tracker

bilelmoussaoui/config-signal 2024-02-20 09:08:13 UTC
stuff

Author: Bilal Elmoussaoui
Author Date: 2023-11-29 09:13:51 UTC

stuff

gnome-44 2024-02-11 20:17:14 UTC
Bump version to 44.9

Author: =?utf-8?q?Florian_M=C3=BCllner?=
Author Date: 2024-02-11 20:17:14 UTC

Bump version to 44.9

Update NEWS.

bilelmoussaoui/libxcursor 2024-01-31 16:02:14 UTC
backends/cursor-sprite: Guard x11 usage

Author: Bilal Elmoussaoui
Author Date: 2024-01-31 15:47:22 UTC

backends/cursor-sprite: Guard x11 usage

bilelmoussaoui/fonts-options 2024-01-17 17:14:24 UTC
stuff

Author: Bilal Elmoussaoui
Author Date: 2024-01-17 15:14:55 UTC

stuff

wip/sam/sysext 2024-01-15 16:52:00 UTC
WIP: Try building using GNOME OS OCI images

Author: Sam Thursfield
Author Date: 2024-01-15 16:52:00 UTC

WIP: Try building using GNOME OS OCI images

bilelmoussaoui/cogl-pango 2024-01-03 13:50:55 UTC
cogl-pango: Drop no longer needed pango version check

Author: Bilal Elmoussaoui
Author Date: 2024-01-03 13:50:55 UTC

cogl-pango: Drop no longer needed pango version check

As we require at least 1.46.0

tintou/make-dock 2023-11-11 13:31:03 UTC
wayland: Add meta_wayland_client_make_dock

Author: Corentin Noël
Author Date: 2023-11-09 23:14:38 UTC

wayland: Add meta_wayland_client_make_dock

Allows to specify that a WaylandClient is a dock and place it according to a
gravity.

tintou/window-type-public 2023-10-24 06:54:20 UTC
window: Make meta_window_set_window_type public

Author: Corentin Noël
Author Date: 2023-10-23 21:35:18 UTC

window: Make meta_window_set_window_type public

Allow compositors to change te window-type of a MetaWindow.

fix-amdgpu-crash 2023-10-17 14:11:43 UTC
wip! thread stuff idk

Author: Ray Strode
Author Date: 2023-10-10 15:15:45 UTC

wip! thread stuff idk

This is just whatever I was working on last when I ran out of
bandwidth to investigate the issue.

maybe-fix-resume-crash 2023-09-07 19:45:25 UTC
backends/native: Prevent crash on resume

Author: Ray Strode
Author Date: 2023-09-07 19:42:01 UTC

backends/native: Prevent crash on resume

When first resuming from a suspend, the renderer
views may not yet have realized cursor stage views.

That can lead to a crash as the monitors light up
and force a cursor update leading to invalidation
of an unallocated cursor stage view.

This commit avoids the crash by doing a NULL check.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3012

mcatanzaro/#2985 2023-09-01 15:22:04 UTC
Fix crashes on idle

Author: Michael Catanzaro
Author Date: 2023-09-01 15:22:04 UTC

Fix crashes on idle

Currently whenever GNOME reaches its idle timeout and attempts to lock
the screen, it crashes. The problem occurs in
meta_onscreen_native_invalidate(), which calls
meta_output_is_privacy_screen_supported(),
meta_output_is_color_space_supported(), and
meta_output_is_hdr_metadata_supported(). For the KMS backend, all three
functions assume that meta_kms_connector_get_current_state() returns a
non-NULL pointer. This assumption is wrong.

This fixes the problem just enough to avoid the crashes that users are
encountering in practice. The problem is not comprehensively fixed. E.g.
even MetaKmsConnector itself often assumes that the current_state is
non-NULL without any evidence or assertions that it's true. Further
investigation is required; either it should be NULL-checked everywhere,
or it should be prevented from ever becoming NULL, or some more precise
invariant should be enforced.

Fixes #2985

gnome-43 2023-08-23 11:35:09 UTC
Bump version to 43.8

Author: =?utf-8?q?Florian_M=C3=BCllner?=
Author Date: 2023-08-23 11:35:09 UTC

Bump version to 43.8

Update NEWS.

register-x11-display-with-logind 2023-05-24 13:44:33 UTC
backends/native: Register X11 display with logind

Author: Ray Strode
Author Date: 2023-05-23 18:48:17 UTC

backends/native: Register X11 display with logind

logind has the ability to export the X11 display a session uses
with the logind session.

Previously, this mapping had to be set up at session opening time,
so we lost the feature when we moved to starting the X server
within the session instead of before the session.

Recently, logind gained a SetDisplay dbus method to allow the X11
display to be set after session open time.

This commit makes use of that new method.

2486-mutter-crashes-on-xdg_activation-activate-request 2022-12-06 13:08:37 UTC
ci: Fix the expected name of the junit report

Author: =?utf-8?q?Hunor_Csomort=C3=A1ni?=
Author Date: 2022-12-06 13:07:11 UTC

ci: Fix the expected name of the junit report

Tests are run with '--setup plain', expect testlog-plain.junit.xml as an
artifact name.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2733>

2539-non-interactive-resizes-by-xwayland-clients-cause-black-flicker 2022-12-01 20:42:36 UTC
core: Avoid generating XEvent from uninitialized data

Author: Bram Stolk
Author Date: 2022-11-29 18:00:33 UTC

core: Avoid generating XEvent from uninitialized data

The uninitialized fields in this event causes use of uninitialised
data as seen in valgrind:

==71864== Syscall param writev(vector[0]) points to uninitialised byte(s)
==71864== at 0x5026EBD: __writev (writev.c:26)
==71864== by 0x5026EBD: writev (writev.c:24)
==71864== by 0x6482A3B: UnknownInlinedFun (xcb_conn.c:296)
==71864== by 0x6482A3B: _xcb_conn_wait.part.0 (xcb_conn.c:551)
==71864== by 0x6482BAF: UnknownInlinedFun (xcb_out.c:469)
==71864== by 0x6482BAF: _xcb_out_send (xcb_out.c:470)
==71864== by 0x6483DD7: UnknownInlinedFun (xcb_out.c:416)
==71864== by 0x6483DD7: xcb_writev (xcb_out.c:409)
==71864== by 0x53B79B4: _XSend (xcb_io.c:587)
==71864== by 0x53BBF38: _XReply (xcb_io.c:679)
==71864== by 0x53AFFC9: XQueryTree (QuTree.c:47)
==71864== by 0x4982A5F: query_xserver_stack (stack-tracker.c:508)
==71864== by 0x4EA1F5F: g_closure_invoke (gclosure.c:832)
==71864== by 0x4ECFD45: signal_emit_unlocked_R.isra.0 (gsignal.c:3796)
==71864== by 0x4EC0129: g_signal_emit_valist (gsignal.c:3549)
==71864== by 0x4EC03B2: g_signal_emit (gsignal.c:3606)
==71864== Address 0x287d5900 is 32 bytes inside a block of size 16,384 alloc'd
==71864== at 0x4849444: calloc (vg_replace_malloc.c:1340)
==71864== by 0x53A5FE8: XOpenDisplay (OpenDis.c:240)
==71864== by 0x6100E3C: _gdk_x11_display_open (gdkdisplay-x11.c:1565)
==71864== by 0x60CF675: gdk_display_manager_open_display (gdkdisplaymanager.c:462)
==71864== by 0x49D59F1: open_gdk_display (meta-x11-display.c:1041)
==71864== by 0x49D5D64: meta_x11_display_new (meta-x11-display.c:1156)
==71864== by 0x49564AD: meta_display_init_x11_finish (display.c:743)
==71864== by 0x495679D: on_x11_initialized (display.c:818)
==71864== by 0x4D67558: g_task_return_now (gtask.c:1232)
==71864== by 0x4D67782: UnknownInlinedFun (gtask.c:1301)
==71864== by 0x4D67782: g_task_return (gtask.c:1258)
==71864== by 0x495663C: on_xserver_started (display.c:788)
==71864== by 0x4D67558: g_task_return_now (gtask.c:1232)
==71864== Uninitialised value was created by a stack allocation
==71864== at 0x49D4A59: take_manager_selection (meta-x11-display.c:640)
==71864==

To fix this, fully initialize the event struct before sending it.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2535
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2724>

wip/carlosg/inputfd 2022-11-13 00:30:19 UTC
wayland: Implement the "inputfd" wayland protocols

Author: Carlos Garnacho
Author Date: 2018-09-01 20:09:58 UTC

wayland: Implement the "inputfd" wayland protocols

This allows lending control to applications of evdev devices,
and withdrawing it with focus changes. Underneath, the device
FD is revoked control through the EVIOCREVOKE ioctl, and closed.
The newly focused client receives a brand new FD obtained through
logind, which will be again revoked in a future focus change.

wip/mutkupavels/fix-memory-leak-in-output-xrandr 2022-09-02 07:02:30 UTC
output-xrandr: Fix memory leak

Author: Alberts Muktupāvels
Author Date: 2022-08-21 14:33:16 UTC

output-xrandr: Fix memory leak

Introduced in 99d84ae1cc8f027a35c32d266cef48758daaff6d.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2589>

gbsneto/profiling-for-real 2022-08-20 04:07:10 UTC
profiler: Add support for plugin captures

Author: Georges Basile Stavracas Neto
Author Date: 2020-09-02 20:28:07 UTC

profiler: Add support for plugin captures

A new plugin-specific SysprofCaptureWriter is created when profiling
starts, and then is concatenated with Cogl's capture writer when
profiling stops.

gnome-3-38 2022-08-18 21:04:37 UTC
Update meta connector types enum

Author: Steev Klimaszewski
Author Date: 2022-08-16 22:41:42 UTC

Update meta connector types enum

This adds the 4 new connector types that mutter didn't know about from
drm_mode.h in the kernel.

Noticed because mutter kept crashing when plugging in a USB-C adapter to
use an external monitor.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2577>

(cherry picked from commit 64279167)

wip/smcv/42-rpath 2022-08-18 09:58:58 UTC
tests: Give mutter-test-runner the RUNPATH to find Clutter

Author: Simon McVittie
Author Date: 2022-08-17 15:47:49 UTC

tests: Give mutter-test-runner the RUNPATH to find Clutter

Until recently, mutter-test-runner called into libraries that
indirectly depend on (mutter's fork of) Clutter, but did not actually
call into Clutter itself. Commit 1bf70334 "tests/runner: Make test
runner use the headless backend" gave it a direct call into Clutter,
which means the runtime linker will fail unless the executable's
RUNPATH is sufficient to find Clutter.

For future-proofing, do the same for the other test executables.

Resolves: https://gitlab.gnome.org/GNOME/mutter/-/issues/2389
Signed-off-by: Simon McVittie <smcv@debian.org>
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2580>

gnome-41 2022-08-11 17:07:28 UTC
Bump version to 41.9

Author: =?utf-8?q?Florian_M=C3=BCllner?=
Author Date: 2022-08-11 17:07:28 UTC

Bump version to 41.9

Update NEWS.

bilelmoussaoui/keybindings 2022-08-02 07:51:54 UTC
x11: Move X11 specific functions to x11/keybindings

Author: Bilal Elmoussaoui
Author Date: 2022-06-20 11:00:08 UTC

x11: Move X11 specific functions to x11/keybindings

alatiera/duplicate-pipelines 2022-07-26 19:36:22 UTC
ci: Avoid duplicate pipelines vol 2

Author: Jordan Petridis
Author Date: 2022-07-26 19:36:22 UTC

ci: Avoid duplicate pipelines vol 2

test

gnome-40 2022-06-21 12:31:44 UTC
backends: Move MetaKeyboardA11yFlags to a public header

Author: Olivier Fourdan
Author Date: 2022-06-14 14:31:43 UTC

backends: Move MetaKeyboardA11yFlags to a public header

The MetaKeyboardA11yFlags are used by gnome-shell to show a dialog
whenever a keyboard accessibility feature is switched using the
keyboard.

Unfortunately, commit c3acaeb25 renamed the Clutter flag to Meta and
moved them to a private header. As a result, gnome-shell do not show any
dialog anymore when a keyboard accessibility feature is activated.

Move the MetaKeyboardA11yFlags definition to a public header so that
gnome-shell can use it.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2306
Fixes: c3acaeb25 - backends: Move keyboard a11y into backends
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2463>
(cherry picked from commit 1c16e1cb9c6b0c62dad4c318117324af6485fada)

bilelmoussaoui/x11-frame-guard 2022-06-16 13:52:58 UTC
core/frame: Guard X11 Frame usage

Author: Bilal Elmoussaoui
Author Date: 2022-06-01 13:02:37 UTC

core/frame: Guard X11 Frame usage

wip/carlosg/shutdown-warning 2022-04-30 12:59:43 UTC
compositor: Detach window and actor both ways on actor dispose

Author: Carlos Garnacho
Author Date: 2022-04-30 12:59:43 UTC

compositor: Detach window and actor both ways on actor dispose

This is currently deferred to the window being unmanaged, however
the dependency of events is too indirect to consider these things
always happen one after the other.

Fixes possible warnings like:

(mutter:872101): GLib-GObject-WARNING **: 15:29:27.943: invalid unclassed pointer in cast to 'MetaWindowActor'

Seen on shutdown, a reliable reproducer is gnome-settings-daemon
test suite.

tintou/gnome-desktop-4 2022-04-22 06:50:52 UTC
meson: Use gnome-desktop-4

Author: Corentin Noël
Author Date: 2022-04-22 06:28:17 UTC

meson: Use gnome-desktop-4

This is a drop-in replacement of gnome-desktop-3.0 in our case.

wip/carlosg/no-catchsegv-build-dep 2022-03-04 10:28:00 UTC
build: Drop catchsegv Meson dependency

Author: Carlos Garnacho
Author Date: 2022-02-15 14:47:19 UTC

build: Drop catchsegv Meson dependency

This is basically mostly desirable for CI. Since that still
runs under .gitlab-ci/run-test.sh which wraps execution on
catchsegv, we presumably still have the positive effects there,
or at least until we update CI to a world where catchsegv is
gone.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2120
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2294>

gnome-3-36 2021-12-22 17:01:20 UTC
wayland/surface: Do not uncoditionally process surface damage

Author: Robert Mader
Author Date: 2021-12-18 21:00:41 UTC

wayland/surface: Do not uncoditionally process surface damage

Most clients nowadays switched to buffer damage, most notably Mesa
and Xwayland. Thus lets avoid the extra cost of allocating three
`cairo_region_t`s and doing some calculations.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2168>

(cherry picked from commit c498ae337f57a67c6e678d549cf9a8070c32f251)

wip/carlosg/surfaceless-activation 2021-12-06 11:05:16 UTC
wayland: Check serial for activation if no surface is provided

Author: Carlos Garnacho
Author Date: 2021-12-02 12:30:21 UTC

wayland: Check serial for activation if no surface is provided

Having a "requester" surface helps with accuracy (e.g. ensuring the
pointer is still within coordinates, besides the token serial still
remaining valid). In the case we don't have one, still check the
serial so that we know no other button presses/etc happened in between
and activate the window if none happened.

wip/carlosg/frozen-app-behavior 2021-11-01 17:27:23 UTC
wayland: Make the pointer leave non-alive surfaces

Author: Carlos Garnacho
Author Date: 2021-09-03 21:49:46 UTC

wayland: Make the pointer leave non-alive surfaces

Listen to changes in MetaWindow::is-alive, so that the pointer
can logically leave the surface as soon as that happens. This
helps prevent flooding the client socket while it is stalled.

wip/smcv/orientation-test-debug 2021-10-10 10:39:37 UTC
tests: Add additional debug for orientation test (Debian#995929)

Author: Simon McVittie
Author Date: 2021-10-09 15:13:18 UTC

tests: Add additional debug for orientation test (Debian#995929)

Signed-off-by: Simon McVittie <smcv@debian.org>

wip/halfline/gesture-osk-fix 2021-10-07 13:26:27 UTC
clutter-gester-action: Cancel gesture when a device gets grabbed

Author: Ray Strode
Author Date: 2021-10-07 02:03:46 UTC

clutter-gester-action: Cancel gesture when a device gets grabbed

If an actor takes a grab on an input device, that's a good indicator
that the user expects input to be handled solely by the actor and
any gestures that are taking place aren't meant for the stage.

At the moment, the gesture code has no insight into when a grab
gets taken, though. If a grab does get taken it missed out on the
motion and button release events that have now been redirected to
the actor.

Those missed events can confuse the event processing code into thinking
the user is doing a multi-press gesture, when the user is actually just
e.g., doing a series of clicks.

This commit addresses the problem by installing an event filter that
can see the events before they're delivered to the grabbed actor.

The filter checkes if a device a grabbed, and if so cancels any
in-flight gestures that are currently getting processed.

zbrown/docs-deps 2021-07-19 01:24:45 UTC
ci: Add gi-docgen dependencies to image

Author: Zander Brown
Author Date: 2021-06-08 21:19:10 UTC

ci: Add gi-docgen dependencies to image

document-button-values 2021-05-01 00:40:21 UTC
Document button values in the RemoteDesktop api

Author: Matthias Clasen
Author Date: 2021-05-01 00:40:21 UTC

Document button values in the RemoteDesktop api

I spent some time trying to pass X11 button values
and was a bit miffed that it didn't work. So lets
document the expected values to minimize future
frustation.

gnome-3-32 2021-04-07 11:45:19 UTC
wayland/actor-surface: Queue redraw for frame callback

Author: Jonas Ådahl
Author Date: 2019-10-09 19:53:09 UTC

wayland/actor-surface: Queue redraw for frame callback

A frame callback without damage is still expected to be responded to.
Implement this by simply queuing damage if there are any frame callbacks
requested and there is no damage yet. If there already is damage,
we'll be queued already, but with more correct damage. Without we simply
need to make sure we flush the callbacks if any area of surface is not
occluded.

Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/457

https://gitlab.gnome.org/GNOME/mutter/merge_requests/839

(cherry picked from commit d49d10b14f4e0fa80e6867979b26fab383610b39)

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1813>

wip/nielsdg/meta-multi-texture-wip 2021-02-15 18:06:37 UTC
WIP

Author: NielsDG
Author Date: 2021-02-15 18:06:37 UTC

WIP

cherry-pick-eaa98a7c 2021-02-08 21:17:45 UTC
clutter/timeline: Clear stage view listener when actor destroyed

Author: Jonas Ådahl
Author Date: 2021-02-08 17:34:00 UTC

clutter/timeline: Clear stage view listener when actor destroyed

We might have a stage view listener attached to the stage itself if the
actor didn't have a suitable frame clock when the actor was associated
with the timeline. We'd then listen to stage-views-changed signals on
the stage itself to be able to attach to a frame clock when one
appeared.

What went wrong is that if an actor that didn't have a frameclock was
associated with a timeline, but then destroyed, the timeline would
disassociate itself from the actor, but it'd still listen on the
stage-views-changed signal on the stage. This would be in itself
harmless, until the timeline itself is destroyed, as at this point, it
wouldn't clean up the stage-views-changed listener on the stage, as it's
assumed to only be valid when there is an actor attached.

Fix this issue by cleaning up the stage's stage-views-changed listener
when the actor is destroyed, as we wouldn't be able to make use of it by
then anyway.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3323

(cherry picked from commit eaa98a7cd6d209819792f3904385ed48114460af)

gnome-3-28 2020-11-24 21:35:37 UTC
wayland/actor-surface: Queue redraw for frame callback

Author: Jonas Ådahl
Author Date: 2019-10-09 19:53:09 UTC

wayland/actor-surface: Queue redraw for frame callback

A frame callback without damage is still expected to be responded to.
Implement this by simply queuing damage if there are any frame callbacks
requested and there is no damage yet. If there already is damage,
we'll be queued already, but with more correct damage. Without we simply
need to make sure we flush the callbacks if any area of surface is not
occluded.

Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/457

https://gitlab.gnome.org/GNOME/mutter/merge_requests/839

(cherry picked from commit d49d10b14f4e0fa80e6867979b26fab383610b39)

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1570>

benzea/logind-restart 2020-11-10 12:21:37 UTC
launcher: Ignore session active changes while logind is gone

Author: Benjamin Berg
Author Date: 2020-11-10 12:14:37 UTC

launcher: Ignore session active changes while logind is gone

When logind disconnects from the bus, property change notifications will
be emitted and we'll receive a default False value for "active".

However, when this happens we should assume that the active state
remains the same and will not change until logind reappears on the bus.
As such, check whether there is a name owner and only continue with
syncing if logind is running.

See https://github.com/systemd/systemd/issues/17308

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1556

benzea/ignore-monitor-connector 2020-10-23 15:13:35 UTC
tests/monitor-unit-tests: Add test for ignored connector IDs

Author: Benjamin Berg
Author Date: 2019-12-20 13:27:11 UTC

tests/monitor-unit-tests: Add test for ignored connector IDs

In some cases the connector ID should be ignored. Add a flag to modify
the generated connector ID, and test whether the stored configuration
still applies with the changed IDs.

https://gitlab.gnome.org/GNOME/mutter/issues/932

wip/verdre/device-actors-stage 2020-10-15 14:58:50 UTC
clutter: Switch to storing device->actor associations in ClutterStage

Author: Jonas Dreßler
Author Date: 2020-10-15 14:53:44 UTC

clutter: Switch to storing device->actor associations in ClutterStage

As planned and prepared with the last commits, now let ClutterStage take
care of tracking inputdevices and their actors and the remove the old
infrastructure from ClutterInputDevice.

cherry-pick-79e5ec57-6 2020-10-15 09:43:40 UTC
cally: fix state set leak

Author: Ray Strode
Author Date: 2020-04-30 14:23:09 UTC

cally: fix state set leak

cally_actor_action_do_action leaks a state set object in the
case where the actor is defunct, insensitive, or hidden.

This commit plugs the leak.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1225

(cherry picked from commit 79e5ec57d24f1650cdb2f23e68c9f8bf6a494283)

gnome-3-34 2020-10-15 09:43:31 UTC
cally: fix state set leak

Author: Ray Strode
Author Date: 2020-04-30 14:23:09 UTC

cally: fix state set leak

cally_actor_action_do_action leaks a state set object in the
case where the actor is defunct, insensitive, or hidden.

This commit plugs the leak.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1225

(cherry picked from commit 79e5ec57d24f1650cdb2f23e68c9f8bf6a494283)

cherry-pick-79e5ec57-5 2020-10-15 09:37:23 UTC
cally: fix state set leak

Author: Ray Strode
Author Date: 2020-04-30 14:23:09 UTC

cally: fix state set leak

cally_actor_action_do_action leaks a state set object in the
case where the actor is defunct, insensitive, or hidden.

This commit plugs the leak.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1225

(cherry picked from commit 79e5ec57d24f1650cdb2f23e68c9f8bf6a494283)

cherry-pick-79e5ec57-4 2020-10-15 09:37:14 UTC
cally: fix state set leak

Author: Ray Strode
Author Date: 2020-04-30 14:23:09 UTC

cally: fix state set leak

cally_actor_action_do_action leaks a state set object in the
case where the actor is defunct, insensitive, or hidden.

This commit plugs the leak.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1225

(cherry picked from commit 79e5ec57d24f1650cdb2f23e68c9f8bf6a494283)

cherry-pick-79e5ec57-3 2020-10-15 09:36:43 UTC
cally: fix state set leak

Author: Ray Strode
Author Date: 2020-04-30 14:23:09 UTC

cally: fix state set leak

cally_actor_action_do_action leaks a state set object in the
case where the actor is defunct, insensitive, or hidden.

This commit plugs the leak.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1225

(cherry picked from commit 79e5ec57d24f1650cdb2f23e68c9f8bf6a494283)

wip/carlosg/shuffle-coverage 2020-07-23 11:55:01 UTC
ci: Make the coverage build happen in the coverage target

Author: Carlos Garnacho
Author Date: 2020-07-23 11:55:01 UTC

ci: Make the coverage build happen in the coverage target

Use a specific build for it, instead of making the default test-mutter
target prepare that in advance, just in case. Bypasses errors with
recent meson when making coverage builds (although it'd still happen if
the stage were run manually).

wip/lantw/xwayland-Don't-use-abstract-socket-on-non-Linux-systems 2020-05-05 13:36:53 UTC
xwayland: Don't use abstract socket on non-Linux systems

Author: lantw44
Author Date: 2019-12-02 15:27:55 UTC

xwayland: Don't use abstract socket on non-Linux systems

Abstract socket is a Linux-only feature. On operating systems other than
Linux, we can only use the normal UNIX socket.

This patch allows mutter to run as a nested Wayland compositor under
Xorg on FreeBSD.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/954

gnome-3-30 2020-04-24 19:28:15 UTC
x11: Limit touch replay pointer events to when replaying

Author: Jonas Ådahl
Author Date: 2019-10-25 08:06:55 UTC

x11: Limit touch replay pointer events to when replaying

When a touch sequence was rejected, the emulated pointer events would be
replayed with old timestamps. This caused issues with grabs as they
would be ignored due to being too old. This was mitigated by making sure
device event timestamps never travelled back in time by tampering with
any event that had a timestamp seemingly in the past.

This failed when the most recent timestamp that had been received were
much older than the timestamp of the new event. This could for example
happen when a session was left not interacted with for 40+ days or so;
when interacted with again, as any new timestamp would according to
XSERVER_TIME_IS_BEFORE() still be in the past compared to the "most
recent" one. The effect is that we'd always use the `latest_evtime` for
all new device events without ever updating it.

The end result of this was that passive grabs would become active when
interacted with, but would then newer be released, as the timestamps to
XIAllowEvents() would out of date, resulting in the desktop effectively
freezing, as the Shell would have an active pointer grab.

To avoid the situation where we get stuck with an old `latest_evtime`
timestamp, limit the tampering with device event timestamp to 1) only
pointer events, and 2) only during the replay sequence. The second part
is implemented by sending an asynchronous message via the X server after
rejecting a touch sequence, only potentially tampering with the device
event timestamps until the reply. This should avoid the stuck timestamp
as in those situations, we'll always have a relatively up to date
`latest_evtime` meaning XSERVER_TIME_IS_BEFORE() will not get confused.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/886

wip/carlosg/x11-selection-timestamps 2020-04-17 12:37:33 UTC
x11: Fix race conditions in XSetSelection

Author: Carlos Garnacho
Author Date: 2020-04-17 12:15:54 UTC

x11: Fix race conditions in XSetSelection

Some clients like X11 LibreOffice clear the selection prior to copying
some content there. This selection clear is correctly seen by our clipboard
manager as a hint to take ownership and preserve the last copied content,
all while LO is issuing other XSetSelection with the new clipboard content.

Our use of META_CURRENT_TIME turns this into a race condition, as there's
both LO and our clipboard manager trying to do XSetSelection(), from our
side it's all up to the order in which the requests arrive to the X server.

In order to break the tie, keep the selection timestamp from the XFixes
event (i.e. the timestamp set by the XSetSelection external call that is
unsetting the clipboard) and ensure it is used for our own XSetSelection
call replacing the selection. In this same situation, it will make the
X server deem the request too old, and let LO win.

If the compositor-side XSetSelection event does not happen in result to
a XFixes selection notify event, the current event time will be used, and
META_CURRENT_TIME as a last resort.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1113

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1205

gtk3-ci 2020-04-15 13:59:13 UTC
tests/stacking: Add test checking the initial size

Author: Jonas Ådahl
Author Date: 2020-04-06 10:12:02 UTC

tests/stacking: Add test checking the initial size

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1171

pwood/fix-trackball-button-scroll 2020-04-11 17:59:14 UTC
input-settings: fix device list iteration

Author: Phillip Wood
Author Date: 2020-04-11 15:08:18 UTC

input-settings: fix device list iteration

Dereference the loop variable rather than the original list head. This
fixes a regression introduced in 4413b86a3 ("backends: Replace
ClutterDeviceManager usage in favor of ClutterSeat", 2019-10-04) which
broke button scrolling with trackballs.

Closes:https://gitlab.gnome.org/GNOME/mutter/-/issues/1120

wip/nielsdg/meta-multi-texture 2020-04-09 13:30:07 UTC
wip: shm

Author: Niels De Graef
Author Date: 2020-04-09 13:30:07 UTC

wip: shm

wip/nielsdg/meta-multi-texture-dmabuf 2020-04-07 15:58:56 UTC
wip

Author: Niels De Graef
Author Date: 2020-04-07 15:58:56 UTC

wip

wip/carlosg/fix-x11-wacom-device 2020-03-20 20:55:26 UTC
backends: Consider pen/eraser devices when looking for matching WacomDevice

Author: Carlos Garnacho
Author Date: 2019-12-13 16:01:44 UTC

backends: Consider pen/eraser devices when looking for matching WacomDevice

Those device types are still in use through the X11 backend, breaking some
checks around on that backend...

https://gitlab.gnome.org/GNOME/mutter/merge_requests/972

benzea/use-sysprof-prefix 2020-01-08 13:12:51 UTC
meson: Use sysprof interface defintion from correct prefix

Author: Benjamin Berg
Author Date: 2020-01-08 13:08:58 UTC

meson: Use sysprof interface defintion from correct prefix

The sysprof interface definition may be installed to a prefix different
from where mutter is going to be installed. Fetch the prefix from
pkgconfig instead.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/993

benzea/ci-add-machine-id 2019-12-11 15:20:33 UTC
ci: Always generate a machine ID

Author: Benjamin Berg
Author Date: 2019-12-11 15:16:36 UTC

ci: Always generate a machine ID

At least the F30 base image does not seem to ship with a machine-id.
This causes tests that require DBus to fail as the dbus daemon cannot be
started.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/967

wip/carlosg/drop-caps 2019-11-13 14:12:12 UTC
backend/native: Use high priority contexts for secondary GPUs

Author: Carlos Garnacho
Author Date: 2019-11-08 14:30:53 UTC

backend/native: Use high priority contexts for secondary GPUs

Ensure the context requests EGL_CONTEXT_PRIORITY_HIGH_IMG, and
that we use cogl_egl_create_context() to ensure that is honored.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/923

gbsneto/content-part2 2019-10-17 06:47:04 UTC
shaped-texture: Update mipmap counters on invalidation

Author: Georges Basile Stavracas Neto
Author Date: 2018-12-28 04:57:26 UTC

shaped-texture: Update mipmap counters on invalidation

https://gitlab.gnome.org/GNOME/mutter/merge_requests/861

wip/carlosg/fix-open-lid-flicker 2019-09-04 14:29:04 UTC
backends: Compare gpu/crtc/output configurations before applying

Author: Carlos Garnacho
Author Date: 2018-01-09 20:29:26 UTC

backends: Compare gpu/crtc/output configurations before applying

This spares us from visible flickering whenever an unchanged configuration
is reapplied, eg. after lid open. The code in the X11 paths that did the
same comparisons has been removed in favor of the generic checks.

https://bugzilla.gnome.org/show_bug.cgi?id=791879

wip/kms-connector-add-remove 2019-09-03 17:14:47 UTC
monitor-manager/kms: Get hotplug events from MetaKms

Author: Jonas Ådahl
Author Date: 2019-08-22 13:15:51 UTC

monitor-manager/kms: Get hotplug events from MetaKms

This makes it clearer that MetaMonitorManagerKms keeps updated as
MetaKms updates its state.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/743

gbsneto/fix-geometric-picking 2019-08-28 21:44:39 UTC
clutter: Introduce geometric picking

Author: Daniel van Vugt
Author Date: 2018-08-02 11:03:30 UTC

clutter: Introduce geometric picking

Currently, Clutter does picking by drawing with Cogl and reading
the pixel that's beneath the given point. Since Cogl has a journal
that records drawing operations, and has optimizations to read a
single pixel from a list of rectangle, it would be expected that
we would hit this fast path and not flush the journal while picking.

However, that's not the case: dithering, clipping with scissors, etc,
can all flush the journal, issuing commands to the GPU and making
picking slow. On NVidia-based systems, this glReadPixels() call is
extremely costly.

Introduce geometric picking, and avoid using the Cogl journal entirely.
Do this by introducing a stack of actors in ClutterStage. This stack
is cached, but for now, don't use the cache as much as possible.

The picking routines are still tied to painting.

When projecting the actor vertexes, do it manually and take the modelview
matrix of the framebuffer into account as well.

CPU usage on an Intel i7-7700, tested with two different GPUs/drivers:

  | | Intel | Nvidia |
  | ------: | --------: | -----: |
  | Moving the mouse: |
  | Before | 10% | 10% |
  | After | 6% | 6% |
  | Moving a window: |
  | Before | 23% | 81% |
  | After | 19% | 40% |

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/154,
        https://gitlab.gnome.org/GNOME/mutter/issues/691

Helps significantly with: https://gitlab.gnome.org/GNOME/mutter/issues/283,
                          https://gitlab.gnome.org/GNOME/mutter/issues/590,
                          https://gitlab.gnome.org/GNOME/mutter/issues/700

v2: Fix code style issues
    Simplify quadrilateral checks
    Remove the 0.5f hack
    Differentiate axis-aligned rectangles

https://gitlab.gnome.org/GNOME/mutter/merge_requests/189

wip/carlosg/avoid-app-updates-2 2019-07-24 21:40:21 UTC
core: Only trigger MetaWorkspace::window-* on toplevel window types

Author: Carlos Garnacho
Author Date: 2019-07-24 21:35:18 UTC

core: Only trigger MetaWorkspace::window-* on toplevel window types

Popups and other override-redirect windows are irrelevant to all listeners
of MetaWorkspace::window-*. Ignoring those windows will namely result in
less activity on ShellWindowTracker, less ShellApp::windows-changed
signal emissions and less AppMenuButton updates.

Reduces gnome-shell CPU activity while typing on the Epiphany addressbar,
as the pop up animation there results in a number of xdg_popup being
created and destroyed.

https://gitlab.gnome.org/GNOME/mutter/issues/556

wip/run-tests-install 2019-07-22 21:07:39 UTC
cogl/tests: Only install run-tests.sh when building installed tests

Author: Iain Lane
Author Date: 2019-07-22 20:58:21 UTC

cogl/tests: Only install run-tests.sh when building installed tests

This is a script for installed tests; leave it out otherwise.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/694

wip/nielsdg/uncrustify 2019-07-11 09:17:45 UTC
CI: add uncrustify config.

Author: Niels De Graef
Author Date: 2018-11-05 14:33:55 UTC

CI: add uncrustify config.

Run in the repo's root directory with for example

```
$ uncrustify -c data/uncrustify.cfg src/**/*.c
```

1100 of 223 results

Other repositories

Name Last Modified
lp:mutter 2026-01-28
lp:~vanvugt/mutter 2025-10-24
12 of 2 results
You can't create new repositories for Mutter.