From 24344d81412715eb6088489698b6fd7e78b28c88 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 5 Sep 2023 13:08:14 +0200 Subject: [PATCH] core: Add ::focus-window signal This will be triggered whenever the input focus changes, so that other pieces may hook to this place. Part-of: --- src/core/display.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/core/display.c b/src/core/display.c index 71daeea14..b30414d19 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -347,6 +347,14 @@ meta_display_class_init (MetaDisplayClass *klass) g_signal_accumulator_first_wins, NULL, NULL, G_TYPE_BOOLEAN, 0); + display_signals[FOCUS_WINDOW] = + g_signal_new ("focus-window", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, 2, META_TYPE_WINDOW, G_TYPE_INT64); + display_signals[WINDOW_CREATED] = g_signal_new ("window-created", G_TYPE_FROM_CLASS (klass), @@ -1618,6 +1626,8 @@ meta_display_set_input_focus (MetaDisplay *display, if (meta_display_timestamp_too_old (display, ×tamp)) return; + g_signal_emit (display, display_signals[FOCUS_WINDOW], 0, window, ms2us (timestamp)); + #ifdef HAVE_X11_CLIENT if (display->x11_display) {