[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