From 179201da7d420a8ac5618fc8360db21e6b050a03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Mon, 31 Mar 2025 14:55:45 +0200 Subject: [PATCH] output: Add pause/resume signals These gets signalled when the logind session becomes inactive/active, e.g. VT switches. Part-of: --- src/backends/meta-backend.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c index 6956feb76..6b37c54ea 100644 --- a/src/backends/meta-backend.c +++ b/src/backends/meta-backend.c @@ -123,6 +123,8 @@ enum LID_IS_CLOSED_CHANGED, GPU_ADDED, PREPARE_SHUTDOWN, + PAUSE, + RESUME, N_SIGNALS }; @@ -972,6 +974,20 @@ meta_backend_class_init (MetaBackendClass *klass) 0, NULL, NULL, NULL, G_TYPE_NONE, 0); + 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); } #ifdef HAVE_LOGIND @@ -981,6 +997,7 @@ meta_backend_pause (MetaBackend *backend) COGL_TRACE_BEGIN_SCOPED (MetaBackendPause, "Meta::Backend::pause()"); + g_signal_emit (backend, signals[PAUSE], 0); META_BACKEND_GET_CLASS (backend)->pause (backend); } @@ -991,6 +1008,7 @@ meta_backend_resume (MetaBackend *backend) "Meta::Backend::resume()"); META_BACKEND_GET_CLASS (backend)->resume (backend); + g_signal_emit (backend, signals[RESUME], 0); } static void