From 26c8227df587f312bff05a607dabd4f484c2af03 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 20 Apr 2010 14:47:45 -0400 Subject: [PATCH] [ShellWindowTracker] Add a signal to notify when tracked windows change --- src/shell-window-tracker.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/shell-window-tracker.c b/src/shell-window-tracker.c index bfc89d3b3..1e95b5882 100644 --- a/src/shell-window-tracker.c +++ b/src/shell-window-tracker.c @@ -84,6 +84,7 @@ enum { enum { APP_RUNNING_CHANGED, STARTUP_SEQUENCE_CHANGED, + TRACKED_WINDOWS_CHANGED, LAST_SIGNAL }; @@ -149,6 +150,13 @@ shell_window_tracker_class_init (ShellWindowTrackerClass *klass) NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, SHELL_TYPE_STARTUP_SEQUENCE); + signals[TRACKED_WINDOWS_CHANGED] = g_signal_new ("tracked-windows-changed", + SHELL_TYPE_WINDOW_TRACKER, + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); } /** @@ -514,6 +522,8 @@ track_window (ShellWindowTracker *self, app); g_signal_emit (self, signals[APP_RUNNING_CHANGED], 0, app); } + + g_signal_emit (self, signals[TRACKED_WINDOWS_CHANGED], 0); } static void @@ -549,6 +559,8 @@ disassociate_window (ShellWindowTracker *self, g_signal_emit (self, signals[APP_RUNNING_CHANGED], 0, app); } + g_signal_emit (self, signals[TRACKED_WINDOWS_CHANGED], 0); + g_object_unref (app); }