82 lines
2.4 KiB
Diff
82 lines
2.4 KiB
Diff
From 96d4ce647bd73095a5b0789d224271a912582f21 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
|
Date: Mon, 31 Mar 2025 14:55:45 +0200
|
|
Subject: [PATCH 4/5] output: Add pause/resume signals
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
These gets signalled when the logind session becomes inactive/active,
|
|
e.g. VT switches.
|
|
|
|
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4378>
|
|
(cherry picked from commit 288168f7f73ee84208500fe5e6bda6e9cdbc3a39)
|
|
---
|
|
src/backends/native/meta-backend-native.c | 29 +++++++++++++++++++++++
|
|
1 file changed, 29 insertions(+)
|
|
|
|
diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c
|
|
index 85bfeb7810..b81b53d29e 100644
|
|
--- a/src/backends/native/meta-backend-native.c
|
|
+++ b/src/backends/native/meta-backend-native.c
|
|
@@ -79,6 +79,16 @@ enum
|
|
|
|
static GParamSpec *obj_props[N_PROPS];
|
|
|
|
+enum
|
|
+{
|
|
+ PAUSE,
|
|
+ RESUME,
|
|
+
|
|
+ N_SIGNALS
|
|
+};
|
|
+
|
|
+static guint signals[N_SIGNALS];
|
|
+
|
|
typedef struct _MetaBackendNativePrivate
|
|
{
|
|
MetaBackend parent;
|
|
@@ -869,6 +879,21 @@ meta_backend_native_class_init (MetaBackendNativeClass *klass)
|
|
G_PARAM_CONSTRUCT_ONLY |
|
|
G_PARAM_STATIC_STRINGS);
|
|
g_object_class_install_properties (object_class, N_PROPS, obj_props);
|
|
+
|
|
+ signals[PAUSE] =
|
|
+ g_signal_new ("pause",
|
|
+ G_TYPE_FROM_CLASS (klass),
|
|
+ G_SIGNAL_RUN_LAST,
|
|
+ 0,
|
|
+ NULL, NULL, NULL,
|
|
+ G_TYPE_NONE, 0);
|
|
+ signals[RESUME] =
|
|
+ g_signal_new ("resume",
|
|
+ G_TYPE_FROM_CLASS (klass),
|
|
+ G_SIGNAL_RUN_LAST,
|
|
+ 0,
|
|
+ NULL, NULL, NULL,
|
|
+ G_TYPE_NONE, 0);
|
|
}
|
|
|
|
static void
|
|
@@ -961,6 +986,8 @@ meta_backend_native_pause (MetaBackendNative *backend_native)
|
|
COGL_TRACE_BEGIN_SCOPED (MetaBackendNativePause,
|
|
"Meta::BackendNative::pause()");
|
|
|
|
+ g_signal_emit (backend_native, signals[PAUSE], 0);
|
|
+
|
|
meta_seat_native_release_devices (seat);
|
|
meta_renderer_pause (renderer);
|
|
meta_udev_pause (priv->udev);
|
|
@@ -1004,6 +1031,8 @@ void meta_backend_native_resume (MetaBackendNative *native)
|
|
meta_input_settings_maybe_restore_numlock_state (input_settings);
|
|
|
|
clutter_seat_ensure_a11y_state (CLUTTER_SEAT (seat));
|
|
+
|
|
+ g_signal_emit (native, signals[RESUME], 0);
|
|
}
|
|
|
|
static MetaRenderDevice *
|
|
--
|
|
2.49.0
|
|
|