[Xfce4-commits] [apps/xfdashboard] 01/01: Add accessor functions for windows list of a running application at application tracker

noreply at xfce.org noreply at xfce.org
Wed Sep 16 14:10:24 CEST 2015


This is an automated email from the git hooks/post-receive script.

nomad pushed a commit to branch master
in repository apps/xfdashboard.

commit af40d9edb12318d89a831e3a6841fb8585396f7b
Author: Stephan Haller <nomad at froevel.de>
Date:   Wed Sep 16 14:09:59 2015 +0200

    Add accessor functions for windows list of a running application at application tracker
---
 xfdashboard/application-tracker.c |   35 +++++++++++++++++++++++++++++++++++
 xfdashboard/application-tracker.h |    6 ++++++
 2 files changed, 41 insertions(+)

diff --git a/xfdashboard/application-tracker.c b/xfdashboard/application-tracker.c
index 628778f..717d1f2 100644
--- a/xfdashboard/application-tracker.c
+++ b/xfdashboard/application-tracker.c
@@ -874,3 +874,38 @@ gboolean xfdashboard_application_tracker_is_running_by_app_info(XfdashboardAppli
 
 	return(_xfdashboard_application_tracker_find_item_by_app_info(self, inAppInfo) ? TRUE : FALSE);
 }
+
+/* Get window list (sorted by last activation time) for an application.
+ * The returned GList is owned by application and should not be modified or freed.
+ */
+const GList* xfdashboard_application_tracker_get_window_list_by_desktop_id(XfdashboardApplicationTracker *self,
+																			const gchar *inDesktopID)
+{
+	XfdashboardApplicationTrackerItem	*item;
+
+	g_return_val_if_fail(XFDASHBOARD_IS_APPLICATION_TRACKER(self), NULL);
+	g_return_val_if_fail(inDesktopID && *inDesktopID, NULL);
+
+	/* Get application tracker item for requested desktop ID */
+	item=_xfdashboard_application_tracker_find_item_by_desktop_id(self, inDesktopID);
+	if(!item) return(NULL);
+
+	/* Return list of windows for found application tracker item */
+	return(item->windows);
+}
+
+const GList*  xfdashboard_application_tracker_get_window_list_by_app_info(XfdashboardApplicationTracker *self,
+																			GAppInfo *inAppInfo)
+{
+	XfdashboardApplicationTrackerItem	*item;
+
+	g_return_val_if_fail(XFDASHBOARD_IS_APPLICATION_TRACKER(self), NULL);
+	g_return_val_if_fail(G_IS_APP_INFO(inAppInfo), NULL);
+
+	/* Get application tracker item for requested desktop ID */
+	item=_xfdashboard_application_tracker_find_item_by_app_info(self, inAppInfo);
+	if(!item) return(NULL);
+
+	/* Return list of windows for found application tracker item */
+	return(item->windows);
+}
diff --git a/xfdashboard/application-tracker.h b/xfdashboard/application-tracker.h
index d2ef976..638719f 100644
--- a/xfdashboard/application-tracker.h
+++ b/xfdashboard/application-tracker.h
@@ -69,6 +69,12 @@ gboolean xfdashboard_application_tracker_is_running_by_desktop_id(XfdashboardApp
 																	const gchar *inDesktopID);
 gboolean xfdashboard_application_tracker_is_running_by_app_info(XfdashboardApplicationTracker *self,
 																GAppInfo *inAppInfo);
+
+const GList* xfdashboard_application_tracker_get_window_list_by_desktop_id(XfdashboardApplicationTracker *self,
+																			const gchar *inDesktopID);
+const GList*  xfdashboard_application_tracker_get_window_list_by_app_info(XfdashboardApplicationTracker *self,
+																			GAppInfo *inAppInfo);
+
 G_END_DECLS
 
 #endif	/* __XFDASHBOARD_APPLICATION_TRACKER__ */

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list