1 /*
2  * Copyright (c) 2010 Mike Massonnet, <mmassonnet@xfce.org>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  */
9 
10 #ifndef APP_MANAGER_H
11 #define APP_MANAGER_H
12 
13 #ifdef HAVE_CONFIG_H
14 #include <config.h>
15 #endif
16 
17 #include <glib-object.h>
18 #include <gdk-pixbuf/gdk-pixbuf.h>
19 #define WNCK_I_KNOW_THIS_IS_UNSTABLE
20 #include <libwnck/libwnck.h>
21 
22 typedef struct _App App;
23 struct _App
24 {
25 	WnckApplication *	application;
26 	GPid			pid;
27 	gchar			name[1024];
28 	GdkPixbuf *		icon;
29 };
30 
31 #define XTM_TYPE_APP_MANAGER			(xtm_app_manager_get_type ())
32 #define XTM_APP_MANAGER(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), XTM_TYPE_APP_MANAGER, XtmAppManager))
33 #define XTM_APP_MANAGER_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), XTM_TYPE_APP_MANAGER, XtmAppManagerClass))
34 #define XTM_IS_APP_MANAGER(obj)			(G_TYPE_CHECK_INSTANCE_TYPE ((obj), XTM_TYPE_APP_MANAGER))
35 #define XTM_IS_APP_MANAGER_CLASS(klass)		(G_TYPE_CHECK_CLASS_TYPE ((klass), XTM_TYPE_APP_MANAGER))
36 #define XTM_APP_MANAGER_GET_CLASS(obj)		(G_TYPE_INSTANCE_GET_CLASS ((obj), XTM_TYPE_APP_MANAGER, XtmAppManagerClass))
37 
38 typedef struct _XtmAppManager XtmAppManager;
39 
40 GType			xtm_app_manager_get_type			(void);
41 XtmAppManager *		xtm_app_manager_new				(void);
42 App *			xtm_app_manager_get_app_from_pid		(XtmAppManager *manager, GPid pid);
43 
44 #endif /* !APP_MANAGER_H */
45