output: Add pause/resume signals

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>
This commit is contained in:
Jonas Ådahl 2025-03-31 14:55:45 +02:00 committed by Bruce Leidl
parent 29e1e91dc3
commit 179201da7d

View File

@ -123,6 +123,8 @@ enum
LID_IS_CLOSED_CHANGED, LID_IS_CLOSED_CHANGED,
GPU_ADDED, GPU_ADDED,
PREPARE_SHUTDOWN, PREPARE_SHUTDOWN,
PAUSE,
RESUME,
N_SIGNALS N_SIGNALS
}; };
@ -972,6 +974,20 @@ meta_backend_class_init (MetaBackendClass *klass)
0, 0,
NULL, NULL, NULL, NULL, NULL, NULL,
G_TYPE_NONE, 0); 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 #ifdef HAVE_LOGIND
@ -981,6 +997,7 @@ meta_backend_pause (MetaBackend *backend)
COGL_TRACE_BEGIN_SCOPED (MetaBackendPause, COGL_TRACE_BEGIN_SCOPED (MetaBackendPause,
"Meta::Backend::pause()"); "Meta::Backend::pause()");
g_signal_emit (backend, signals[PAUSE], 0);
META_BACKEND_GET_CLASS (backend)->pause (backend); META_BACKEND_GET_CLASS (backend)->pause (backend);
} }
@ -991,6 +1008,7 @@ meta_backend_resume (MetaBackend *backend)
"Meta::Backend::resume()"); "Meta::Backend::resume()");
META_BACKEND_GET_CLASS (backend)->resume (backend); META_BACKEND_GET_CLASS (backend)->resume (backend);
g_signal_emit (backend, signals[RESUME], 0);
} }
static void static void