Sync from SUSE:SLFO:Main mutter revision c6905c1cb91c2a3f9e494a210f56465c
This commit is contained in:
commit
723fa916f1
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
18
_service
Normal file
18
_service
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0"?>
|
||||
<services>
|
||||
<service name="obs_scm" mode="manual">
|
||||
<param name="scm">git</param>
|
||||
<param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param>
|
||||
<param name="revision">82bd40dcbcc3601da755678778f033bd9a30286d</param>
|
||||
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
|
||||
<param name="versionrewrite-pattern">(.*)\+0</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
</service>
|
||||
<service name="tar" mode="buildtime"/>
|
||||
<service name="recompress" mode="buildtime">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">xz</param>
|
||||
</service>
|
||||
<service name="set_version" mode="manual" />
|
||||
</services>
|
4
_servicedata
Normal file
4
_servicedata
Normal file
@ -0,0 +1,4 @@
|
||||
<servicedata>
|
||||
<service name="tar_scm">
|
||||
<param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param>
|
||||
<param name="changesrevision">82bd40dcbcc3601da755678778f033bd9a30286d</param></service></servicedata>
|
BIN
mutter-44.1+2.obscpio
(Stored with Git LFS)
Normal file
BIN
mutter-44.1+2.obscpio
(Stored with Git LFS)
Normal file
Binary file not shown.
22
mutter-Lower-HIDPI_LIMIT-to-144.patch
Normal file
22
mutter-Lower-HIDPI_LIMIT-to-144.patch
Normal file
@ -0,0 +1,22 @@
|
||||
From 1511039a96d158bcf4b731599ae3af3f98b9b166 Mon Sep 17 00:00:00 2001
|
||||
From: Chingkai <qkzhu@suse.com>
|
||||
Date: Thu, 21 Feb 2019 12:39:52 +0800
|
||||
Subject: [PATCH] monitor: Lower HIDPI_LIMIT to 144
|
||||
|
||||
---
|
||||
src/backends/meta-monitor.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: mutter-44.beta/src/backends/meta-monitor.c
|
||||
===================================================================
|
||||
--- mutter-44.beta.orig/src/backends/meta-monitor.c
|
||||
+++ mutter-44.beta/src/backends/meta-monitor.c
|
||||
@@ -1805,7 +1805,7 @@ meta_monitor_calculate_crtc_pos (MetaMon
|
||||
}
|
||||
|
||||
/* The minimum resolution at which we turn on a window-scale of 2 */
|
||||
-#define HIDPI_LIMIT 192
|
||||
+#define HIDPI_LIMIT 144
|
||||
|
||||
/*
|
||||
* The minimum screen height at which we turn on a window-scale of 2;
|
119
mutter-SLE-bell.patch
Normal file
119
mutter-SLE-bell.patch
Normal file
@ -0,0 +1,119 @@
|
||||
diff --unified --recursive --text --new-file --color mutter-40.0.old/data/org.gnome.mutter.gschema.xml.in mutter-40.0.new/data/org.gnome.mutter.gschema.xml.in
|
||||
--- mutter-40.0.old/data/org.gnome.mutter.gschema.xml.in 2021-04-23 08:52:33.870911873 +0800
|
||||
+++ mutter-40.0.new/data/org.gnome.mutter.gschema.xml.in 2021-04-23 08:53:11.404056017 +0800
|
||||
@@ -156,6 +156,16 @@
|
||||
</description>
|
||||
</key>
|
||||
|
||||
+ <key name="audible-bell-force-through-server" type="b">
|
||||
+ <default>false</default>
|
||||
+ <summary>Force the System Bell through the X server only.</summary>
|
||||
+ <description>
|
||||
+ Force the System Bell through the X server only for systems that
|
||||
+ do not want to go through the sound card - for example that don't
|
||||
+ have speakers.
|
||||
+ </description>
|
||||
+ </key>
|
||||
+
|
||||
<child name="keybindings" schema="org.gnome.mutter.keybindings"/>
|
||||
|
||||
</schema>
|
||||
diff --unified --recursive --text --new-file --color mutter-40.0.old/src/core/bell.c mutter-40.0.new/src/core/bell.c
|
||||
--- mutter-40.0.old/src/core/bell.c 2021-04-23 08:52:33.877578506 +0800
|
||||
+++ mutter-40.0.new/src/core/bell.c 2021-04-23 08:53:11.404056017 +0800
|
||||
@@ -54,6 +54,11 @@
|
||||
#include "core/window-private.h"
|
||||
#include "meta/compositor.h"
|
||||
|
||||
+#include "meta/display.h"
|
||||
+#include "meta/meta-x11-display.h"
|
||||
+#include <X11/Xlib.h>
|
||||
+#include <X11/XKBlib.h>
|
||||
+
|
||||
G_DEFINE_TYPE (MetaBell, meta_bell, G_TYPE_OBJECT)
|
||||
|
||||
enum
|
||||
@@ -202,6 +207,14 @@
|
||||
if (meta_prefs_get_visual_bell ())
|
||||
bell_visual_notify (display, window);
|
||||
|
||||
+ if (meta_prefs_bell_force_through_server ())
|
||||
+ {
|
||||
+ MetaX11Display *x11_display = meta_display_get_x11_display (display);
|
||||
+ Display *xdisplay = meta_x11_display_get_xdisplay (x11_display);
|
||||
+ XkbForceBell (xdisplay, 100);
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+
|
||||
if (meta_prefs_bell_is_audible ())
|
||||
return bell_audible_notify (display, window);
|
||||
|
||||
diff --unified --recursive --text --new-file --color mutter-40.0.old/src/core/prefs.c mutter-40.0.new/src/core/prefs.c
|
||||
--- mutter-40.0.old/src/core/prefs.c 2021-04-23 08:52:33.877578506 +0800
|
||||
+++ mutter-40.0.new/src/core/prefs.c 2021-04-23 08:53:11.404056017 +0800
|
||||
@@ -98,6 +98,7 @@
|
||||
static gboolean focus_change_on_pointer_rest = FALSE;
|
||||
static gboolean bell_is_visible = FALSE;
|
||||
static gboolean bell_is_audible = TRUE;
|
||||
+static gboolean bell_force_through_server = FALSE;
|
||||
static gboolean gnome_accessibility = FALSE;
|
||||
static gboolean gnome_animations = TRUE;
|
||||
static gboolean locate_pointer_is_enabled = FALSE;
|
||||
@@ -352,6 +353,13 @@
|
||||
&bell_is_audible, /* FIXME: change the name: it's confusing */
|
||||
},
|
||||
{
|
||||
+ { "audible-bell-force-through-server",
|
||||
+ SCHEMA_MUTTER,
|
||||
+ META_PREF_AUDIBLE_BELL_FORCE_THROUGH_SERVER,
|
||||
+ },
|
||||
+ &bell_force_through_server,
|
||||
+ },
|
||||
+ {
|
||||
{ KEY_GNOME_ACCESSIBILITY,
|
||||
SCHEMA_INTERFACE,
|
||||
META_PREF_GNOME_ACCESSIBILITY,
|
||||
@@ -1714,6 +1722,9 @@
|
||||
case META_PREF_AUDIBLE_BELL:
|
||||
return "AUDIBLE_BELL";
|
||||
|
||||
+ case META_PREF_AUDIBLE_BELL_FORCE_THROUGH_SERVER:
|
||||
+ return "AUDIBLE_BELL_FORCE_THROUGH_SERVER";
|
||||
+
|
||||
case META_PREF_VISUAL_BELL_TYPE:
|
||||
return "VISUAL_BELL_TYPE";
|
||||
|
||||
@@ -1992,6 +2003,12 @@
|
||||
return bell_is_audible;
|
||||
}
|
||||
|
||||
+gboolean
|
||||
+meta_prefs_bell_force_through_server (void)
|
||||
+{
|
||||
+ return bell_force_through_server;
|
||||
+}
|
||||
+
|
||||
GDesktopVisualBellType
|
||||
meta_prefs_get_visual_bell_type (void)
|
||||
{
|
||||
diff --unified --recursive --text --new-file --color mutter-40.0.old/src/meta/prefs.h mutter-40.0.new/src/meta/prefs.h
|
||||
--- mutter-40.0.old/src/meta/prefs.h 2021-04-23 08:52:33.877578506 +0800
|
||||
+++ mutter-40.0.new/src/meta/prefs.h 2021-04-23 08:53:11.404056017 +0800
|
||||
@@ -91,6 +91,7 @@
|
||||
META_PREF_WORKSPACE_NAMES,
|
||||
META_PREF_VISUAL_BELL,
|
||||
META_PREF_AUDIBLE_BELL,
|
||||
+ META_PREF_AUDIBLE_BELL_FORCE_THROUGH_SERVER,
|
||||
META_PREF_VISUAL_BELL_TYPE,
|
||||
META_PREF_GNOME_ACCESSIBILITY,
|
||||
META_PREF_GNOME_ANIMATIONS,
|
||||
@@ -480,6 +481,9 @@
|
||||
gboolean meta_prefs_bell_is_audible (void);
|
||||
|
||||
META_EXPORT
|
||||
+gboolean meta_prefs_bell_force_through_server (void);
|
||||
+
|
||||
+META_EXPORT
|
||||
GDesktopVisualBellType meta_prefs_get_visual_bell_type (void);
|
||||
|
||||
META_EXPORT
|
201
mutter-SLE-bsc984738-grab-display.patch
Normal file
201
mutter-SLE-bsc984738-grab-display.patch
Normal file
@ -0,0 +1,201 @@
|
||||
Index: mutter-41.0/src/core/display.c
|
||||
===================================================================
|
||||
--- mutter-41.0.orig/src/core/display.c
|
||||
+++ mutter-41.0/src/core/display.c
|
||||
@@ -826,6 +826,8 @@ meta_display_new (MetaContext *context,
|
||||
display->check_fullscreen_later = 0;
|
||||
display->work_area_later = 0;
|
||||
|
||||
+ display->server_grab_count = 0;
|
||||
+
|
||||
display->mouse_mode = TRUE; /* Only relevant for mouse or sloppy focus */
|
||||
display->allow_terminal_deactivation = TRUE; /* Only relevant for when a
|
||||
terminal has the focus */
|
||||
@@ -1141,6 +1143,50 @@ meta_display_close (MetaDisplay *display
|
||||
the_display = NULL;
|
||||
}
|
||||
|
||||
+/* Grab/ungrab routines taken from fvwm.
|
||||
+ * Calling this function will cause X to ignore all other clients until
|
||||
+ * you ungrab. This may not be quite as bad as it sounds, yet there is
|
||||
+ * agreement that avoiding server grabs except when they are clearly needed
|
||||
+ * is a good thing.
|
||||
+ *
|
||||
+ * If you do use such grabs, please clearly explain the necessity for their
|
||||
+ * usage in a comment. Try to keep their scope extremely limited. In
|
||||
+ * particular, try to avoid emitting any signals or notifications while
|
||||
+ * a grab is active (if the signal receiver tries to block on an X request
|
||||
+ * from another client at this point, you will have a deadlock).
|
||||
+ */
|
||||
+void
|
||||
+meta_display_grab (MetaDisplay *display)
|
||||
+{
|
||||
+ if (display->server_grab_count == 0)
|
||||
+ {
|
||||
+ XGrabServer (display->x11_display->xdisplay);
|
||||
+ }
|
||||
+ display->server_grab_count += 1;
|
||||
+ meta_verbose ("Grabbing display, grab count now %d\n",
|
||||
+ display->server_grab_count);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+meta_display_ungrab (MetaDisplay *display)
|
||||
+{
|
||||
+ if (display->server_grab_count == 0)
|
||||
+ meta_bug ("Ungrabbed non-grabbed server\n");
|
||||
+
|
||||
+ display->server_grab_count -= 1;
|
||||
+ if (display->server_grab_count == 0)
|
||||
+ {
|
||||
+ /* FIXME we want to purge all pending "queued" stuff
|
||||
+ * at this point, such as window hide/show
|
||||
+ */
|
||||
+ XUngrabServer (display->x11_display->xdisplay);
|
||||
+ XFlush (display->x11_display->xdisplay);
|
||||
+ }
|
||||
+
|
||||
+ meta_verbose ("Ungrabbing display, grab count now %d\n",
|
||||
+ display->server_grab_count);
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* meta_display_for_x_display:
|
||||
* @xdisplay: An X display
|
||||
Index: mutter-41.0/src/core/display-private.h
|
||||
===================================================================
|
||||
--- mutter-41.0.orig/src/core/display-private.h
|
||||
+++ mutter-41.0/src/core/display-private.h
|
||||
@@ -140,6 +140,8 @@ struct _MetaDisplay
|
||||
GHashTable *stamps;
|
||||
GHashTable *wayland_windows;
|
||||
|
||||
+ int server_grab_count;
|
||||
+
|
||||
/* serials of leave/unmap events that may
|
||||
* correspond to an enter event we should
|
||||
* ignore
|
||||
@@ -258,6 +260,8 @@ struct _MetaDisplayClass
|
||||
|
||||
MetaDisplay * meta_display_new (MetaContext *context,
|
||||
GError **error);
|
||||
+void meta_display_grab (MetaDisplay *display);
|
||||
+void meta_display_ungrab (MetaDisplay *display);
|
||||
|
||||
void meta_display_manage_all_xwindows (MetaDisplay *display);
|
||||
void meta_display_unmanage_windows (MetaDisplay *display,
|
||||
Index: mutter-41.0/src/core/keybindings.c
|
||||
===================================================================
|
||||
--- mutter-41.0.orig/src/core/keybindings.c
|
||||
+++ mutter-41.0/src/core/keybindings.c
|
||||
@@ -1253,6 +1253,9 @@ meta_display_grab_window_buttons (MetaDi
|
||||
{
|
||||
MetaKeyBindingManager *keys = &display->key_binding_manager;
|
||||
|
||||
+ if (display->server_grab_count > 0)
|
||||
+ return;
|
||||
+
|
||||
/* Grab Alt + button1 for moving window.
|
||||
* Grab Alt + button2 for resizing window.
|
||||
* Grab Alt + button3 for popping up window menu.
|
||||
@@ -1289,6 +1292,9 @@ meta_display_ungrab_window_buttons (Meta
|
||||
{
|
||||
MetaKeyBindingManager *keys = &display->key_binding_manager;
|
||||
|
||||
+ if (display->server_grab_count > 0)
|
||||
+ return;
|
||||
+
|
||||
if (keys->window_grab_modifiers == 0)
|
||||
return;
|
||||
|
||||
@@ -1319,6 +1325,9 @@ meta_display_grab_focus_window_button (M
|
||||
{
|
||||
MetaKeyBindingManager *keys = &display->key_binding_manager;
|
||||
|
||||
+ if (display->server_grab_count > 0)
|
||||
+ return;
|
||||
+
|
||||
/* Grab button 1 for activating unfocused windows */
|
||||
meta_verbose ("Grabbing unfocused window buttons for %s", window->desc);
|
||||
|
||||
@@ -1343,6 +1352,9 @@ meta_display_ungrab_focus_window_button
|
||||
{
|
||||
MetaKeyBindingManager *keys = &display->key_binding_manager;
|
||||
|
||||
+ if (display->server_grab_count > 0)
|
||||
+ return;
|
||||
+
|
||||
meta_verbose ("Ungrabbing unfocused window buttons for %s", window->desc);
|
||||
|
||||
if (!window->have_focus_click_grab)
|
||||
@@ -1588,6 +1600,10 @@ meta_window_grab_keys (MetaWindow *wind
|
||||
|
||||
if (meta_is_wayland_compositor ())
|
||||
return;
|
||||
+
|
||||
+ if (display->server_grab_count > 0)
|
||||
+ return;
|
||||
+
|
||||
if (window->all_keys_grabbed)
|
||||
return;
|
||||
|
||||
@@ -1627,6 +1643,9 @@ meta_window_ungrab_keys (MetaWindow *wi
|
||||
MetaDisplay *display = window->display;
|
||||
MetaKeyBindingManager *keys = &display->key_binding_manager;
|
||||
|
||||
+ if (display->server_grab_count > 0)
|
||||
+ return;
|
||||
+
|
||||
if (window->grab_on_frame &&
|
||||
window->frame != NULL)
|
||||
change_window_keygrabs (keys, window->frame->xwindow, FALSE);
|
||||
Index: mutter-41.0/src/x11/meta-x11-display.c
|
||||
===================================================================
|
||||
--- mutter-41.0.orig/src/x11/meta-x11-display.c
|
||||
+++ mutter-41.0/src/x11/meta-x11-display.c
|
||||
@@ -1916,7 +1916,7 @@ meta_x11_display_set_input_focus_interna
|
||||
* we know which is which by making two requests that the server will
|
||||
* process at the same time.
|
||||
*/
|
||||
- XGrabServer (x11_display->xdisplay);
|
||||
+ meta_display_grab(x11_display->display);
|
||||
|
||||
XSetInputFocus (x11_display->xdisplay,
|
||||
xwindow,
|
||||
@@ -1928,8 +1928,7 @@ meta_x11_display_set_input_focus_interna
|
||||
x11_display->atom__MUTTER_FOCUS_SET,
|
||||
XA_STRING, 8, PropModeAppend, NULL, 0);
|
||||
|
||||
- XUngrabServer (x11_display->xdisplay);
|
||||
- XFlush (x11_display->xdisplay);
|
||||
+ meta_display_ungrab(x11_display->display);
|
||||
|
||||
meta_x11_error_trap_pop (x11_display);
|
||||
}
|
||||
Index: mutter-41.0/src/x11/window-x11.c
|
||||
===================================================================
|
||||
--- mutter-41.0.orig/src/x11/window-x11.c
|
||||
+++ mutter-41.0/src/x11/window-x11.c
|
||||
@@ -522,6 +522,8 @@ meta_window_x11_manage (MetaWindow *wind
|
||||
|
||||
meta_icon_cache_init (&priv->icon_cache);
|
||||
|
||||
+ meta_display_grab (display);
|
||||
+
|
||||
meta_x11_display_register_x_window (display->x11_display,
|
||||
&window->xwindow,
|
||||
window);
|
||||
@@ -582,6 +584,13 @@ meta_window_x11_manage (MetaWindow *wind
|
||||
|
||||
meta_window_x11_update_shape_region (window);
|
||||
meta_window_x11_update_input_region (window);
|
||||
+
|
||||
+ meta_display_ungrab (display);
|
||||
+
|
||||
+ /* Perform operations prevented by grab */
|
||||
+ if (window->frame)
|
||||
+ meta_display_grab_window_buttons (display, window->frame->xwindow);
|
||||
+ meta_window_grab_keys (window);
|
||||
}
|
||||
|
||||
static void
|
47
mutter-SLE-relax-some-constraints-on-CSD-windows.patch
Normal file
47
mutter-SLE-relax-some-constraints-on-CSD-windows.patch
Normal file
@ -0,0 +1,47 @@
|
||||
Index: mutter-3.23.2/src/core/constraints.c
|
||||
===================================================================
|
||||
--- mutter-3.23.2.orig/src/core/constraints.c
|
||||
+++ mutter-3.23.2/src/core/constraints.c
|
||||
@@ -1466,6 +1466,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,
|
||||
@@ -1481,6 +1487,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))
|
||||
@@ -1518,11 +1529,12 @@ 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 ||
|
||||
+ if (window->type == META_WINDOW_DESKTOP ||
|
||||
+ window->type == META_WINDOW_DOCK ||
|
||||
+ window->fullscreen ||
|
||||
+ (constraint_is_sle_classic() && !window->decorated) ||
|
||||
+ !window->require_titlebar_visible ||
|
||||
+ unconstrained_user_action ||
|
||||
meta_window_get_placement_rule (window))
|
||||
return TRUE;
|
||||
|
26
mutter-crash-meta_context_terminate.patch
Normal file
26
mutter-crash-meta_context_terminate.patch
Normal file
@ -0,0 +1,26 @@
|
||||
Index: mutter-44.beta/src/x11/session.c
|
||||
===================================================================
|
||||
--- mutter-44.beta.orig/src/x11/session.c
|
||||
+++ mutter-44.beta/src/x11/session.c
|
||||
@@ -150,7 +150,8 @@ process_ice_messages (GIOChannel *chan
|
||||
* being cleaned up, since it is owned by libSM.
|
||||
*/
|
||||
disconnect ();
|
||||
- meta_context_terminate (ice_connection->context);
|
||||
+ if (ice_connection->context != NULL)
|
||||
+ meta_context_terminate (ice_connection->context);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
Index: mutter-44.beta/src/tests/meson.build
|
||||
===================================================================
|
||||
--- mutter-44.beta.orig/src/tests/meson.build
|
||||
+++ mutter-44.beta/src/tests/meson.build
|
||||
@@ -43,6 +43,7 @@ tests_deps = [
|
||||
]
|
||||
|
||||
libmutter_test = shared_library(libmutter_test_name,
|
||||
+ mutter_enum_types,
|
||||
mutter_test_sources,
|
||||
gnu_symbol_visibility: 'hidden',
|
||||
include_directories: tests_includes,
|
84
mutter-disable-cvt-s390x.patch
Normal file
84
mutter-disable-cvt-s390x.patch
Normal file
@ -0,0 +1,84 @@
|
||||
Index: mutter-44.rc/src/meson.build
|
||||
===================================================================
|
||||
--- mutter-44.rc.orig/src/meson.build
|
||||
+++ mutter-44.rc/src/meson.build
|
||||
@@ -912,6 +912,7 @@ if have_profiler
|
||||
endif
|
||||
|
||||
if have_native_backend
|
||||
+ if host_machine.cpu_family() != 's390x'
|
||||
cvt = find_program('cvt')
|
||||
|
||||
gen_default_modes = find_program('backends/native/gen-default-modes.py')
|
||||
@@ -919,6 +920,9 @@ if have_native_backend
|
||||
output: 'meta-default-modes.h',
|
||||
command: [gen_default_modes, '@OUTPUT@']
|
||||
)
|
||||
+ else
|
||||
+ default_modes_h = 'backends/native/meta-default-modes.h'
|
||||
+ endif
|
||||
mutter_built_sources += default_modes_h
|
||||
|
||||
dbus_interfaces += [
|
||||
Index: mutter-44.rc/src/backends/native/meta-default-modes.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ mutter-44.rc/src/backends/native/meta-default-modes.h
|
||||
@@ -0,0 +1,57 @@
|
||||
+/* Generated by gen-default-modes.py */
|
||||
+
|
||||
+static const drmModeModeInfo meta_default_landscape_drm_mode_infos[] = {
|
||||
+{ 38250, 800, 832, 912, 1024, 0, 600, 603, 607, 624, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "800x600_60.00" },
|
||||
+{ 63500, 1024, 1072, 1176, 1328, 0, 768, 771, 775, 798, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1024x768_60.00" },
|
||||
+{ 81750, 1152, 1216, 1336, 1520, 0, 864, 867, 871, 897, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1152x864_60.00" },
|
||||
+{ 101250, 1280, 1360, 1488, 1696, 0, 960, 963, 967, 996, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1280x960_60.00" },
|
||||
+{ 121750, 1400, 1488, 1632, 1864, 0, 1050, 1053, 1057, 1089, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1400x1050_60.00" },
|
||||
+{ 129000, 1440, 1528, 1680, 1920, 0, 1080, 1083, 1087, 1120, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1440x1080_60.00" },
|
||||
+{ 161000, 1600, 1712, 1880, 2160, 0, 1200, 1203, 1207, 1245, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1600x1200_60.00" },
|
||||
+{ 233500, 1920, 2064, 2264, 2608, 0, 1440, 1443, 1447, 1493, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1920x1440_60.00" },
|
||||
+{ 267250, 2048, 2208, 2424, 2800, 0, 1536, 1539, 1543, 1592, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "2048x1536_60.00" },
|
||||
+{ 83500, 1280, 1352, 1480, 1680, 0, 800, 803, 809, 831, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1280x800_60.00" },
|
||||
+{ 106500, 1440, 1528, 1672, 1904, 0, 900, 903, 909, 934, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1440x900_60.00" },
|
||||
+{ 146250, 1680, 1784, 1960, 2240, 0, 1050, 1053, 1059, 1089, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1680x1050_60.00" },
|
||||
+{ 193250, 1920, 2056, 2256, 2592, 0, 1200, 1203, 1209, 1245, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1920x1200_60.00" },
|
||||
+{ 348500, 2560, 2760, 3032, 3504, 0, 1600, 1603, 1609, 1658, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "2560x1600_60.00" },
|
||||
+{ 74500, 1280, 1344, 1472, 1664, 0, 720, 723, 728, 748, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1280x720_60.00" },
|
||||
+{ 85250, 1368, 1440, 1576, 1784, 0, 768, 771, 781, 798, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1368x768_60.00" },
|
||||
+{ 118250, 1600, 1696, 1856, 2112, 0, 900, 903, 908, 934, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1600x900_60.00" },
|
||||
+{ 173000, 1920, 2048, 2248, 2576, 0, 1080, 1083, 1088, 1120, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1920x1080_60.00" },
|
||||
+{ 197000, 2048, 2184, 2400, 2752, 0, 1152, 1155, 1160, 1195, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "2048x1152_60.00" },
|
||||
+{ 312250, 2560, 2752, 3024, 3488, 0, 1440, 1443, 1448, 1493, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "2560x1440_60.00" },
|
||||
+{ 396250, 2880, 3096, 3408, 3936, 0, 1620, 1623, 1628, 1679, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "2880x1620_60.00" },
|
||||
+{ 492000, 3200, 3456, 3800, 4400, 0, 1800, 1803, 1808, 1865, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "3200x1800_60.00" },
|
||||
+{ 712750, 3840, 4160, 4576, 5312, 0, 2160, 2163, 2168, 2237, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "3840x2160_60.00" },
|
||||
+{ 813000, 4096, 4440, 4888, 5680, 0, 2304, 2307, 2312, 2386, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "4096x2304_60.00" },
|
||||
+{ 1276500, 5120, 5560, 6128, 7136, 0, 2880, 2883, 2888, 2982, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "5120x2880_60.00" },
|
||||
+};
|
||||
+
|
||||
+static const drmModeModeInfo meta_default_portrait_drm_mode_infos[] = {
|
||||
+{ 38250, 600, 603, 607, 624, 0, 800, 832, 912, 1024, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "600x800_60.00" },
|
||||
+{ 63500, 768, 771, 775, 798, 0, 1024, 1072, 1176, 1328, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "768x1024_60.00" },
|
||||
+{ 81750, 864, 867, 871, 897, 0, 1152, 1216, 1336, 1520, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "864x1152_60.00" },
|
||||
+{ 101250, 960, 963, 967, 996, 0, 1280, 1360, 1488, 1696, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "960x1280_60.00" },
|
||||
+{ 121750, 1050, 1053, 1057, 1089, 0, 1400, 1488, 1632, 1864, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1050x1400_60.00" },
|
||||
+{ 129000, 1080, 1083, 1087, 1120, 0, 1440, 1528, 1680, 1920, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1080x1440_60.00" },
|
||||
+{ 161000, 1200, 1203, 1207, 1245, 0, 1600, 1712, 1880, 2160, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1200x1600_60.00" },
|
||||
+{ 233500, 1440, 1443, 1447, 1493, 0, 1920, 2064, 2264, 2608, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1440x1920_60.00" },
|
||||
+{ 267250, 1536, 1539, 1543, 1592, 0, 2048, 2208, 2424, 2800, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1536x2048_60.00" },
|
||||
+{ 83500, 800, 803, 809, 831, 0, 1280, 1352, 1480, 1680, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "800x1280_60.00" },
|
||||
+{ 106500, 900, 903, 909, 934, 0, 1440, 1528, 1672, 1904, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "900x1440_60.00" },
|
||||
+{ 146250, 1050, 1053, 1059, 1089, 0, 1680, 1784, 1960, 2240, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1050x1680_60.00" },
|
||||
+{ 193250, 1200, 1203, 1209, 1245, 0, 1920, 2056, 2256, 2592, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1200x1920_60.00" },
|
||||
+{ 348500, 1600, 1603, 1609, 1658, 0, 2560, 2760, 3032, 3504, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1600x2560_60.00" },
|
||||
+{ 74500, 720, 723, 728, 748, 0, 1280, 1344, 1472, 1664, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "720x1280_60.00" },
|
||||
+{ 85250, 768, 771, 781, 798, 0, 1368, 1440, 1576, 1784, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "768x1368_60.00" },
|
||||
+{ 118250, 900, 903, 908, 934, 0, 1600, 1696, 1856, 2112, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "900x1600_60.00" },
|
||||
+{ 173000, 1080, 1083, 1088, 1120, 0, 1920, 2048, 2248, 2576, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1080x1920_60.00" },
|
||||
+{ 197000, 1152, 1155, 1160, 1195, 0, 2048, 2184, 2400, 2752, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1152x2048_60.00" },
|
||||
+{ 312250, 1440, 1443, 1448, 1493, 0, 2560, 2752, 3024, 3488, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1440x2560_60.00" },
|
||||
+{ 396250, 1620, 1623, 1628, 1679, 0, 2880, 3096, 3408, 3936, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1620x2880_60.00" },
|
||||
+{ 492000, 1800, 1803, 1808, 1865, 0, 3200, 3456, 3800, 4400, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "1800x3200_60.00" },
|
||||
+{ 712750, 2160, 2163, 2168, 2237, 0, 3840, 4160, 4576, 5312, 0, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, DRM_MODE_TYPE_DEFAULT, "2160x3840_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" },
|
||||
+};
|
32
mutter-window-actor-Special-case-shaped-Java-windows.patch
Normal file
32
mutter-window-actor-Special-case-shaped-Java-windows.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 9efcc35102b4c41265e93461b35a1193b3d5822d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 12 May 2017 13:40:31 +0200
|
||||
Subject: [PATCH] window-actor: Special-case shaped Java windows
|
||||
|
||||
OpenJDK wrongly assumes that shaping a window implies no shadows.
|
||||
They got lucky until commit b975676c changed the fallback case,
|
||||
but now their compliance tests are broken. Make them happy again
|
||||
by special-casing shaped Java windows.
|
||||
---
|
||||
src/compositor/meta-window-actor-x11.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
Index: mutter-44.beta/src/compositor/meta-window-actor-x11.c
|
||||
===================================================================
|
||||
--- mutter-44.beta.orig/src/compositor/meta-window-actor-x11.c
|
||||
+++ mutter-44.beta/src/compositor/meta-window-actor-x11.c
|
||||
@@ -428,6 +428,14 @@ has_shadow (MetaWindowActorX11 *actor_x1
|
||||
*/
|
||||
if (window->has_custom_frame_extents)
|
||||
return FALSE;
|
||||
+
|
||||
+ /*
|
||||
+ * OpenJDK wrongly assumes that shaping a window implies no compositor
|
||||
+ * shadows; make its compliance tests happy to give it what it wants ...
|
||||
+ */
|
||||
+ if (g_strcmp0 (window->res_name, "sun-awt-X11-XWindowPeer") == 0 &&
|
||||
+ window->shape_region != NULL)
|
||||
+ return FALSE;
|
||||
|
||||
/*
|
||||
* Generate shadows for all other windows.
|
5591
mutter.changes
Normal file
5591
mutter.changes
Normal file
File diff suppressed because it is too large
Load Diff
4
mutter.obsinfo
Normal file
4
mutter.obsinfo
Normal file
@ -0,0 +1,4 @@
|
||||
name: mutter
|
||||
version: 44.1+2
|
||||
mtime: 1683227330
|
||||
commit: 82bd40dcbcc3601da755678778f033bd9a30286d
|
231
mutter.spec
Normal file
231
mutter.spec
Normal file
@ -0,0 +1,231 @@
|
||||
#
|
||||
# spec file for package mutter
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%bcond_without profiler
|
||||
|
||||
%define api_major 12
|
||||
%define api_minor 0
|
||||
%define libmutter libmutter-%{api_major}-%{api_minor}
|
||||
Name: mutter
|
||||
Version: 44.1+2
|
||||
Release: 0
|
||||
Summary: Window and compositing manager based on Clutter
|
||||
License: GPL-2.0-or-later
|
||||
Group: System/GUI/GNOME
|
||||
URL: https://www.gnome.org
|
||||
Source0: %{name}-%{version}.tar.xz
|
||||
|
||||
# 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
|
||||
# PATCH-FIX-OPENSUSE mutter-window-actor-Special-case-shaped-Java-windows.patch -- window-actor: Special-case shaped Java windows
|
||||
Patch2: mutter-window-actor-Special-case-shaped-Java-windows.patch
|
||||
# PATCH-FIX-UPSTREAM mutter-crash-meta_context_terminate.patch bsc#1199382 glgo#GNOME/mutter#2267 xwang@suse.com -- Fix SIGSEGV in meta_context_terminate
|
||||
Patch3: mutter-crash-meta_context_terminate.patch
|
||||
|
||||
## 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.
|
||||
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
|
||||
# PATCH-FIX-SLE mutter-SLE-bsc984738-grab-display.patch bsc#984738 bgo#769387 hpj@suse.com -- Revert a upstream commit to avoid X11 race condition that results in wrong dialog sizes.
|
||||
Patch1002: mutter-SLE-bsc984738-grab-display.patch
|
||||
# PATCH-NEEDS-REBASE mutter-Lower-HIDPI_LIMIT-to-144.patch fate#326682, bsc#1125467 qkzhu@suse.com -- Lower HIDPI_LIMIT to 144 WAS
|
||||
Patch1003: mutter-Lower-HIDPI_LIMIT-to-144.patch
|
||||
|
||||
BuildRequires: Mesa-libGLESv3-devel
|
||||
BuildRequires: fdupes
|
||||
%ifnarch s390x
|
||||
BuildRequires: (libxcvt if xorg-x11-server > 21)
|
||||
%endif
|
||||
BuildRequires: meson >= 0.53.0
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: xorg-x11-server
|
||||
BuildRequires: xvfb-run
|
||||
BuildRequires: pkgconfig(cairo) >= 1.10.0
|
||||
BuildRequires: pkgconfig(colord) >= 1.4.5
|
||||
BuildRequires: pkgconfig(egl)
|
||||
BuildRequires: pkgconfig(fribidi) >= 1.0.0
|
||||
BuildRequires: pkgconfig(gbm) >= 17.3
|
||||
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.69.0
|
||||
BuildRequires: pkgconfig(glesv2)
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.69.0
|
||||
BuildRequires: pkgconfig(gnome-desktop-4)
|
||||
BuildRequires: pkgconfig(gnome-settings-daemon)
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.5
|
||||
BuildRequires: pkgconfig(graphene-gobject-1.0)
|
||||
BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.37.2
|
||||
BuildRequires: pkgconfig(gtk4)
|
||||
BuildRequires: pkgconfig(gudev-1.0) >= 232
|
||||
BuildRequires: pkgconfig(json-glib-1.0) >= 0.12.0
|
||||
BuildRequires: pkgconfig(lcms2) >= 2.6
|
||||
BuildRequires: pkgconfig(libcanberra-gtk3) >= 0.26
|
||||
BuildRequires: pkgconfig(libdrm) >= 2.4.83
|
||||
BuildRequires: pkgconfig(libinput) >= 1.15.0
|
||||
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.21
|
||||
BuildRequires: pkgconfig(libstartup-notification-1.0) >= 0.7
|
||||
BuildRequires: pkgconfig(libsystemd)
|
||||
BuildRequires: pkgconfig(libudev) >= 136
|
||||
BuildRequires: pkgconfig(libwacom) >= 0.13
|
||||
BuildRequires: pkgconfig(pango) >= 1.2.0
|
||||
BuildRequires: pkgconfig(sm)
|
||||
%if %{with profiler}
|
||||
BuildRequires: pkgconfig(sysprof-4)
|
||||
BuildRequires: pkgconfig(sysprof-capture-4) >= 3.37.3
|
||||
%endif
|
||||
BuildRequires: pkgconfig(udev)
|
||||
BuildRequires: pkgconfig(upower-glib) >= 0.99.0
|
||||
BuildRequires: pkgconfig(wayland-eglstream)
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.21
|
||||
BuildRequires: pkgconfig(wayland-server) >= 1.13.0
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(x11-xcb)
|
||||
BuildRequires: pkgconfig(xau)
|
||||
BuildRequires: pkgconfig(xcb-randr)
|
||||
BuildRequires: pkgconfig(xcomposite) >= 0.4
|
||||
BuildRequires: pkgconfig(xcursor)
|
||||
BuildRequires: pkgconfig(xdamage)
|
||||
BuildRequires: pkgconfig(xext)
|
||||
BuildRequires: pkgconfig(xfixes) >= 3
|
||||
BuildRequires: pkgconfig(xi) >= 1.7.4
|
||||
BuildRequires: pkgconfig(xinerama)
|
||||
BuildRequires: pkgconfig(xkbcommon) >= 0.4.3
|
||||
BuildRequires: pkgconfig(xkbcommon-x11)
|
||||
BuildRequires: pkgconfig(xkbfile)
|
||||
BuildRequires: pkgconfig(xkeyboard-config)
|
||||
BuildRequires: pkgconfig(xrandr) >= 1.5.0
|
||||
BuildRequires: pkgconfig(xrender)
|
||||
BuildRequires: pkgconfig(xtst)
|
||||
BuildRequires: pkgconfig(xwayland)
|
||||
Requires: gnome-settings-daemon
|
||||
Provides: windowmanager
|
||||
# Obsolete the now private typelib.
|
||||
Obsoletes: typelib-1_0-Meta-3_0
|
||||
# libmutter-<n>-0 and mutter-data were folded into the main package after GNOME 40
|
||||
# The library is not realy usable decoupled from the mutter version, and offering to
|
||||
# parallel install it only gives a false sense of capability. A full GNOME Stack
|
||||
# has a matching gnome-shell, mutter, libmutter version.
|
||||
Obsoletes: libmutter-8-0 <= %{version}
|
||||
# mutter-data was essentilly hard-required at the same version, as mutter requires
|
||||
# libmutter-<n>-0 (which has a soname bump at every major version change), libmutter
|
||||
# required mutter-data >= %%{version} and mutter-data required mutter=%%{version}.
|
||||
Obsoletes: mutter-data <= %{version}
|
||||
|
||||
%description
|
||||
Mutter is a window and compositing manager based on Clutter, forked
|
||||
from Metacity.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for mutter, a window and compositing manager
|
||||
Group: Development/Libraries/GNOME
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description devel
|
||||
This subpackage contains libraries and header files for developing
|
||||
applications that want to make use of the mutter library.
|
||||
|
||||
%lang_package
|
||||
|
||||
%prep
|
||||
%autosetup -N
|
||||
%autopatch -p1 -M 999
|
||||
# SLE-only patches and translations.
|
||||
%if 0%{?sle_version}
|
||||
%autopatch -p1 -m 1000
|
||||
%endif
|
||||
|
||||
%build
|
||||
%meson \
|
||||
-Degl_device=true \
|
||||
-Dwayland_eglstream=true \
|
||||
-Dcogl_tests=false \
|
||||
-Dclutter_tests=false \
|
||||
-Dtests=false \
|
||||
-Dinstalled_tests=false \
|
||||
-Dxwayland_initfd=auto \
|
||||
%if %{with profiler}
|
||||
-Dprofiler=true \
|
||||
%else
|
||||
-Dprofiler=false \
|
||||
%endif
|
||||
%{nil}
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
%find_lang %{name} %{?no_lang_C}
|
||||
%fdupes %{buildroot}%{_prefix}
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc NEWS
|
||||
%{_mandir}/man1/mutter.1%{?ext_man}
|
||||
%{_bindir}/mutter
|
||||
%{_libexecdir}/mutter-restart-helper
|
||||
%{_libexecdir}/mutter-x11-frames
|
||||
%{_udevrulesdir}/61-mutter.rules
|
||||
|
||||
# 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-cogl-pango-%{api_major}.so.*
|
||||
%{_libdir}/mutter-%{api_major}/libmutter-cogl-%{api_major}.so.*
|
||||
%{_libdir}/mutter-%{api_major}/plugins/libdefault.so
|
||||
|
||||
# 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}/Cogl-%{api_major}.typelib
|
||||
%{_libdir}/mutter-%{api_major}/CoglPango-%{api_major}.typelib
|
||||
%{_libdir}/mutter-%{api_major}/Meta-%{api_major}.typelib
|
||||
|
||||
%{_libdir}/libmutter-%{api_major}.so.*
|
||||
%dir %{_libdir}/mutter-%{api_major}/
|
||||
# users of libmutter need this directory
|
||||
%dir %{_libdir}/mutter-%{api_major}/plugins/
|
||||
|
||||
# Do not depend on g-c-c just for a directory
|
||||
%dir %{_datadir}/gnome-control-center
|
||||
%dir %{_datadir}/gnome-control-center/keybindings
|
||||
%{_datadir}/gnome-control-center/keybindings/50-mutter-windows.xml
|
||||
%{_datadir}/gnome-control-center/keybindings/50-mutter-navigation.xml
|
||||
%{_datadir}/gnome-control-center/keybindings/50-mutter-system.xml
|
||||
%{_datadir}/gnome-control-center/keybindings/50-mutter-wayland.xml
|
||||
%{_datadir}/GConf/gsettings/mutter-schemas.convert
|
||||
%{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml
|
||||
%{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml
|
||||
|
||||
%files devel
|
||||
%{_includedir}/mutter-%{api_major}/
|
||||
%{_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}/Cogl-%{api_major}.gir
|
||||
%{_libdir}/mutter-%{api_major}/CoglPango-%{api_major}.gir
|
||||
%{_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}/libmutter-%{api_major}.so
|
||||
%{_libdir}/pkgconfig/libmutter-%{api_major}.pc
|
||||
%{_libdir}/pkgconfig/mutter-clutter-%{api_major}.pc
|
||||
%{_libdir}/pkgconfig/mutter-cogl-%{api_major}.pc
|
||||
%{_libdir}/pkgconfig/mutter-cogl-pango-%{api_major}.pc
|
||||
|
||||
%files lang -f %{name}.lang
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user