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,
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