summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD14
-rw-r--r--rounded_corners.patch62
3 files changed, 46 insertions, 40 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 74ca289aed18..03cd68394311 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,14 +1,14 @@
pkgbase = mutter-rounded
pkgdesc = A window manager for GNOME, with rounded corners patch
- pkgver = 41.2
- pkgrel = 2.1
+ pkgver = 41.3
+ pkgrel = 1
url = https://gitlab.gnome.org/GNOME/mutter
install = mutter.install
arch = x86_64
groups = gnome
license = GPL
checkdepends = xorg-server-xvfb
- checkdepends = wireplumber
+ checkdepends = pipewire-media-session
checkdepends = python-dbusmock
makedepends = gobject-introspection
makedepends = git
@@ -38,7 +38,7 @@ pkgbase = mutter-rounded
provides = libmutter-9.so
provides = mutter
conflicts = mutter
- source = mutter-rounded::git+https://gitlab.gnome.org/GNOME/mutter.git#commit=664ac09eecfd365b5258f53d2c9e6c8410a37919
+ source = mutter-rounded::git+https://gitlab.gnome.org/GNOME/mutter.git#commit=f51ad2911419ee2ab88b5548581227a57d0fd987
source = mutter_settings::git+https://github.com/yilozt/mutter-rounded-setting
source = rounded_corners.patch
source = shell_blur_effect.patch
@@ -49,7 +49,7 @@ pkgbase = mutter-rounded
source = https://gitlab.gnome.org/GNOME/gnome-shell/-/raw/41.1/src/shell-blur-effect.c
sha256sums = SKIP
sha256sums = SKIP
- sha256sums = f161768e446deb36ea787f03daf3162b517f091a1690b1938c99b777687f44f0
+ sha256sums = 347cb5fd030d693b9d7892e8f27157f5fbc12c6e2611a12acc0174d89c4c6cf3
sha256sums = 895f35f5e8a458c71b4312061cf7d2b0108a3c6df4b0324ab342c5a3576ee09a
sha256sums = dc4279ec3c0995ba9a9ee3ecd581376140c78089a058863dea0bd9ec7894dc49
sha256sums = 2ec553a260497f0ac0180512201c9819b10159a15fcbc6d5007932d8e2a44844
diff --git a/PKGBUILD b/PKGBUILD
index 2172b4a00aca..a243a367ae93 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,8 +6,8 @@
# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
pkgname=mutter-rounded
-pkgver=41.2
-pkgrel=2.1
+pkgver=41.3
+pkgrel=1
pkgdesc="A window manager for GNOME, with rounded corners patch"
url="https://gitlab.gnome.org/GNOME/mutter"
arch=(x86_64)
@@ -18,13 +18,13 @@ depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas
xorg-xwayland graphene libxkbfile libsysprof-capture)
makedepends=(gobject-introspection git egl-wayland meson xorg-server
wayland-protocols sysprof)
-checkdepends=(xorg-server-xvfb wireplumber python-dbusmock)
+checkdepends=(xorg-server-xvfb pipewire-media-session python-dbusmock)
provides=(libmutter-9.so mutter)
conflicts=(mutter)
groups=(gnome)
install=mutter.install
-_commit=664ac09eecfd365b5258f53d2c9e6c8410a37919 # tags/41.2^0
+_commit=f51ad2911419ee2ab88b5548581227a57d0fd987 # tags/41.3^0
_mutter_src="$pkgname::git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit"
_shell_blur_h_src="https://gitlab.gnome.org/GNOME/gnome-shell/-/raw/41.1/src/shell-blur-effect.h"
_shell_blur_c_src="https://gitlab.gnome.org/GNOME/gnome-shell/-/raw/41.1/src/shell-blur-effect.c"
@@ -32,7 +32,7 @@ _settings_src="mutter_settings::git+https://github.com/yilozt/mutter-rounded-set
# Mirrors in Gitee
if [ "${LANG}" = "zh_CN.UTF-8" ] ; then
- _mutter_src="$pkgname::git+https://gitee.com/mirrors_GNOME/mutter.git#commit=$_commit"
+ # _mutter_src="$pkgname::git+https://gitee.com/mirrors_GNOME/mutter.git#commit=$_commit"
_settings_src="mutter_settings::git+https://gitee.com/lluo/mutter-rounded-setting/"
fi
@@ -48,7 +48,7 @@ source=("$_mutter_src"
)
sha256sums=('SKIP'
'SKIP'
- 'f161768e446deb36ea787f03daf3162b517f091a1690b1938c99b777687f44f0'
+ '347cb5fd030d693b9d7892e8f27157f5fbc12c6e2611a12acc0174d89c4c6cf3'
'895f35f5e8a458c71b4312061cf7d2b0108a3c6df4b0324ab342c5a3576ee09a'
'dc4279ec3c0995ba9a9ee3ecd581376140c78089a058863dea0bd9ec7894dc49'
'2ec553a260497f0ac0180512201c9819b10159a15fcbc6d5007932d8e2a44844'
@@ -89,7 +89,7 @@ _check() (
pipewire &
_p1=$!
- wireplumber &
+ pipewire-media-session &
_p2=$!
trap "kill $_p1 $_p2; wait" EXIT
diff --git a/rounded_corners.patch b/rounded_corners.patch
index 8a0274cee7e2..ec007b8a15cf 100644
--- a/rounded_corners.patch
+++ b/rounded_corners.patch
@@ -277,7 +277,7 @@ index adae06547..eea31fa41 100644
+void meta_window_actor_update_blur_window_opacity (MetaWindowActor *self);
#endif /* META_WINDOW_ACTOR_PRIVATE_H */
diff --git a/src/compositor/meta-window-actor-wayland.c b/src/compositor/meta-window-actor-wayland.c
-index 641c924db..28f1920f8 100644
+index bdc5c5a53..4e8418334 100644
--- a/src/compositor/meta-window-actor-wayland.c
+++ b/src/compositor/meta-window-actor-wayland.c
@@ -24,10 +24,36 @@
@@ -660,7 +660,7 @@ index 641c924db..28f1920f8 100644
}
static void
-@@ -149,15 +488,34 @@ meta_window_actor_wayland_can_freeze_commits (MetaWindowActor *actor)
+@@ -149,12 +488,29 @@ meta_window_actor_wayland_can_freeze_commits (MetaWindowActor *actor)
return FALSE;
}
@@ -678,24 +678,19 @@ index 641c924db..28f1920f8 100644
+ G_OBJECT_CLASS (meta_window_actor_wayland_parent_class)->constructed (object);
+}
+
++
static void
meta_window_actor_wayland_dispose (GObject *object)
{
MetaWindowActor *window_actor = META_WINDOW_ACTOR (object);
-+ MetaWindowActorWayland *actor_wayland = META_WINDOW_ACTOR_WAYLAND (object);
-+
MetaSurfaceActor *surface_actor =
meta_window_actor_get_surface (window_actor);
- GList *children;
++ MetaWindowActorWayland *actor_wayland = META_WINDOW_ACTOR_WAYLAND (object);
++
+ g_autoptr (GList) children = NULL;
GList *l;
-+ g_clear_signal_handler (&actor_wayland->size_changed_id, surface_actor);
-+ g_clear_signal_handler (&actor_wayland->repaint_scheduled_id, surface_actor);
-+
- children = clutter_actor_get_children (CLUTTER_ACTOR (window_actor));
- for (l = children; l; l = l->next)
- {
-@@ -167,7 +525,17 @@ meta_window_actor_wayland_dispose (GObject *object)
+@@ -167,7 +523,19 @@ meta_window_actor_wayland_dispose (GObject *object)
child_actor != CLUTTER_ACTOR (surface_actor))
clutter_actor_remove_child (CLUTTER_ACTOR (window_actor), child_actor);
}
@@ -708,6 +703,8 @@ index 641c924db..28f1920f8 100644
+ g_clear_pointer (&actor_wayland->unfocused_shadow, meta_shadow_unref);
+ g_clear_pointer (&actor_wayland->shadow_shape, meta_window_shape_unref);
++ g_clear_signal_handler (&actor_wayland->size_changed_id, surface_actor);
++ g_clear_signal_handler (&actor_wayland->repaint_scheduled_id, surface_actor);
+ g_clear_signal_handler (&actor_wayland->shadow_factory_changed_handler_id,
+ actor_wayland->shadow_factory);
G_OBJECT_CLASS (meta_window_actor_wayland_parent_class)->dispose (object);
@@ -857,7 +854,7 @@ index 9e64462ea..7c003a342 100644
/* The frame bounds are already subtracted from actor_x11->shadow_clip
diff --git a/src/compositor/meta-window-actor.c b/src/compositor/meta-window-actor.c
-index b32df2010..932b2904d 100644
+index b32df2010..9d2994e74 100644
--- a/src/compositor/meta-window-actor.c
+++ b/src/compositor/meta-window-actor.c
@@ -41,6 +41,9 @@
@@ -1166,11 +1163,11 @@ index b32df2010..932b2904d 100644
+on_visible_changed (MetaWindowActor *self)
+{
+ MetaWindowActorPrivate *priv = meta_window_actor_get_instance_private (self);
-+
++
+ if (!priv->blur_actor)
+ return;
+
-+ if (priv->visible && !priv->unminimize_in_progress)
++ if (priv->visible && !meta_window_actor_effect_in_progress (self))
+ clutter_actor_show(priv->blur_actor);
+ else
+ clutter_actor_hide(priv->blur_actor);
@@ -1203,14 +1200,14 @@ index b32df2010..932b2904d 100644
meta_window_actor_sync_actor_geometry (self, priv->window->placed);
+
-+ priv->visible_changed_id =
-+ g_signal_connect (object, "notify::visible", G_CALLBACK (on_visible_changed), NULL);
-+
+ if (type == META_WINDOW_CLIENT_TYPE_WAYLAND)
+ {
+ priv->wm_class_changed_id =
+ g_signal_connect (window, "notify::wm-class", G_CALLBACK (on_wm_class_changed), object);
+ }
++
++ priv->visible_changed_id =
++ g_signal_connect (object, "notify::visible", G_CALLBACK (on_visible_changed), NULL);
}
static void
@@ -1230,7 +1227,15 @@ index b32df2010..932b2904d 100644
g_signal_connect_object (priv->window, "notify::appears-focused",
G_CALLBACK (window_appears_focused_notify), self, 0);
break;
-@@ -606,6 +906,47 @@ is_freeze_thaw_effect (MetaPluginEffect event)
+@@ -588,6 +888,7 @@ meta_window_actor_effect_in_progress (MetaWindowActor *self)
+ meta_window_actor_get_instance_private (self);
+
+ return (priv->minimize_in_progress ||
++ priv->unminimize_in_progress ||
+ priv->size_change_in_progress ||
+ priv->map_in_progress ||
+ priv->destroy_in_progress);
+@@ -606,6 +907,47 @@ is_freeze_thaw_effect (MetaPluginEffect event)
}
}
@@ -1269,7 +1274,7 @@ index b32df2010..932b2904d 100644
+ if (!priv->blur_actor)
+ return;
+
-+ if (priv->visible && !priv->unminimize_in_progress)
++ if (priv->visible && !meta_window_actor_effect_in_progress (self))
+ clutter_actor_show(priv->blur_actor);
+ else
+ clutter_actor_hide(priv->blur_actor);
@@ -1278,7 +1283,7 @@ index b32df2010..932b2904d 100644
static gboolean
start_simple_effect (MetaWindowActor *self,
MetaPluginEffect event)
-@@ -625,15 +966,29 @@ start_simple_effect (MetaWindowActor *self,
+@@ -625,15 +967,33 @@ start_simple_effect (MetaWindowActor *self,
case META_PLUGIN_NONE:
return FALSE;
case META_PLUGIN_MINIMIZE:
@@ -1296,6 +1301,10 @@ index b32df2010..932b2904d 100644
counter = &priv->unminimize_in_progress;
break;
case META_PLUGIN_MAP:
++ if (priv->round_clip_effect)
++ {
++ meta_window_actor_hide_blur(self);
++ }
counter = &priv->map_in_progress;
break;
case META_PLUGIN_DESTROY:
@@ -1308,18 +1317,15 @@ index b32df2010..932b2904d 100644
counter = &priv->destroy_in_progress;
break;
case META_PLUGIN_SIZE_CHANGE:
-@@ -682,6 +1037,10 @@ meta_window_actor_after_effects (MetaWindowActor *self)
+@@ -682,6 +1042,7 @@ meta_window_actor_after_effects (MetaWindowActor *self)
g_signal_emit (self, signals[EFFECTS_COMPLETED], 0);
meta_window_actor_sync_visibility (self);
meta_window_actor_sync_actor_geometry (self, FALSE);
-+ if (priv->round_clip_effect && !priv->unminimize_in_progress)
-+ {
-+ meta_window_actor_show_blur(self);
-+ }
++ meta_window_actor_show_blur(self);
}
clutter_stage_repick_device (stage, clutter_seat_get_pointer (seat));
-@@ -803,6 +1162,19 @@ meta_window_actor_queue_destroy (MetaWindowActor *self)
+@@ -803,6 +1164,19 @@ meta_window_actor_queue_destroy (MetaWindowActor *self)
clutter_actor_destroy (CLUTTER_ACTOR (self));
}
@@ -1339,7 +1345,7 @@ index b32df2010..932b2904d 100644
MetaWindowActorChanges
meta_window_actor_sync_actor_geometry (MetaWindowActor *self,
gboolean did_placement)
-@@ -1031,7 +1403,7 @@ meta_window_actor_sync_visibility (MetaWindowActor *self)
+@@ -1031,7 +1405,7 @@ meta_window_actor_sync_visibility (MetaWindowActor *self)
if (CLUTTER_ACTOR_IS_VISIBLE (self) != priv->visible)
{