Compare commits
No commits in common. "factory" and "factory" have entirely different histories.
@ -9,11 +9,11 @@ This reverts commit 703bbe0e99dbb688352e0bff396e5cbf2c6af45b.
|
|||||||
clutter/clutter/clutter-actor.c | 67 ++++++++++-----------------------
|
clutter/clutter/clutter-actor.c | 67 ++++++++++-----------------------
|
||||||
1 file changed, 20 insertions(+), 47 deletions(-)
|
1 file changed, 20 insertions(+), 47 deletions(-)
|
||||||
|
|
||||||
Index: mutter-48.0/clutter/clutter/clutter-actor.c
|
Index: mutter-46.3/clutter/clutter/clutter-actor.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/clutter/clutter/clutter-actor.c
|
--- mutter-46.3.orig/clutter/clutter/clutter-actor.c
|
||||||
+++ mutter-48.0/clutter/clutter/clutter-actor.c
|
+++ mutter-46.3/clutter/clutter/clutter-actor.c
|
||||||
@@ -581,7 +581,7 @@ struct _ClutterActorPrivate
|
@@ -566,7 +566,7 @@ struct _ClutterActorPrivate
|
||||||
/* the cached transformation matrix; see apply_transform() */
|
/* the cached transformation matrix; see apply_transform() */
|
||||||
graphene_matrix_t transform;
|
graphene_matrix_t transform;
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ Index: mutter-48.0/clutter/clutter/clutter-actor.c
|
|||||||
|
|
||||||
float resource_scale;
|
float resource_scale;
|
||||||
|
|
||||||
@@ -747,7 +747,7 @@ struct _ClutterActorPrivate
|
@@ -730,7 +730,7 @@ struct _ClutterActorPrivate
|
||||||
guint clear_stage_views_needs_stage_views_changed : 1;
|
guint clear_stage_views_needs_stage_views_changed : 1;
|
||||||
guint needs_redraw : 1;
|
guint needs_redraw : 1;
|
||||||
guint needs_finish_layout : 1;
|
guint needs_finish_layout : 1;
|
||||||
@ -31,7 +31,7 @@ Index: mutter-48.0/clutter/clutter/clutter-actor.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
@@ -2345,7 +2345,7 @@ absolute_geometry_changed (ClutterActor
|
@@ -2309,7 +2309,7 @@ absolute_geometry_changed (ClutterActor
|
||||||
{
|
{
|
||||||
actor->priv->needs_update_stage_views = TRUE;
|
actor->priv->needs_update_stage_views = TRUE;
|
||||||
actor->priv->needs_visible_paint_volume_update = TRUE;
|
actor->priv->needs_visible_paint_volume_update = TRUE;
|
||||||
@ -40,7 +40,7 @@ Index: mutter-48.0/clutter/clutter/clutter-actor.c
|
|||||||
|
|
||||||
actor->priv->needs_finish_layout = TRUE;
|
actor->priv->needs_finish_layout = TRUE;
|
||||||
/* needs_finish_layout is already TRUE on the whole parent tree thanks
|
/* needs_finish_layout is already TRUE on the whole parent tree thanks
|
||||||
@@ -2974,9 +2974,8 @@ _clutter_actor_apply_relative_transforma
|
@@ -2931,9 +2931,8 @@ _clutter_actor_apply_relative_transforma
|
||||||
graphene_matrix_t *matrix)
|
graphene_matrix_t *matrix)
|
||||||
{
|
{
|
||||||
ClutterActorPrivate *priv = self->priv;
|
ClutterActorPrivate *priv = self->priv;
|
||||||
@ -52,7 +52,7 @@ Index: mutter-48.0/clutter/clutter/clutter-actor.c
|
|||||||
|
|
||||||
/* Note we terminate before ever calling stage->apply_transform()
|
/* Note we terminate before ever calling stage->apply_transform()
|
||||||
* since that would conceptually be relative to the underlying
|
* since that would conceptually be relative to the underlying
|
||||||
@@ -2985,63 +2984,37 @@ _clutter_actor_apply_relative_transforma
|
@@ -2942,63 +2941,37 @@ _clutter_actor_apply_relative_transforma
|
||||||
if (self == ancestor)
|
if (self == ancestor)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ Index: mutter-48.0/clutter/clutter/clutter-actor.c
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7535,7 +7508,7 @@ clutter_actor_init (ClutterActor *self)
|
@@ -7362,7 +7335,7 @@ clutter_actor_init (ClutterActor *self)
|
||||||
priv->enable_model_view_transform = TRUE;
|
priv->enable_model_view_transform = TRUE;
|
||||||
|
|
||||||
priv->transform_valid = FALSE;
|
priv->transform_valid = FALSE;
|
||||||
|
@ -1,296 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
|
|
||||||
Date: Tue, 18 Mar 2025 22:58:37 +0100
|
|
||||||
Subject: [PATCH] cursor: Unify prepare_func for shape cursors
|
|
||||||
|
|
||||||
Move the root cursor prepare function into MetaCursorSpriteXcursor to
|
|
||||||
become its default prepare function. This should solve two issues:
|
|
||||||
|
|
||||||
- The root cursor prepare function was changed in f77d8e2a12a07ef6abe9
|
|
||||||
to solve an issue with fractional scales. The tool cursor prepare
|
|
||||||
function was missing this fix.
|
|
||||||
- The cursors created via the shape protocol had no prepare function at
|
|
||||||
all, so were not getting scaled.
|
|
||||||
|
|
||||||
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3975
|
|
||||||
---
|
|
||||||
src/backends/meta-cursor-sprite-xcursor.c | 57 ++++++++++++++++++++
|
|
||||||
src/core/display.c | 63 ++---------------------
|
|
||||||
src/wayland/meta-wayland-tablet-tool.c | 39 --------------
|
|
||||||
3 files changed, 60 insertions(+), 99 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/backends/meta-cursor-sprite-xcursor.c b/src/backends/meta-cursor-sprite-xcursor.c
|
|
||||||
index a4b9cbb988ab..dc2580f65db9 100644
|
|
||||||
--- a/src/backends/meta-cursor-sprite-xcursor.c
|
|
||||||
+++ b/src/backends/meta-cursor-sprite-xcursor.c
|
|
||||||
@@ -24,6 +24,7 @@
|
|
||||||
#include "backends/meta-cursor.h"
|
|
||||||
#include "backends/meta-cursor-renderer.h"
|
|
||||||
#include "backends/meta-cursor-tracker-private.h"
|
|
||||||
+#include "backends/meta-logical-monitor.h"
|
|
||||||
#include "clutter/clutter.h"
|
|
||||||
#include "cogl/cogl.h"
|
|
||||||
#include "meta/prefs.h"
|
|
||||||
@@ -510,22 +511,78 @@ meta_cursor_sprite_xcursor_new (MetaCursor cursor,
|
|
||||||
return sprite_xcursor;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+xcursor_prepare_at (MetaCursorSpriteXcursor *sprite_xcursor,
|
|
||||||
+ float best_scale,
|
|
||||||
+ int x,
|
|
||||||
+ int y,
|
|
||||||
+ void *user_data)
|
|
||||||
+{
|
|
||||||
+ MetaCursorSprite *cursor_sprite = META_CURSOR_SPRITE (sprite_xcursor);
|
|
||||||
+ MetaCursorTracker *cursor_tracker =
|
|
||||||
+ meta_cursor_sprite_get_cursor_tracker (cursor_sprite);
|
|
||||||
+ MetaBackend *backend =
|
|
||||||
+ meta_cursor_tracker_get_backend (cursor_tracker);
|
|
||||||
+
|
|
||||||
+ if (meta_backend_is_stage_views_scaled (backend))
|
|
||||||
+ {
|
|
||||||
+ if (best_scale != 0.0f)
|
|
||||||
+ {
|
|
||||||
+ float ceiled_scale;
|
|
||||||
+ int cursor_width, cursor_height;
|
|
||||||
+
|
|
||||||
+ ceiled_scale = ceilf (best_scale);
|
|
||||||
+ meta_cursor_sprite_xcursor_set_theme_scale (sprite_xcursor,
|
|
||||||
+ (int) ceiled_scale);
|
|
||||||
+
|
|
||||||
+ meta_cursor_sprite_realize_texture (cursor_sprite);
|
|
||||||
+ meta_cursor_sprite_xcursor_get_scaled_image_size (sprite_xcursor,
|
|
||||||
+ &cursor_width,
|
|
||||||
+ &cursor_height);
|
|
||||||
+ meta_cursor_sprite_set_viewport_dst_size (cursor_sprite,
|
|
||||||
+ cursor_width,
|
|
||||||
+ cursor_height);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ MetaMonitorManager *monitor_manager =
|
|
||||||
+ meta_backend_get_monitor_manager (backend);
|
|
||||||
+ MetaLogicalMonitor *logical_monitor;
|
|
||||||
+
|
|
||||||
+ logical_monitor =
|
|
||||||
+ meta_monitor_manager_get_logical_monitor_at (monitor_manager, x, y);
|
|
||||||
+
|
|
||||||
+ /* Reload the cursor texture if the scale has changed. */
|
|
||||||
+ if (logical_monitor)
|
|
||||||
+ {
|
|
||||||
+ meta_cursor_sprite_xcursor_set_theme_scale (sprite_xcursor,
|
|
||||||
+ (int) logical_monitor->scale);
|
|
||||||
+ meta_cursor_sprite_set_texture_scale (cursor_sprite, 1.0f);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static void
|
|
||||||
meta_cursor_sprite_xcursor_finalize (GObject *object)
|
|
||||||
{
|
|
||||||
MetaCursorSpriteXcursor *sprite_xcursor = META_CURSOR_SPRITE_XCURSOR (object);
|
|
||||||
|
|
||||||
g_clear_pointer (&sprite_xcursor->xcursor_images,
|
|
||||||
xcursor_images_destroy);
|
|
||||||
|
|
||||||
G_OBJECT_CLASS (meta_cursor_sprite_xcursor_parent_class)->finalize (object);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
meta_cursor_sprite_xcursor_init (MetaCursorSpriteXcursor *sprite_xcursor)
|
|
||||||
{
|
|
||||||
sprite_xcursor->theme_scale = 1;
|
|
||||||
sprite_xcursor->theme_dirty = TRUE;
|
|
||||||
+
|
|
||||||
+ meta_cursor_sprite_set_prepare_func (META_CURSOR_SPRITE (sprite_xcursor),
|
|
||||||
+ (MetaCursorPrepareFunc) xcursor_prepare_at,
|
|
||||||
+ NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
diff --git a/src/core/display.c b/src/core/display.c
|
|
||||||
index ae66a0cfcb8e..2bdf5be44c2c 100644
|
|
||||||
--- a/src/core/display.c
|
|
||||||
+++ b/src/core/display.c
|
|
||||||
@@ -1681,76 +1681,19 @@ meta_display_notify_window_created (MetaDisplay *display,
|
|
||||||
g_signal_emit (display, display_signals[WINDOW_CREATED], 0, window);
|
|
||||||
}
|
|
||||||
|
|
||||||
-static void
|
|
||||||
-root_cursor_prepare_at (MetaCursorSpriteXcursor *sprite_xcursor,
|
|
||||||
- float best_scale,
|
|
||||||
- int x,
|
|
||||||
- int y,
|
|
||||||
- MetaDisplay *display)
|
|
||||||
-{
|
|
||||||
- MetaCursorSprite *cursor_sprite = META_CURSOR_SPRITE (sprite_xcursor);
|
|
||||||
- MetaBackend *backend = backend_from_display (display);
|
|
||||||
-
|
|
||||||
- if (meta_backend_is_stage_views_scaled (backend))
|
|
||||||
- {
|
|
||||||
- if (best_scale != 0.0f)
|
|
||||||
- {
|
|
||||||
- float ceiled_scale;
|
|
||||||
- int cursor_width, cursor_height;
|
|
||||||
-
|
|
||||||
- ceiled_scale = ceilf (best_scale);
|
|
||||||
- meta_cursor_sprite_xcursor_set_theme_scale (sprite_xcursor,
|
|
||||||
- (int) ceiled_scale);
|
|
||||||
-
|
|
||||||
- meta_cursor_sprite_realize_texture (cursor_sprite);
|
|
||||||
- meta_cursor_sprite_xcursor_get_scaled_image_size (sprite_xcursor,
|
|
||||||
- &cursor_width,
|
|
||||||
- &cursor_height);
|
|
||||||
- meta_cursor_sprite_set_viewport_dst_size (cursor_sprite,
|
|
||||||
- cursor_width,
|
|
||||||
- cursor_height);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- {
|
|
||||||
- MetaMonitorManager *monitor_manager =
|
|
||||||
- meta_backend_get_monitor_manager (backend);
|
|
||||||
- MetaLogicalMonitor *logical_monitor;
|
|
||||||
-
|
|
||||||
- logical_monitor =
|
|
||||||
- meta_monitor_manager_get_logical_monitor_at (monitor_manager, x, y);
|
|
||||||
-
|
|
||||||
- /* Reload the cursor texture if the scale has changed. */
|
|
||||||
- if (logical_monitor)
|
|
||||||
- {
|
|
||||||
- meta_cursor_sprite_xcursor_set_theme_scale (sprite_xcursor,
|
|
||||||
- (int) logical_monitor->scale);
|
|
||||||
- meta_cursor_sprite_set_texture_scale (cursor_sprite, 1.0f);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static void
|
|
||||||
-manage_root_cursor_sprite_scale (MetaDisplay *display,
|
|
||||||
- MetaCursorSpriteXcursor *sprite_xcursor)
|
|
||||||
-{
|
|
||||||
- meta_cursor_sprite_set_prepare_func (META_CURSOR_SPRITE (sprite_xcursor),
|
|
||||||
- (MetaCursorPrepareFunc) root_cursor_prepare_at,
|
|
||||||
- display);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
void
|
|
||||||
meta_display_reload_cursor (MetaDisplay *display)
|
|
||||||
{
|
|
||||||
MetaCursor cursor = display->current_cursor;
|
|
||||||
MetaCursorSpriteXcursor *sprite_xcursor;
|
|
||||||
MetaBackend *backend = backend_from_display (display);
|
|
||||||
MetaCursorTracker *cursor_tracker = meta_backend_get_cursor_tracker (backend);
|
|
||||||
|
|
||||||
sprite_xcursor = meta_cursor_sprite_xcursor_new (cursor, cursor_tracker);
|
|
||||||
|
|
||||||
- if (meta_is_wayland_compositor ())
|
|
||||||
- manage_root_cursor_sprite_scale (display, sprite_xcursor);
|
|
||||||
+ if (!meta_is_wayland_compositor ())
|
|
||||||
+ meta_cursor_sprite_set_prepare_func (META_CURSOR_SPRITE (sprite_xcursor),
|
|
||||||
+ NULL, NULL);
|
|
||||||
|
|
||||||
meta_cursor_tracker_set_root_cursor (cursor_tracker,
|
|
||||||
META_CURSOR_SPRITE (sprite_xcursor));
|
|
||||||
diff --git a/src/wayland/meta-wayland-tablet-tool.c b/src/wayland/meta-wayland-tablet-tool.c
|
|
||||||
index 86523918ba34..8306babf0cf3 100644
|
|
||||||
--- a/src/wayland/meta-wayland-tablet-tool.c
|
|
||||||
+++ b/src/wayland/meta-wayland-tablet-tool.c
|
|
||||||
@@ -32,7 +32,6 @@
|
|
||||||
#include "wayland/meta-wayland-tablet.h"
|
|
||||||
#include "wayland/meta-wayland-tablet-seat.h"
|
|
||||||
#include "backends/meta-input-settings-private.h"
|
|
||||||
-#include "backends/meta-logical-monitor.h"
|
|
||||||
|
|
||||||
#include "tablet-unstable-v2-server-protocol.h"
|
|
||||||
|
|
||||||
@@ -425,87 +424,49 @@ tablet_tool_handle_cursor_surface_destroy (struct wl_listener *listener,
|
|
||||||
meta_wayland_tablet_tool_set_cursor_surface (tool, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
-static void
|
|
||||||
-tool_cursor_prepare_at (MetaCursorSpriteXcursor *sprite_xcursor,
|
|
||||||
- float best_scale,
|
|
||||||
- int x,
|
|
||||||
- int y,
|
|
||||||
- MetaWaylandTabletTool *tool)
|
|
||||||
-{
|
|
||||||
- MetaBackend *backend = backend_from_tool (tool);
|
|
||||||
- MetaMonitorManager *monitor_manager =
|
|
||||||
- meta_backend_get_monitor_manager (backend);
|
|
||||||
- MetaLogicalMonitor *logical_monitor;
|
|
||||||
-
|
|
||||||
- logical_monitor =
|
|
||||||
- meta_monitor_manager_get_logical_monitor_at (monitor_manager, x, y);
|
|
||||||
-
|
|
||||||
- /* Reload the cursor texture if the scale has changed. */
|
|
||||||
- if (logical_monitor)
|
|
||||||
- {
|
|
||||||
- MetaCursorSprite *cursor_sprite = META_CURSOR_SPRITE (sprite_xcursor);
|
|
||||||
- float ceiled_scale;
|
|
||||||
-
|
|
||||||
- ceiled_scale = ceilf (logical_monitor->scale);
|
|
||||||
- meta_cursor_sprite_xcursor_set_theme_scale (sprite_xcursor,
|
|
||||||
- (int) ceiled_scale);
|
|
||||||
-
|
|
||||||
- if (meta_backend_is_stage_views_scaled (backend))
|
|
||||||
- meta_cursor_sprite_set_texture_scale (cursor_sprite,
|
|
||||||
- 1.0f / ceiled_scale);
|
|
||||||
- else
|
|
||||||
- meta_cursor_sprite_set_texture_scale (cursor_sprite, 1.0f);
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
MetaWaylandTabletTool *
|
|
||||||
meta_wayland_tablet_tool_new (MetaWaylandTabletSeat *seat,
|
|
||||||
ClutterInputDeviceTool *device_tool)
|
|
||||||
{
|
|
||||||
MetaWaylandCompositor *compositor =
|
|
||||||
meta_wayland_seat_get_compositor (seat->seat);
|
|
||||||
MetaContext *context = meta_wayland_compositor_get_context (compositor);
|
|
||||||
MetaBackend *backend = meta_context_get_backend (context);
|
|
||||||
MetaCursorTracker *cursor_tracker = meta_backend_get_cursor_tracker (backend);
|
|
||||||
MetaWaylandTabletTool *tool;
|
|
||||||
|
|
||||||
tool = g_new0 (MetaWaylandTabletTool, 1);
|
|
||||||
tool->seat = seat;
|
|
||||||
tool->device_tool = device_tool;
|
|
||||||
wl_list_init (&tool->resource_list);
|
|
||||||
wl_list_init (&tool->focus_resource_list);
|
|
||||||
|
|
||||||
tool->focus_surface_destroy_listener.notify = tablet_tool_handle_focus_surface_destroy;
|
|
||||||
tool->cursor_surface_destroy_listener.notify = tablet_tool_handle_cursor_surface_destroy;
|
|
||||||
|
|
||||||
tool->default_sprite = meta_cursor_sprite_xcursor_new (META_CURSOR_DEFAULT,
|
|
||||||
cursor_tracker);
|
|
||||||
- meta_cursor_sprite_set_prepare_func (META_CURSOR_SPRITE (tool->default_sprite),
|
|
||||||
- (MetaCursorPrepareFunc) tool_cursor_prepare_at,
|
|
||||||
- tool);
|
|
||||||
|
|
||||||
return tool;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_wayland_tablet_tool_free (MetaWaylandTabletTool *tool)
|
|
||||||
{
|
|
||||||
struct wl_resource *resource, *next;
|
|
||||||
|
|
||||||
meta_wayland_tablet_tool_set_current_surface (tool, NULL);
|
|
||||||
meta_wayland_tablet_tool_set_focus (tool, NULL, NULL);
|
|
||||||
meta_wayland_tablet_tool_set_cursor_surface (tool, NULL);
|
|
||||||
g_clear_object (&tool->cursor_renderer);
|
|
||||||
|
|
||||||
wl_resource_for_each_safe (resource, next, &tool->resource_list)
|
|
||||||
{
|
|
||||||
zwp_tablet_tool_v2_send_removed (resource);
|
|
||||||
wl_list_remove (wl_resource_get_link (resource));
|
|
||||||
wl_list_init (wl_resource_get_link (resource));
|
|
||||||
}
|
|
||||||
|
|
||||||
- meta_cursor_sprite_set_prepare_func (META_CURSOR_SPRITE (tool->default_sprite),
|
|
||||||
- NULL, NULL);
|
|
||||||
g_object_unref (tool->default_sprite);
|
|
||||||
|
|
||||||
g_free (tool);
|
|
14
_service
14
_service
@ -3,24 +3,16 @@
|
|||||||
<service name="obs_scm" mode="manual">
|
<service name="obs_scm" mode="manual">
|
||||||
<param name="scm">git</param>
|
<param name="scm">git</param>
|
||||||
<param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param>
|
<param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param>
|
||||||
<param name="revision">9a1fa7e13b5feefb76902287ae7ca2554d18cf15</param>
|
<param name="revision">46.4</param>
|
||||||
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
|
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
|
||||||
<param name="versionrewrite-pattern">(.*)\+0</param>
|
<param name="versionrewrite-pattern">(.*)\+0</param>
|
||||||
<param name="versionrewrite-replacement">\1</param>
|
<param name="versionrewrite-replacement">\1</param>
|
||||||
<param name="changesgenerate">enable</param>
|
<!-- <param name="changesgenerate">enable</param> -->
|
||||||
</service>
|
|
||||||
<service name="obs_scm" mode="manual">
|
|
||||||
<param name="scm">git</param>
|
|
||||||
<param name="url">https://gitlab.gnome.org/GNOME/gvdb.git</param>
|
|
||||||
<param name="revision">b54bc5da25127ef416858a3ad92e57159ff565b3</param>
|
|
||||||
<param name="versionformat">0.gitmodule</param>
|
|
||||||
</service>
|
</service>
|
||||||
<service name="tar" mode="buildtime"/>
|
<service name="tar" mode="buildtime"/>
|
||||||
<service name="recompress" mode="buildtime">
|
<service name="recompress" mode="buildtime">
|
||||||
<param name="file">*.tar</param>
|
<param name="file">*.tar</param>
|
||||||
<param name="compression">zst</param>
|
<param name="compression">zst</param>
|
||||||
</service>
|
</service>
|
||||||
<service name="set_version" mode="manual">
|
<service name="set_version" mode="manual" />
|
||||||
<param name="basename">mutter</param>
|
|
||||||
</service>
|
|
||||||
</services>
|
</services>
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
<servicedata>
|
|
||||||
<service name="tar_scm">
|
|
||||||
<param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param>
|
|
||||||
<param name="changesrevision">9a1fa7e13b5feefb76902287ae7ca2554d18cf15</param></service></servicedata>
|
|
BIN
gvdb-0.gitmodule.obscpio
(Stored with Git LFS)
BIN
gvdb-0.gitmodule.obscpio
(Stored with Git LFS)
Binary file not shown.
@ -1,4 +0,0 @@
|
|||||||
name: gvdb
|
|
||||||
version: 0.gitmodule
|
|
||||||
mtime: 1725181085
|
|
||||||
commit: b54bc5da25127ef416858a3ad92e57159ff565b3
|
|
3
mutter-46.4.obscpio
Normal file
3
mutter-46.4.obscpio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7a367792ce83f6f216543816823ee7d0e3a4cdc85cb6adb595f6f8e618ad40a4
|
||||||
|
size 30414861
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:e809cf680ca1aa660e9dc6c40c4d8b3ae896b07cacd49635a2c8c375ef3f6249
|
|
||||||
size 45958157
|
|
48
mutter-SLE-relax-some-constraints-on-CSD-windows.patch
Normal file
48
mutter-SLE-relax-some-constraints-on-CSD-windows.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
diff -urp mutter-46.3.1.orig/src/core/constraints.c mutter-46.3.1/src/core/constraints.c
|
||||||
|
--- mutter-46.3.1.orig/src/core/constraints.c 2024-07-30 13:54:28.842797794 -0500
|
||||||
|
+++ mutter-46.3.1/src/core/constraints.c 2024-07-30 14:02:54.984030220 -0500
|
||||||
|
@@ -1730,6 +1730,12 @@ constrain_to_single_monitor (MetaWindow
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
+constraint_is_sle_classic(void){
|
||||||
|
+ char * session_mode = (char *) g_getenv ("GNOME_SHELL_SESSION_MODE");
|
||||||
|
+ return g_strcmp0("sle-classic", session_mode) == 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static gboolean
|
||||||
|
constrain_fully_onscreen (MetaWindow *window,
|
||||||
|
ConstraintInfo *info,
|
||||||
|
ConstraintPriority priority,
|
||||||
|
@@ -1745,6 +1751,11 @@ constrain_fully_onscreen (MetaWindow
|
||||||
|
if (window->type == META_WINDOW_DESKTOP ||
|
||||||
|
window->type == META_WINDOW_DOCK ||
|
||||||
|
window->fullscreen ||
|
||||||
|
+ /* in SLE Classic, there is no top bar and to avoid issues like
|
||||||
|
+ * bnc#883491, remove some constraints on CSD windows, which tends to have
|
||||||
|
+ * invisible wrapper box. Do the same for "constrain_titlebar_visible".
|
||||||
|
+ */
|
||||||
|
+ (constraint_is_sle_classic() && !window->decorated) ||
|
||||||
|
!window->require_fully_onscreen ||
|
||||||
|
info->is_user_action ||
|
||||||
|
meta_window_get_placement_rule (window))
|
||||||
|
@@ -1802,12 +1813,13 @@ constrain_titlebar_visible (MetaWindow
|
||||||
|
* is only meant for normal windows (e.g. we don't want docks to be shoved
|
||||||
|
* "onscreen" by their own strut).
|
||||||
|
*/
|
||||||
|
- if (window->type == META_WINDOW_DESKTOP ||
|
||||||
|
- window->type == META_WINDOW_DOCK ||
|
||||||
|
- window->fullscreen ||
|
||||||
|
- !window->require_titlebar_visible ||
|
||||||
|
- unconstrained_user_action ||
|
||||||
|
- user_nonnorthern_resize ||
|
||||||
|
+ if (window->type == META_WINDOW_DESKTOP ||
|
||||||
|
+ window->type == META_WINDOW_DOCK ||
|
||||||
|
+ window->fullscreen ||
|
||||||
|
+ !window->require_titlebar_visible ||
|
||||||
|
+ (constraint_is_sle_classic() && !window->decorated) ||
|
||||||
|
+ unconstrained_user_action ||
|
||||||
|
+ user_nonnorthern_resize ||
|
||||||
|
meta_window_get_placement_rule (window))
|
||||||
|
return TRUE;
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
Index: mutter-48.0/src/backends/native/meta-default-modes-s390x.h
|
Index: mutter-46.3/src/backends/native/meta-default-modes-s390x.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ mutter-48.0/src/backends/native/meta-default-modes-s390x.h
|
+++ mutter-46.3/src/backends/native/meta-default-modes-s390x.h
|
||||||
@@ -0,0 +1,57 @@
|
@@ -0,0 +1,57 @@
|
||||||
+/* Generated by gen-default-modes.py */
|
+/* Generated by gen-default-modes.py */
|
||||||
+
|
+
|
||||||
@ -60,11 +60,11 @@ Index: mutter-48.0/src/backends/native/meta-default-modes-s390x.h
|
|||||||
+{ 813000, 2304, 2307, 2312, 2386, 0, 4096, 4440, 4888, 5680, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "2304x4096_60.00" },
|
+{ 813000, 2304, 2307, 2312, 2386, 0, 4096, 4440, 4888, 5680, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "2304x4096_60.00" },
|
||||||
+{ 1276500, 2880, 2883, 2888, 2982, 0, 5120, 5560, 6128, 7136, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "2880x5120_60.00" },
|
+{ 1276500, 2880, 2883, 2888, 2982, 0, 5120, 5560, 6128, 7136, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "2880x5120_60.00" },
|
||||||
+};
|
+};
|
||||||
Index: mutter-48.0/src/meson.build
|
Index: mutter-46.3/src/meson.build
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/src/meson.build
|
--- mutter-46.3.orig/src/meson.build
|
||||||
+++ mutter-48.0/src/meson.build
|
+++ mutter-46.3/src/meson.build
|
||||||
@@ -1031,6 +1031,7 @@ if have_profiler
|
@@ -968,6 +968,7 @@ if have_profiler
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if have_native_backend
|
if have_native_backend
|
||||||
@ -72,7 +72,7 @@ Index: mutter-48.0/src/meson.build
|
|||||||
cvt = find_program('cvt')
|
cvt = find_program('cvt')
|
||||||
|
|
||||||
gen_default_modes = find_program('backends/native/gen-default-modes.py')
|
gen_default_modes = find_program('backends/native/gen-default-modes.py')
|
||||||
@@ -1038,6 +1039,13 @@ if have_native_backend
|
@@ -975,6 +976,13 @@ if have_native_backend
|
||||||
output: 'meta-default-modes.h',
|
output: 'meta-default-modes.h',
|
||||||
command: [gen_default_modes, '@OUTPUT@']
|
command: [gen_default_modes, '@OUTPUT@']
|
||||||
)
|
)
|
||||||
@ -84,5 +84,5 @@ Index: mutter-48.0/src/meson.build
|
|||||||
+ )
|
+ )
|
||||||
+ endif
|
+ endif
|
||||||
mutter_built_sources += default_modes_h
|
mutter_built_sources += default_modes_h
|
||||||
endif
|
|
||||||
|
|
||||||
|
dbus_interfaces += [
|
||||||
|
@ -25,11 +25,11 @@ Closes <https://gitlab.gnome.org/GNOME/mutter/-/issues/3200>.
|
|||||||
create mode 100644 src/wayland/meta-wayland-text-input-v1.c
|
create mode 100644 src/wayland/meta-wayland-text-input-v1.c
|
||||||
create mode 100644 src/wayland/meta-wayland-text-input-v1.h
|
create mode 100644 src/wayland/meta-wayland-text-input-v1.h
|
||||||
|
|
||||||
Index: mutter-48.0/clutter/clutter/clutter-enums.h
|
Index: mutter-46.3/clutter/clutter/clutter-enums.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/clutter/clutter/clutter-enums.h
|
--- mutter-46.3.orig/clutter/clutter/clutter-enums.h
|
||||||
+++ mutter-48.0/clutter/clutter/clutter-enums.h
|
+++ mutter-46.3/clutter/clutter/clutter-enums.h
|
||||||
@@ -1128,6 +1128,9 @@ typedef enum
|
@@ -1183,6 +1183,9 @@ typedef enum
|
||||||
CLUTTER_INPUT_CONTENT_HINT_SENSITIVE_DATA = 1 << 7,
|
CLUTTER_INPUT_CONTENT_HINT_SENSITIVE_DATA = 1 << 7,
|
||||||
CLUTTER_INPUT_CONTENT_HINT_LATIN = 1 << 8,
|
CLUTTER_INPUT_CONTENT_HINT_LATIN = 1 << 8,
|
||||||
CLUTTER_INPUT_CONTENT_HINT_MULTILINE = 1 << 9,
|
CLUTTER_INPUT_CONTENT_HINT_MULTILINE = 1 << 9,
|
||||||
@ -39,11 +39,11 @@ Index: mutter-48.0/clutter/clutter/clutter-enums.h
|
|||||||
} ClutterInputContentHintFlags;
|
} ClutterInputContentHintFlags;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
Index: mutter-48.0/src/core/events.c
|
Index: mutter-46.3/src/core/events.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/src/core/events.c
|
--- mutter-46.3.orig/src/core/events.c
|
||||||
+++ mutter-48.0/src/core/events.c
|
+++ mutter-46.3/src/core/events.c
|
||||||
@@ -244,6 +244,7 @@ meta_display_handle_event (MetaDisplay
|
@@ -238,6 +238,7 @@ meta_display_handle_event (MetaDisplay
|
||||||
#ifdef HAVE_WAYLAND
|
#ifdef HAVE_WAYLAND
|
||||||
MetaWaylandCompositor *wayland_compositor;
|
MetaWaylandCompositor *wayland_compositor;
|
||||||
MetaWaylandTextInput *wayland_text_input = NULL;
|
MetaWaylandTextInput *wayland_text_input = NULL;
|
||||||
@ -51,7 +51,7 @@ Index: mutter-48.0/src/core/events.c
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_WAYLAND
|
#ifdef HAVE_WAYLAND
|
||||||
@@ -252,6 +253,8 @@ meta_display_handle_event (MetaDisplay
|
@@ -246,6 +247,8 @@ meta_display_handle_event (MetaDisplay
|
||||||
{
|
{
|
||||||
wayland_text_input =
|
wayland_text_input =
|
||||||
meta_wayland_compositor_get_text_input (wayland_compositor);
|
meta_wayland_compositor_get_text_input (wayland_compositor);
|
||||||
@ -60,7 +60,7 @@ Index: mutter-48.0/src/core/events.c
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -300,9 +303,11 @@ meta_display_handle_event (MetaDisplay
|
@@ -287,9 +290,11 @@ meta_display_handle_event (MetaDisplay
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_WAYLAND
|
#ifdef HAVE_WAYLAND
|
||||||
@ -75,32 +75,32 @@ Index: mutter-48.0/src/core/events.c
|
|||||||
return CLUTTER_EVENT_STOP;
|
return CLUTTER_EVENT_STOP;
|
||||||
|
|
||||||
if (wayland_compositor)
|
if (wayland_compositor)
|
||||||
Index: mutter-48.0/src/meson.build
|
Index: mutter-46.3/src/meson.build
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/src/meson.build
|
--- mutter-46.3.orig/src/meson.build
|
||||||
+++ mutter-48.0/src/meson.build
|
+++ mutter-46.3/src/meson.build
|
||||||
@@ -694,6 +694,8 @@ if have_wayland
|
@@ -688,6 +688,8 @@ if have_wayland
|
||||||
'wayland/meta-wayland-tablet-pad.c',
|
'wayland/meta-wayland-tablet-tool.h',
|
||||||
'wayland/meta-wayland-tablet-pad-group.c',
|
'wayland/meta-wayland-text-input.c',
|
||||||
'wayland/meta-wayland-tablet-pad-group.h',
|
'wayland/meta-wayland-text-input.h',
|
||||||
+ 'wayland/meta-wayland-text-input-v1.c',
|
+ 'wayland/meta-wayland-text-input-v1.c',
|
||||||
+ 'wayland/meta-wayland-text-input-v1.h',
|
+ 'wayland/meta-wayland-text-input-v1.h',
|
||||||
'wayland/meta-wayland-tablet-pad.h',
|
'wayland/meta-wayland-touch.c',
|
||||||
'wayland/meta-wayland-tablet-pad-ring.c',
|
'wayland/meta-wayland-touch.h',
|
||||||
'wayland/meta-wayland-tablet-pad-ring.h',
|
'wayland/meta-wayland-transaction.c',
|
||||||
@@ -1146,6 +1148,7 @@ if have_wayland
|
@@ -1084,6 +1086,7 @@ if have_wayland
|
||||||
['single-pixel-buffer', 'staging', 'v1', ],
|
['single-pixel-buffer', 'staging', 'v1', ],
|
||||||
['tablet', 'unstable', 'v2', ],
|
['tablet', 'unstable', 'v2', ],
|
||||||
['text-input', 'unstable', 'v3', ],
|
['text-input', 'unstable', 'v3', ],
|
||||||
+ ['text-input', 'unstable', 'v1', ],
|
+ ['text-input', 'unstable', 'v1', ],
|
||||||
['viewporter', 'stable', ],
|
['viewporter', 'stable', ],
|
||||||
['xdg-activation', 'staging', 'v1', ],
|
['xdg-activation', 'staging', 'v1', ],
|
||||||
['xdg-dialog', 'staging', 'v1', ],
|
['xdg-foreign', 'unstable', 'v1', ],
|
||||||
Index: mutter-48.0/src/wayland/meta-wayland-seat.c
|
Index: mutter-46.3/src/wayland/meta-wayland-seat.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/src/wayland/meta-wayland-seat.c
|
--- mutter-46.3.orig/src/wayland/meta-wayland-seat.c
|
||||||
+++ mutter-48.0/src/wayland/meta-wayland-seat.c
|
+++ mutter-46.3/src/wayland/meta-wayland-seat.c
|
||||||
@@ -236,6 +236,7 @@ default_focus (MetaWaylandEventHandler *
|
@@ -229,6 +229,7 @@ default_focus (MetaWaylandEventHandler *
|
||||||
surface);
|
surface);
|
||||||
meta_wayland_tablet_seat_set_pad_focus (seat->tablet_seat, surface);
|
meta_wayland_tablet_seat_set_pad_focus (seat->tablet_seat, surface);
|
||||||
meta_wayland_text_input_set_focus (seat->text_input, surface);
|
meta_wayland_text_input_set_focus (seat->text_input, surface);
|
||||||
@ -108,7 +108,7 @@ Index: mutter-48.0/src/wayland/meta-wayland-seat.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (caps & CLUTTER_INPUT_CAPABILITY_TABLET_TOOL)
|
if (caps & CLUTTER_INPUT_CAPABILITY_TABLET_TOOL)
|
||||||
@@ -301,6 +302,8 @@ meta_wayland_seat_new (MetaWaylandCompos
|
@@ -290,6 +291,8 @@ meta_wayland_seat_new (MetaWaylandCompos
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
seat->text_input = meta_wayland_text_input_new (seat);
|
seat->text_input = meta_wayland_text_input_new (seat);
|
||||||
@ -117,7 +117,7 @@ Index: mutter-48.0/src/wayland/meta-wayland-seat.c
|
|||||||
|
|
||||||
meta_wayland_data_device_init (&seat->data_device, seat);
|
meta_wayland_data_device_init (&seat->data_device, seat);
|
||||||
meta_wayland_data_device_primary_init (&seat->primary_data_device, seat);
|
meta_wayland_data_device_primary_init (&seat->primary_data_device, seat);
|
||||||
@@ -346,6 +349,7 @@ meta_wayland_seat_free (MetaWaylandSeat
|
@@ -338,6 +341,7 @@ meta_wayland_seat_free (MetaWaylandSeat
|
||||||
g_object_unref (seat->touch);
|
g_object_unref (seat->touch);
|
||||||
|
|
||||||
meta_wayland_text_input_destroy (seat->text_input);
|
meta_wayland_text_input_destroy (seat->text_input);
|
||||||
@ -125,7 +125,7 @@ Index: mutter-48.0/src/wayland/meta-wayland-seat.c
|
|||||||
|
|
||||||
g_free (seat);
|
g_free (seat);
|
||||||
}
|
}
|
||||||
@@ -498,7 +502,10 @@ meta_wayland_seat_handle_event_internal
|
@@ -478,7 +482,10 @@ meta_wayland_seat_handle_event_internal
|
||||||
if (event_type == CLUTTER_BUTTON_PRESS ||
|
if (event_type == CLUTTER_BUTTON_PRESS ||
|
||||||
event_type == CLUTTER_TOUCH_BEGIN)
|
event_type == CLUTTER_TOUCH_BEGIN)
|
||||||
{
|
{
|
||||||
@ -137,7 +137,7 @@ Index: mutter-48.0/src/wayland/meta-wayland-seat.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (event_type)
|
switch (event_type)
|
||||||
@@ -530,7 +537,8 @@ meta_wayland_seat_handle_event_internal
|
@@ -510,7 +517,8 @@ meta_wayland_seat_handle_event_internal
|
||||||
case CLUTTER_IM_COMMIT:
|
case CLUTTER_IM_COMMIT:
|
||||||
case CLUTTER_IM_DELETE:
|
case CLUTTER_IM_DELETE:
|
||||||
case CLUTTER_IM_PREEDIT:
|
case CLUTTER_IM_PREEDIT:
|
||||||
@ -147,10 +147,10 @@ Index: mutter-48.0/src/wayland/meta-wayland-seat.c
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
Index: mutter-48.0/src/wayland/meta-wayland-seat.h
|
Index: mutter-46.3/src/wayland/meta-wayland-seat.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/src/wayland/meta-wayland-seat.h
|
--- mutter-46.3.orig/src/wayland/meta-wayland-seat.h
|
||||||
+++ mutter-48.0/src/wayland/meta-wayland-seat.h
|
+++ mutter-46.3/src/wayland/meta-wayland-seat.h
|
||||||
@@ -30,6 +30,7 @@
|
@@ -30,6 +30,7 @@
|
||||||
#include "wayland/meta-wayland-pointer.h"
|
#include "wayland/meta-wayland-pointer.h"
|
||||||
#include "wayland/meta-wayland-tablet-tool.h"
|
#include "wayland/meta-wayland-tablet-tool.h"
|
||||||
@ -159,7 +159,7 @@ Index: mutter-48.0/src/wayland/meta-wayland-seat.h
|
|||||||
#include "wayland/meta-wayland-touch.h"
|
#include "wayland/meta-wayland-touch.h"
|
||||||
#include "wayland/meta-wayland-types.h"
|
#include "wayland/meta-wayland-types.h"
|
||||||
|
|
||||||
@@ -51,6 +52,7 @@ struct _MetaWaylandSeat
|
@@ -49,6 +50,7 @@ struct _MetaWaylandSeat
|
||||||
MetaWaylandDataDevicePrimary primary_data_device;
|
MetaWaylandDataDevicePrimary primary_data_device;
|
||||||
|
|
||||||
MetaWaylandTextInput *text_input;
|
MetaWaylandTextInput *text_input;
|
||||||
@ -167,10 +167,10 @@ Index: mutter-48.0/src/wayland/meta-wayland-seat.h
|
|||||||
|
|
||||||
MetaWaylandInput *input_handler;
|
MetaWaylandInput *input_handler;
|
||||||
MetaWaylandEventHandler *default_handler;
|
MetaWaylandEventHandler *default_handler;
|
||||||
Index: mutter-48.0/src/wayland/meta-wayland-text-input-v1.c
|
Index: mutter-46.3/src/wayland/meta-wayland-text-input-v1.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ mutter-48.0/src/wayland/meta-wayland-text-input-v1.c
|
+++ mutter-46.3/src/wayland/meta-wayland-text-input-v1.c
|
||||||
@@ -0,0 +1,859 @@
|
@@ -0,0 +1,859 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (C) 2024 SUSE LLC
|
+ * Copyright (C) 2024 SUSE LLC
|
||||||
@ -1031,10 +1031,10 @@ Index: mutter-48.0/src/wayland/meta-wayland-text-input-v1.c
|
|||||||
+
|
+
|
||||||
+ return retval;
|
+ return retval;
|
||||||
+}
|
+}
|
||||||
Index: mutter-48.0/src/wayland/meta-wayland-text-input-v1.h
|
Index: mutter-46.3/src/wayland/meta-wayland-text-input-v1.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ mutter-48.0/src/wayland/meta-wayland-text-input-v1.h
|
+++ mutter-46.3/src/wayland/meta-wayland-text-input-v1.h
|
||||||
@@ -0,0 +1,38 @@
|
@@ -0,0 +1,38 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (C) 2024 SUSE LLC
|
+ * Copyright (C) 2024 SUSE LLC
|
||||||
@ -1074,10 +1074,10 @@ Index: mutter-48.0/src/wayland/meta-wayland-text-input-v1.h
|
|||||||
+
|
+
|
||||||
+gboolean meta_wayland_text_input_v1_handle_event (MetaWaylandTextInputV1 *text_input,
|
+gboolean meta_wayland_text_input_v1_handle_event (MetaWaylandTextInputV1 *text_input,
|
||||||
+ const ClutterEvent *event);
|
+ const ClutterEvent *event);
|
||||||
Index: mutter-48.0/src/wayland/meta-wayland-versions.h
|
Index: mutter-46.3/src/wayland/meta-wayland-versions.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/src/wayland/meta-wayland-versions.h
|
--- mutter-46.3.orig/src/wayland/meta-wayland-versions.h
|
||||||
+++ mutter-48.0/src/wayland/meta-wayland-versions.h
|
+++ mutter-46.3/src/wayland/meta-wayland-versions.h
|
||||||
@@ -49,6 +49,7 @@
|
@@ -49,6 +49,7 @@
|
||||||
#define META_ZXDG_OUTPUT_V1_VERSION 3
|
#define META_ZXDG_OUTPUT_V1_VERSION 3
|
||||||
#define META_ZWP_XWAYLAND_KEYBOARD_GRAB_V1_VERSION 1
|
#define META_ZWP_XWAYLAND_KEYBOARD_GRAB_V1_VERSION 1
|
||||||
@ -1085,12 +1085,12 @@ Index: mutter-48.0/src/wayland/meta-wayland-versions.h
|
|||||||
+#define META_ZWP_TEXT_INPUT_V1_VERSION 1
|
+#define META_ZWP_TEXT_INPUT_V1_VERSION 1
|
||||||
#define META_WP_VIEWPORTER_VERSION 1
|
#define META_WP_VIEWPORTER_VERSION 1
|
||||||
#define META_ZWP_PRIMARY_SELECTION_V1_VERSION 1
|
#define META_ZWP_PRIMARY_SELECTION_V1_VERSION 1
|
||||||
#define META_WP_PRESENTATION_VERSION 2
|
#define META_WP_PRESENTATION_VERSION 1
|
||||||
Index: mutter-48.0/src/wayland/meta-wayland.c
|
Index: mutter-46.3/src/wayland/meta-wayland.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/src/wayland/meta-wayland.c
|
--- mutter-46.3.orig/src/wayland/meta-wayland.c
|
||||||
+++ mutter-48.0/src/wayland/meta-wayland.c
|
+++ mutter-46.3/src/wayland/meta-wayland.c
|
||||||
@@ -983,6 +983,7 @@ meta_wayland_compositor_new (MetaContext
|
@@ -865,6 +865,7 @@ meta_wayland_compositor_new (MetaContext
|
||||||
meta_wayland_keyboard_shortcuts_inhibit_init (compositor);
|
meta_wayland_keyboard_shortcuts_inhibit_init (compositor);
|
||||||
meta_wayland_surface_inhibit_shortcuts_dialog_init ();
|
meta_wayland_surface_inhibit_shortcuts_dialog_init ();
|
||||||
meta_wayland_text_input_init (compositor);
|
meta_wayland_text_input_init (compositor);
|
||||||
@ -1098,7 +1098,7 @@ Index: mutter-48.0/src/wayland/meta-wayland.c
|
|||||||
meta_wayland_init_presentation_time (compositor);
|
meta_wayland_init_presentation_time (compositor);
|
||||||
meta_wayland_activation_init (compositor);
|
meta_wayland_activation_init (compositor);
|
||||||
meta_wayland_transaction_init (compositor);
|
meta_wayland_transaction_init (compositor);
|
||||||
@@ -1252,6 +1253,12 @@ meta_wayland_compositor_get_text_input (
|
@@ -1124,6 +1125,12 @@ meta_wayland_compositor_get_text_input (
|
||||||
return compositor->seat->text_input;
|
return compositor->seat->text_input;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1111,10 +1111,10 @@ Index: mutter-48.0/src/wayland/meta-wayland.c
|
|||||||
static void
|
static void
|
||||||
meta_wayland_compositor_update_focus (MetaWaylandCompositor *compositor,
|
meta_wayland_compositor_update_focus (MetaWaylandCompositor *compositor,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
Index: mutter-48.0/src/wayland/meta-wayland.h
|
Index: mutter-46.3/src/wayland/meta-wayland.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/src/wayland/meta-wayland.h
|
--- mutter-46.3.orig/src/wayland/meta-wayland.h
|
||||||
+++ mutter-48.0/src/wayland/meta-wayland.h
|
+++ mutter-46.3/src/wayland/meta-wayland.h
|
||||||
@@ -26,6 +26,7 @@
|
@@ -26,6 +26,7 @@
|
||||||
#include "meta/types.h"
|
#include "meta/types.h"
|
||||||
#include "meta/meta-wayland-compositor.h"
|
#include "meta/meta-wayland-compositor.h"
|
||||||
@ -1123,7 +1123,7 @@ Index: mutter-48.0/src/wayland/meta-wayland.h
|
|||||||
#include "wayland/meta-wayland-types.h"
|
#include "wayland/meta-wayland-types.h"
|
||||||
|
|
||||||
META_EXPORT_TEST
|
META_EXPORT_TEST
|
||||||
@@ -99,6 +100,7 @@ void meta_wayland_com
|
@@ -88,6 +89,7 @@ void meta_wayland_com
|
||||||
MetaWindow *window);
|
MetaWindow *window);
|
||||||
|
|
||||||
MetaWaylandTextInput * meta_wayland_compositor_get_text_input (MetaWaylandCompositor *compositor);
|
MetaWaylandTextInput * meta_wayland_compositor_get_text_input (MetaWaylandCompositor *compositor);
|
||||||
|
@ -13,13 +13,13 @@ by special-casing shaped Java windows.
|
|||||||
src/x11/window-x11.c | 9 +++++++++
|
src/x11/window-x11.c | 9 +++++++++
|
||||||
3 files changed, 19 insertions(+)
|
3 files changed, 19 insertions(+)
|
||||||
|
|
||||||
Index: mutter-48.0/src/compositor/meta-window-actor-x11.c
|
Index: mutter-46.3/src/compositor/meta-window-actor-x11.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/src/compositor/meta-window-actor-x11.c
|
--- mutter-46.3.orig/src/compositor/meta-window-actor-x11.c
|
||||||
+++ mutter-48.0/src/compositor/meta-window-actor-x11.c
|
+++ mutter-46.3/src/compositor/meta-window-actor-x11.c
|
||||||
@@ -408,6 +408,14 @@ has_shadow (MetaWindowActorX11 *actor_x1
|
@@ -424,6 +424,14 @@ has_shadow (MetaWindowActorX11 *actor_x1
|
||||||
*/
|
*/
|
||||||
if (!meta_window_actor_is_opaque (META_WINDOW_ACTOR (actor_x11)))
|
if (window->has_custom_frame_extents)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
+
|
+
|
||||||
+ /*
|
+ /*
|
||||||
@ -31,12 +31,12 @@ Index: mutter-48.0/src/compositor/meta-window-actor-x11.c
|
|||||||
+ return FALSE;
|
+ return FALSE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If a window specifies that it has custom frame extents, that likely
|
* Generate shadows for all other windows.
|
||||||
Index: mutter-48.0/src/x11/window-x11-private.h
|
Index: mutter-46.3/src/x11/window-x11-private.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/src/x11/window-x11-private.h
|
--- mutter-46.3.orig/src/x11/window-x11-private.h
|
||||||
+++ mutter-48.0/src/x11/window-x11-private.h
|
+++ mutter-46.3/src/x11/window-x11-private.h
|
||||||
@@ -128,6 +128,8 @@ gboolean meta_window_x11_has_pointer (Me
|
@@ -125,6 +125,8 @@ gboolean meta_window_x11_has_pointer (Me
|
||||||
gboolean meta_window_x11_same_application (MetaWindow *window,
|
gboolean meta_window_x11_same_application (MetaWindow *window,
|
||||||
MetaWindow *other_window);
|
MetaWindow *other_window);
|
||||||
|
|
||||||
@ -45,11 +45,11 @@ Index: mutter-48.0/src/x11/window-x11-private.h
|
|||||||
void meta_window_x11_shutdown_group (MetaWindow *window);
|
void meta_window_x11_shutdown_group (MetaWindow *window);
|
||||||
|
|
||||||
META_EXPORT
|
META_EXPORT
|
||||||
Index: mutter-48.0/src/x11/window-x11.c
|
Index: mutter-46.3/src/x11/window-x11.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- mutter-48.0.orig/src/x11/window-x11.c
|
--- mutter-46.3.orig/src/x11/window-x11.c
|
||||||
+++ mutter-48.0/src/x11/window-x11.c
|
+++ mutter-46.3/src/x11/window-x11.c
|
||||||
@@ -2718,6 +2718,15 @@ meta_window_x11_update_shape_region (Met
|
@@ -2582,6 +2582,15 @@ meta_window_x11_update_shape_region (Met
|
||||||
meta_window_set_shape_region (window, region);
|
meta_window_set_shape_region (window, region);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
350
mutter.changes
350
mutter.changes
@ -1,353 +1,3 @@
|
|||||||
-------------------------------------------------------------------
|
|
||||||
Fri Mar 21 08:05:33 UTC 2025 - Dead Mozay <dead_mozay@opensuse.org>
|
|
||||||
|
|
||||||
- Add 0001-cursor-Unify-prepare_func-for-shape-cursors.patch.
|
|
||||||
Solves the problem of changing the size of the cursor in gtk
|
|
||||||
applications on HiDPI displays.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Mar 20 15:43:17 UTC 2025 - bjorn.lie@gmail.com
|
|
||||||
|
|
||||||
- Update to version 48.0+5:
|
|
||||||
* Revert "ci: Disable container building temporarily"
|
|
||||||
* Revert "ci: Disable sysext temporarily"
|
|
||||||
* tests: Raise the timeout on monitor-unit from 1 minute to 5
|
|
||||||
minutes
|
|
||||||
* Revert "onscreen/native: Account for all posted frames"
|
|
||||||
* kms/impl-device: Always catch pending KMS update in
|
|
||||||
_schedule_process
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Mar 18 01:57:42 UTC 2025 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
|
||||||
|
|
||||||
- Drop mutter-SLE-relax-some-constraints-on-CSD-windows.patch:
|
|
||||||
sle-classic is not supported.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sun Mar 16 14:49:50 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 48.0:
|
|
||||||
+ Improve wp_color_management_v1 support
|
|
||||||
+ Fix cursor brightness not following HDR luminance setting
|
|
||||||
+ Fix black screen with nvidia driver
|
|
||||||
+ Adjust presentation time feedback for triple buffering
|
|
||||||
+ Fix broken overlay cursor damage tracking
|
|
||||||
+ Add support for Kana and Compose USB HID LEDs
|
|
||||||
+ Fix frequent frame skips under some circumstances
|
|
||||||
+ Fix random output freezes
|
|
||||||
+ Fixed crashes
|
|
||||||
+ Misc. bug fixes and cleanups
|
|
||||||
+ Updated translations.
|
|
||||||
- Rebase patches with quilt and simplyfy conditionals applying
|
|
||||||
patches.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Mar 14 14:04:59 UTC 2025 - Michael Gorse <mgorse@suse.com>
|
|
||||||
|
|
||||||
- Drop use of sle_version in favor of is_opensuse and suse_version.
|
|
||||||
Sle_version is no longer used in SLE 16.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Mar 5 00:48:02 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 48.rc:
|
|
||||||
+ Support presentation-time version 2
|
|
||||||
+ Honor wl_surface.offset on cursor surfaces
|
|
||||||
+ Allow to activate the overview with either Super key
|
|
||||||
+ Implement dynamic triple buffering
|
|
||||||
+ Implement the cursor_shape_v1 protocol
|
|
||||||
+ Improve window placement when centering new windows
|
|
||||||
+ Fix sharable surfaces with nvidia as primary
|
|
||||||
+ Default to sticky drag lock
|
|
||||||
+ Implement a11y keyboard monitoring support
|
|
||||||
+ Support wp_color_management_v1 protocol
|
|
||||||
+ Fix dma-bufs support for headless sessions
|
|
||||||
+ Allow to mark monitors for lease via gdctl
|
|
||||||
+ Fixed confused IM focus state after closing some windows
|
|
||||||
+ Center new windows by default
|
|
||||||
+ Add output luminance settings
|
|
||||||
+ Do not use triple buffering when update time fits into refresh
|
|
||||||
interval
|
|
||||||
+ Fixed crashes
|
|
||||||
+ Misc. bug fixes and cleanups
|
|
||||||
+ Updated translations.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Mar 5 00:48:01 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 48.beta:
|
|
||||||
+ Update cursors via the frame clock in virtual monitors
|
|
||||||
+ Synchronize device enabled state when adding device
|
|
||||||
+ Do not use modifiers if surface should be sharable
|
|
||||||
+ Add accessible state tracking in Clutter
|
|
||||||
+ Introduce GNOME Display Control (gdctl) utility
|
|
||||||
+ Fix notifying shell about modifier-only keyboard layout
|
|
||||||
switches
|
|
||||||
+ Configure HDR via DisplayConfig D-Bus API
|
|
||||||
+ Fixed crashes
|
|
||||||
+ Misc. bug fixes and cleanups
|
|
||||||
- Add pkgconfig(bash-completion), python3-argcomplete and
|
|
||||||
python3-docutils BuildRequires, new dependencies.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Mar 5 00:48:00 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 48.alpha:
|
|
||||||
+ gwakeup: Reduce wake-ups to only first item in queue
|
|
||||||
+ x11: Reduce chances XPending does recvmsg() syscall
|
|
||||||
+ Fix grabbing tablet devices
|
|
||||||
+ Improve color-management support
|
|
||||||
+ Fix misplaced windows and random resizes on scaled monitors
|
|
||||||
+ Improve detecting preferred primary devices
|
|
||||||
+ Merge CoglPango into Clutter
|
|
||||||
+ Always depend on libdisplay-info for EDID parsing
|
|
||||||
+ Fix explicit sync with virtual monitors w/o pipewire streams
|
|
||||||
+ Introspect `event` parameter in MetaKeyHandlerFunc
|
|
||||||
+ Allow to configure monitors as for-lease
|
|
||||||
+ Add support for system bell protocol
|
|
||||||
+ Add `configure` signal to allow tweaking original window
|
|
||||||
configuration
|
|
||||||
+ Default to high thread instead of realtime priority for KMS
|
|
||||||
thread
|
|
||||||
+ Add built-in renderdoc support
|
|
||||||
+ Fix maximized X11 when using native Xwayland scaling
|
|
||||||
+ Implement xdg-toplevel-drag-v1 protocol
|
|
||||||
+ Fix blank screen in remote headless sessions
|
|
||||||
+ Query screen cast format modifiers via CoglRenderer
|
|
||||||
+ Also request high priority secondary EGL context
|
|
||||||
+ Fix Xwayland DND coordinates when using fractional scaling
|
|
||||||
+ Remove ClutterImage
|
|
||||||
+ Fix applying initial _NET_WM_WINDOW_OPACITY on Xwayland
|
|
||||||
+ Implement wp_viewport support for cursor surfaces
|
|
||||||
+ Improve input → output latency of cursor movements
|
|
||||||
+ Make font-rendering support optional
|
|
||||||
+ Improve frame rate on monitors attached to secondary GPUs in
|
|
||||||
copy mode
|
|
||||||
+ Add support for commit-timing-v1 and fifo-v1 protocols
|
|
||||||
+ Use BT709 coefficients and limited range for YUV conversion by
|
|
||||||
default
|
|
||||||
+ Send preferred scales to all surface roles
|
|
||||||
+ Fixed crashes
|
|
||||||
+ Misc. bug fixes and cleanups
|
|
||||||
- Stop passing libdisplay_info=true to meson setup, no longer
|
|
||||||
needed nor recognized.
|
|
||||||
- Rebase patches.
|
|
||||||
- Disable patches needing rebase:
|
|
||||||
+ 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch
|
|
||||||
+ mutter-implement-text-input-v1.patch
|
|
||||||
- Bump api_major to 16 following upstream changes.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Mar 4 20:23:07 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 47.6:
|
|
||||||
+ Support presentation-time version 2
|
|
||||||
+ Honor wl_surface.offset on cursor surfaces
|
|
||||||
+ Fix sharable surfaces with nvidia as primary
|
|
||||||
+ Fixed crash
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Feb 5 12:24:49 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 47.5:
|
|
||||||
+ Synchronize device enabled state when adding device
|
|
||||||
+ Do not use modifiers if surface should be sharable
|
|
||||||
+ Fix notifying shell about modifier-only keyboard layout
|
|
||||||
switches
|
|
||||||
+ Fixed crashes
|
|
||||||
+ Misc. bug fixes and cleanups
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Jan 13 12:47:11 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 47.4:
|
|
||||||
+ Use BT709 coefficients and limited range for YUV conversion by
|
|
||||||
defaults
|
|
||||||
+ Also request high priority secondary EGL context
|
|
||||||
+ Fix Xwayland DND coordinates when using fractional scaling
|
|
||||||
+ Fix applying initial _NET_WM_WINDOW_OPACITY on Xwayland
|
|
||||||
+ Implement wp_viewport support for cursor surfaces
|
|
||||||
+ Improve input → output latency of cursor movements
|
|
||||||
+ Improve frame rate on monitors attached to secondary GPUs in
|
|
||||||
copy mode
|
|
||||||
+ Send preferred scales to all surface roles
|
|
||||||
+ Misc. bug fixes and cleanups
|
|
||||||
+ Updated translations.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Dec 6 07:39:00 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 47.3:
|
|
||||||
+ Fix maximized X11 when using native xwayland scaling
|
|
||||||
+ Fix blank screen in remote headless sessions
|
|
||||||
+ Fix touch-triggered popups being cancelled too early
|
|
||||||
+ Fix pointer cursor during compositor grabs
|
|
||||||
+ Fixed crash
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Nov 25 19:50:53 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 47.2:
|
|
||||||
+ Fix warping pointer after releasing pointer constraints
|
|
||||||
+ Default to high thread instead of realtime priority for KMS
|
|
||||||
thread
|
|
||||||
+ Avoid CPU stalls with NVIDIA secondary GPUs with
|
|
||||||
directly-attached monitors
|
|
||||||
+ Fix updating cursor immediately when starting window drag
|
|
||||||
+ Add pipeline hooks to user program pipelines
|
|
||||||
+ Prefer GPUs with built-in panels connected as primary GPU
|
|
||||||
+ Fix cursor glitches when using virtual monitors
|
|
||||||
+ Ensure frame events are sent for cursor surfaces
|
|
||||||
+ Allow BGRX8888 format on big endian
|
|
||||||
+ Fix touchscreen drag-and-drop on wayland
|
|
||||||
+ Fixed crashes
|
|
||||||
+ Misc. bug fixes and cleanups
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Oct 29 14:42:32 UTC 2024 - bjorn.lie@gmail.com
|
|
||||||
|
|
||||||
- Update to version 47.1+3:
|
|
||||||
* wayland/pointer-constraints: Warp pointer after destroying
|
|
||||||
resource
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sat Oct 19 08:39:02 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 47.1:
|
|
||||||
+ gwakeup: Reduce wake-ups to only first item in queue
|
|
||||||
+ x11: Reduce chances XPending does recvmsg() syscall
|
|
||||||
+ Fix grabbing tablet devices
|
|
||||||
+ Fix misplaced windows and random resizes on scaled monitors
|
|
||||||
+ Fix explicit sync with virtual monitors w/o pipewire streams
|
|
||||||
+ Improve detecting preferred primary devices
|
|
||||||
+ Fixed crashes
|
|
||||||
+ Misc. bug fixes and cleanups
|
|
||||||
+ Updated translations.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Oct 17 17:07:10 UTC 2024 - bjorn.lie@gmail.com
|
|
||||||
|
|
||||||
- Update to version 47.0+24:
|
|
||||||
* stage-impl: Ensure that a sync object is created in headless mode
|
|
||||||
* backends/x11: Avoid potential crash in pad_switch_mode
|
|
||||||
* display: Do not crash attempting to display OSD for unknown
|
|
||||||
Wacom device
|
|
||||||
* wayland/drm-lease: Do not add connector twice on lease
|
|
||||||
disappeared
|
|
||||||
* wayland/drm-lease: Hold device fd when listing leases
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Sep 26 18:20:54 UTC 2024 - bjorn.lie@gmail.com
|
|
||||||
|
|
||||||
- Update to version 47.0+19:
|
|
||||||
* Revert "window/wayland: Use scale for configured rect in
|
|
||||||
configuration"
|
|
||||||
* cogl/gles: Don't initialize glGetStringi
|
|
||||||
* cogl/gl: Don't initialize potentially unused/unsupported
|
|
||||||
functions
|
|
||||||
* cogl: Don't _cogl_context_get_gl_extensions before
|
|
||||||
check_gl_version
|
|
||||||
* cogl/egl: Restore support for EGL 1.4
|
|
||||||
* wayland/tablet-tool: Fix grabbing tablet devices
|
|
||||||
* cogl/gles: Use unsized internal formats for RGB8, RGBA8 in GLES
|
|
||||||
2.0
|
|
||||||
* wayland/color-management: Fix SIGSEGV on dispose
|
|
||||||
* x11: Reduce chances XPending does recvmsg() syscall
|
|
||||||
* gwakeup: Reduce wake-ups to only first item in queue
|
|
||||||
* window/x11: Use g_autoslist (MetaStrut) in
|
|
||||||
meta_window_x11_update_struts
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Sep 16 22:52:32 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 47.0:
|
|
||||||
+ Fix resizing of electron windows
|
|
||||||
+ Fix using modifiers on multi-GPU setups
|
|
||||||
+ Don't override externally set tablet calibration
|
|
||||||
+ Add experimental support for xdg-session-manager-v1 protocol
|
|
||||||
+ Fixed crashes
|
|
||||||
+ Misc. bug fixes and cleanups
|
|
||||||
+ Updated translations.
|
|
||||||
- Add gvdb submodule and add as source.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Sep 16 21:20:19 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
|
||||||
|
|
||||||
- Update to version 47.rc+40:
|
|
||||||
+ window/xwayland: Handle arithmetics close to the int limits.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Sep 16 20:19:12 UTC 2024 - Michael Gorse <mgorse@suse.com>
|
|
||||||
|
|
||||||
- Update version requirements to correspond with the source.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Sep 16 18:19:54 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 47.rc (bsc#1223393):
|
|
||||||
+ Add experimental color management protocol support
|
|
||||||
+ Merge Cally into Clutter
|
|
||||||
+ Fix drag and drop between X11 and wayland clients
|
|
||||||
+ Fix drag and drop from grabbing popups
|
|
||||||
+ Fix EGLDevice support
|
|
||||||
+ Improve cursor smoothness under load
|
|
||||||
+ Fix frozen cursor on some hybrid machines
|
|
||||||
+ Fix touch window dragging with pointer lock enabled
|
|
||||||
+ Store the layout mode in monitor config
|
|
||||||
+ Fix keys sometimes getting stuck after using global shortcut
|
|
||||||
+ Fix propagating tablet device removals to clients
|
|
||||||
+ Fix tablet input in maximized windows
|
|
||||||
+ Reduce damage on window movement
|
|
||||||
+ Install mutter tests
|
|
||||||
+ Use libadwaita for server-side decorations on GNOME
|
|
||||||
+ Fix frozen cursor after suspend
|
|
||||||
+ Let scaling-aware Xwayland clients scale themselves
|
|
||||||
+ Add initial PipeWire explicit sync support
|
|
||||||
+ Trace damage reason in sysprof
|
|
||||||
+ Expose new backlight API to gnome-settings-daemon
|
|
||||||
+ Fixed crashes
|
|
||||||
+ Plugged leaks
|
|
||||||
+ Misc. bug fixes and cleanups
|
|
||||||
+ Updated translations.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Sep 16 18:17:08 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 47.beta:
|
|
||||||
+ Fix visibility of Xwayland windows
|
|
||||||
+ Add plumbing for transforming color state
|
|
||||||
+ Build and publish GNOME OS systemd-sysext extensions
|
|
||||||
+ Implement support for tablet tool keybindings and actions
|
|
||||||
+ Add support for tablet tool pressure ranges
|
|
||||||
+ Improve sticky behavior with transient dialogs
|
|
||||||
+ Improve placement and focus logic with always-on-top windows
|
|
||||||
+ Expose Orientationmanager to introspection
|
|
||||||
+ Recover from secondary GPU update failures
|
|
||||||
+ Plugged leaks
|
|
||||||
+ Misc. bug fixes and cleanups.
|
|
||||||
- Rebase patches with quilt.
|
|
||||||
- Bump api_major to 15 following upstream changes.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sun Sep 15 12:06:37 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
||||||
|
|
||||||
- Update to version 45.5:
|
|
||||||
+ Fix drag and drop between X11 and wayland clients
|
|
||||||
+ Fix drag and drop from grabbing popups
|
|
||||||
+ Fix EGLDevice support
|
|
||||||
+ Fix frozen cursor on some hybrid machines
|
|
||||||
+ Fix touch window dragging with pointer lock enabled
|
|
||||||
+ Fix propagating tablet device removals to clients
|
|
||||||
+ Fix tablet input in maximized windows
|
|
||||||
+ Reduce damage on window movement
|
|
||||||
+ Fix frozen cursor after suspend
|
|
||||||
+ Fix using modifiers on multi-GPU setups
|
|
||||||
+ Fixed crashes
|
|
||||||
+ Misc. bug fixes and cleanups
|
|
||||||
+ Updated translations.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Aug 9 18:19:48 UTC 2024 - Michael Gorse <mgorse@suse.com>
|
Fri Aug 9 18:19:48 UTC 2024 - Michael Gorse <mgorse@suse.com>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
name: mutter
|
name: mutter
|
||||||
version: 48.0+5
|
version: 46.4
|
||||||
mtime: 1742389272
|
mtime: 1722785816
|
||||||
commit: 9a1fa7e13b5feefb76902287ae7ca2554d18cf15
|
commit: 04995f56641012d71b5b226782e63d82c3ca3081
|
||||||
|
68
mutter.spec
68
mutter.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package mutter
|
# spec file for package mutter
|
||||||
#
|
#
|
||||||
# Copyright (c) 2025 SUSE LLC
|
# Copyright (c) 2024 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -18,19 +18,17 @@
|
|||||||
|
|
||||||
%bcond_with profiler
|
%bcond_with profiler
|
||||||
|
|
||||||
%define api_major 16
|
%define api_major 14
|
||||||
%define api_minor 0
|
%define api_minor 0
|
||||||
%define libmutter libmutter-%{api_major}-%{api_minor}
|
%define libmutter libmutter-%{api_major}-%{api_minor}
|
||||||
|
|
||||||
Name: mutter
|
Name: mutter
|
||||||
Version: 48.0+5
|
Version: 46.4
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Window and compositing manager based on Clutter
|
Summary: Window and compositing manager based on Clutter
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
Group: System/GUI/GNOME
|
Group: System/GUI/GNOME
|
||||||
URL: https://www.gnome.org
|
URL: https://www.gnome.org
|
||||||
Source0: %{name}-%{version}.tar.zst
|
Source0: %{name}-%{version}.tar.zst
|
||||||
Source1: gvdb-0.gitmodule.tar.zst
|
|
||||||
|
|
||||||
# PATCH-FIX-UPSTREAM mutter-disable-cvt-s390x.patch bsc#1158128 fcrozat@suse.com -- Do not search for cvt on s390x, it doesn't exist there
|
# PATCH-FIX-UPSTREAM mutter-disable-cvt-s390x.patch bsc#1158128 fcrozat@suse.com -- Do not search for cvt on s390x, it doesn't exist there
|
||||||
Patch1: mutter-disable-cvt-s390x.patch
|
Patch1: mutter-disable-cvt-s390x.patch
|
||||||
@ -40,52 +38,49 @@ Patch2: mutter-window-actor-Special-case-shaped-Java-windows.patch
|
|||||||
Patch4: 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch
|
Patch4: 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch
|
||||||
#PATCH-FEATURE-OPENSUSE mutter-implement-text-input-v1.patch glgo#GNOME/mutter!3751 bsc#1219505 alynx.zhou@suse.com -- Allow input method to work in Wayland Chromium
|
#PATCH-FEATURE-OPENSUSE mutter-implement-text-input-v1.patch glgo#GNOME/mutter!3751 bsc#1219505 alynx.zhou@suse.com -- Allow input method to work in Wayland Chromium
|
||||||
Patch5: mutter-implement-text-input-v1.patch
|
Patch5: mutter-implement-text-input-v1.patch
|
||||||
# PATCH-FIX-UPSTREAM 0001-cursor-Unify-prepare_func-for-shape-cursors.patch https://gitlab.gnome.org/GNOME/mutter/-/issues/3975 -- Solves the problem of changing the size of the cursor in gtk applications on HiDPI displays.
|
|
||||||
Patch6: 0001-cursor-Unify-prepare_func-for-shape-cursors.patch
|
|
||||||
|
|
||||||
## SLE-only patches start at 1000
|
## SLE-only patches start at 1000
|
||||||
# PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box.
|
# PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box.
|
||||||
Patch1000: mutter-SLE-bell.patch
|
Patch1000: mutter-SLE-bell.patch
|
||||||
|
# PATCH-FIX-SLE mutter-SLE-relax-some-constraints-on-CSD-windows.patch bnc#883491 cxiong@suse.com -- Relax some constraints on window positioning for CSD windows s.t. they can be placed at the very top of the monitor.
|
||||||
|
Patch1001: mutter-SLE-relax-some-constraints-on-CSD-windows.patch
|
||||||
|
|
||||||
BuildRequires: Mesa-libGLESv3-devel
|
BuildRequires: Mesa-libGLESv3-devel
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
%ifnarch s390x
|
%ifnarch s390x
|
||||||
BuildRequires: (libxcvt if xorg-x11-server > 21)
|
BuildRequires: (libxcvt if xorg-x11-server > 21)
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: meson >= 1.3.0
|
BuildRequires: meson >= 0.53.0
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: python3-argcomplete
|
|
||||||
BuildRequires: python3-docutils
|
|
||||||
BuildRequires: xorg-x11-server
|
BuildRequires: xorg-x11-server
|
||||||
BuildRequires: xvfb-run
|
BuildRequires: xvfb-run
|
||||||
BuildRequires: pkgconfig(bash-completion)
|
|
||||||
BuildRequires: pkgconfig(cairo) >= 1.10.0
|
BuildRequires: pkgconfig(cairo) >= 1.10.0
|
||||||
BuildRequires: pkgconfig(colord) >= 1.4.5
|
BuildRequires: pkgconfig(colord) >= 1.4.5
|
||||||
BuildRequires: pkgconfig(egl)
|
BuildRequires: pkgconfig(egl)
|
||||||
BuildRequires: pkgconfig(fribidi) >= 1.0.0
|
BuildRequires: pkgconfig(fribidi) >= 1.0.0
|
||||||
BuildRequires: pkgconfig(gbm) >= 21.3
|
BuildRequires: pkgconfig(gbm) >= 17.3
|
||||||
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.69.0
|
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.69.0
|
||||||
BuildRequires: pkgconfig(glesv2)
|
BuildRequires: pkgconfig(glesv2)
|
||||||
BuildRequires: pkgconfig(glib-2.0) >= 2.81.1
|
BuildRequires: pkgconfig(glib-2.0) >= 2.69.0
|
||||||
BuildRequires: pkgconfig(gnome-desktop-4)
|
BuildRequires: pkgconfig(gnome-desktop-4)
|
||||||
BuildRequires: pkgconfig(gnome-settings-daemon)
|
BuildRequires: pkgconfig(gnome-settings-daemon)
|
||||||
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.5
|
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.5
|
||||||
BuildRequires: pkgconfig(graphene-gobject-1.0)
|
BuildRequires: pkgconfig(graphene-gobject-1.0)
|
||||||
BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 47.beta
|
BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.37.2
|
||||||
BuildRequires: pkgconfig(gtk4)
|
BuildRequires: pkgconfig(gtk4)
|
||||||
BuildRequires: pkgconfig(gudev-1.0) >= 232
|
BuildRequires: pkgconfig(gudev-1.0) >= 232
|
||||||
BuildRequires: pkgconfig(lcms2) >= 2.6
|
BuildRequires: pkgconfig(lcms2) >= 2.6
|
||||||
BuildRequires: pkgconfig(libcanberra-gtk3) >= 0.26
|
BuildRequires: pkgconfig(libcanberra-gtk3) >= 0.26
|
||||||
BuildRequires: pkgconfig(libdisplay-info)
|
BuildRequires: pkgconfig(libdisplay-info)
|
||||||
BuildRequires: pkgconfig(libdrm) >= 2.4.118
|
BuildRequires: pkgconfig(libdrm) >= 2.4.118
|
||||||
BuildRequires: pkgconfig(libeis-1.0) >= 1.3.901
|
BuildRequires: pkgconfig(libeis-1.0)
|
||||||
BuildRequires: pkgconfig(libinput) >= 1.26.0
|
BuildRequires: pkgconfig(libinput) >= 1.15.0
|
||||||
BuildRequires: pkgconfig(libpipewire-0.3) >= 1.2.0
|
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.21
|
||||||
BuildRequires: pkgconfig(libstartup-notification-1.0) >= 0.7
|
BuildRequires: pkgconfig(libstartup-notification-1.0) >= 0.7
|
||||||
BuildRequires: pkgconfig(libsystemd)
|
BuildRequires: pkgconfig(libsystemd)
|
||||||
BuildRequires: pkgconfig(libudev) >= 228
|
BuildRequires: pkgconfig(libudev) >= 136
|
||||||
BuildRequires: pkgconfig(libwacom) >= 0.13
|
BuildRequires: pkgconfig(libwacom) >= 0.13
|
||||||
BuildRequires: pkgconfig(pango) >= 1.46.0
|
BuildRequires: pkgconfig(pango) >= 1.2.0
|
||||||
BuildRequires: pkgconfig(pixman-1) >= 0.42
|
BuildRequires: pkgconfig(pixman-1) >= 0.42
|
||||||
BuildRequires: pkgconfig(sm)
|
BuildRequires: pkgconfig(sm)
|
||||||
%if %{with profiler}
|
%if %{with profiler}
|
||||||
@ -95,8 +90,8 @@ BuildRequires: pkgconfig(sysprof-capture-4) >= 3.37.2
|
|||||||
BuildRequires: pkgconfig(udev)
|
BuildRequires: pkgconfig(udev)
|
||||||
BuildRequires: pkgconfig(upower-glib) >= 0.99.0
|
BuildRequires: pkgconfig(upower-glib) >= 0.99.0
|
||||||
BuildRequires: pkgconfig(wayland-eglstream)
|
BuildRequires: pkgconfig(wayland-eglstream)
|
||||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.36
|
BuildRequires: pkgconfig(wayland-protocols) >= 1.33
|
||||||
BuildRequires: pkgconfig(wayland-server) >= 1.23
|
BuildRequires: pkgconfig(wayland-server) >= 1.22
|
||||||
BuildRequires: pkgconfig(x11)
|
BuildRequires: pkgconfig(x11)
|
||||||
BuildRequires: pkgconfig(x11-xcb)
|
BuildRequires: pkgconfig(x11-xcb)
|
||||||
BuildRequires: pkgconfig(xau)
|
BuildRequires: pkgconfig(xau)
|
||||||
@ -147,15 +142,18 @@ applications that want to make use of the mutter library.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -N
|
%autosetup -N
|
||||||
pushd subprojects
|
%if !0%{?sle_version}
|
||||||
tar xf %{SOURCE1}
|
|
||||||
mv gvdb-0.gitmodule gvdb
|
|
||||||
popd
|
|
||||||
%if 0%{?is_opensuse}
|
|
||||||
%autopatch -p1 -M 999
|
%autopatch -p1 -M 999
|
||||||
%else
|
%else
|
||||||
# SLE-only patches (apply all patches).
|
%patch -P 1 -p1
|
||||||
%autopatch -p1
|
%patch -P 2 -p1
|
||||||
|
%patch -P 4 -p1
|
||||||
|
%patch -P 5 -p1
|
||||||
|
%endif
|
||||||
|
# SLE-only patches and translations.
|
||||||
|
%if 0%{?sle_version}
|
||||||
|
%patch -P 1000 -p1
|
||||||
|
%patch -P 1001 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -164,9 +162,10 @@ popd
|
|||||||
-Dwayland_eglstream=true \
|
-Dwayland_eglstream=true \
|
||||||
-Dcogl_tests=false \
|
-Dcogl_tests=false \
|
||||||
-Dclutter_tests=false \
|
-Dclutter_tests=false \
|
||||||
-Dtests=disabled \
|
-Dtests=false \
|
||||||
-Dinstalled_tests=false \
|
-Dinstalled_tests=false \
|
||||||
-Dxwayland_initfd=auto \
|
-Dxwayland_initfd=auto \
|
||||||
|
-Dlibdisplay_info=true \
|
||||||
%if %{with profiler}
|
%if %{with profiler}
|
||||||
-Dprofiler=true \
|
-Dprofiler=true \
|
||||||
%else
|
%else
|
||||||
@ -193,13 +192,16 @@ popd
|
|||||||
|
|
||||||
# These so files are not split out since they are private to mutter
|
# These so files are not split out since they are private to mutter
|
||||||
%{_libdir}/mutter-%{api_major}/libmutter-clutter-%{api_major}.so.*
|
%{_libdir}/mutter-%{api_major}/libmutter-clutter-%{api_major}.so.*
|
||||||
|
%{_libdir}/mutter-%{api_major}/libmutter-cogl-pango-%{api_major}.so.*
|
||||||
%{_libdir}/mutter-%{api_major}/libmutter-cogl-%{api_major}.so.*
|
%{_libdir}/mutter-%{api_major}/libmutter-cogl-%{api_major}.so.*
|
||||||
%{_libdir}/mutter-%{api_major}/libmutter-mtk-%{api_major}.so.*
|
%{_libdir}/mutter-%{api_major}/libmutter-mtk-%{api_major}.so.*
|
||||||
%{_libdir}/mutter-%{api_major}/plugins/libdefault.so
|
%{_libdir}/mutter-%{api_major}/plugins/libdefault.so
|
||||||
|
|
||||||
# These typelibs are not split out since they are private to mutter
|
# These typelibs are not split out since they are private to mutter
|
||||||
|
%{_libdir}/mutter-%{api_major}/Cally-%{api_major}.typelib
|
||||||
%{_libdir}/mutter-%{api_major}/Clutter-%{api_major}.typelib
|
%{_libdir}/mutter-%{api_major}/Clutter-%{api_major}.typelib
|
||||||
%{_libdir}/mutter-%{api_major}/Cogl-%{api_major}.typelib
|
%{_libdir}/mutter-%{api_major}/Cogl-%{api_major}.typelib
|
||||||
|
%{_libdir}/mutter-%{api_major}/CoglPango-%{api_major}.typelib
|
||||||
%{_libdir}/mutter-%{api_major}/Meta-%{api_major}.typelib
|
%{_libdir}/mutter-%{api_major}/Meta-%{api_major}.typelib
|
||||||
%{_libdir}/mutter-%{api_major}/Mtk-%{api_major}.typelib
|
%{_libdir}/mutter-%{api_major}/Mtk-%{api_major}.typelib
|
||||||
|
|
||||||
@ -219,23 +221,23 @@ popd
|
|||||||
%{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml
|
%{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml
|
||||||
%{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml
|
%{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml
|
||||||
|
|
||||||
%{_bindir}/gdctl
|
|
||||||
%{_datadir}/bash-completion/completions/gdctl
|
|
||||||
%{_mandir}/man1/gdctl.1%{ext_man}
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_includedir}/mutter-%{api_major}/
|
%{_includedir}/mutter-%{api_major}/
|
||||||
%{_libdir}/mutter-%{api_major}/Meta-%{api_major}.gir
|
%{_libdir}/mutter-%{api_major}/Meta-%{api_major}.gir
|
||||||
|
%{_libdir}/mutter-%{api_major}/Cally-%{api_major}.gir
|
||||||
%{_libdir}/mutter-%{api_major}/Clutter-%{api_major}.gir
|
%{_libdir}/mutter-%{api_major}/Clutter-%{api_major}.gir
|
||||||
%{_libdir}/mutter-%{api_major}/Cogl-%{api_major}.gir
|
%{_libdir}/mutter-%{api_major}/Cogl-%{api_major}.gir
|
||||||
|
%{_libdir}/mutter-%{api_major}/CoglPango-%{api_major}.gir
|
||||||
%{_libdir}/mutter-%{api_major}/Mtk-%{api_major}.gir
|
%{_libdir}/mutter-%{api_major}/Mtk-%{api_major}.gir
|
||||||
%{_libdir}/mutter-%{api_major}/libmutter-clutter-%{api_major}.so
|
%{_libdir}/mutter-%{api_major}/libmutter-clutter-%{api_major}.so
|
||||||
|
%{_libdir}/mutter-%{api_major}/libmutter-cogl-pango-%{api_major}.so
|
||||||
%{_libdir}/mutter-%{api_major}/libmutter-cogl-%{api_major}.so
|
%{_libdir}/mutter-%{api_major}/libmutter-cogl-%{api_major}.so
|
||||||
%{_libdir}/mutter-%{api_major}/libmutter-mtk-%{api_major}.so
|
%{_libdir}/mutter-%{api_major}/libmutter-mtk-%{api_major}.so
|
||||||
%{_libdir}/libmutter-%{api_major}.so
|
%{_libdir}/libmutter-%{api_major}.so
|
||||||
%{_libdir}/pkgconfig/libmutter-%{api_major}.pc
|
%{_libdir}/pkgconfig/libmutter-%{api_major}.pc
|
||||||
%{_libdir}/pkgconfig/mutter-clutter-%{api_major}.pc
|
%{_libdir}/pkgconfig/mutter-clutter-%{api_major}.pc
|
||||||
%{_libdir}/pkgconfig/mutter-cogl-%{api_major}.pc
|
%{_libdir}/pkgconfig/mutter-cogl-%{api_major}.pc
|
||||||
|
%{_libdir}/pkgconfig/mutter-cogl-pango-%{api_major}.pc
|
||||||
%{_libdir}/pkgconfig/mutter-mtk-%{api_major}.pc
|
%{_libdir}/pkgconfig/mutter-mtk-%{api_major}.pc
|
||||||
|
|
||||||
%files lang -f %{name}.lang
|
%files lang -f %{name}.lang
|
||||||
|
Loading…
x
Reference in New Issue
Block a user