[Window] Fix automatic pulldown code
[tilda-gobject.git] / tilda-controller.h
1 #ifndef TILDA_CONTROLLER_H
2 #define TILDA_CONTROLLER_H
3
4 #include <glib-object.h>
5
6 #define TILDA_TYPE_CONTROLLER                           (tilda_controller_get_type ())
7 #define TILDA_CONTROLLER(obj)                           (G_TYPE_CHECK_INSTANCE_CAST ((obj), TILDA_TYPE_CONTROLLER, TildaController))
8 #define TILDA_CONTROLLER_CLASS(klass)           (G_TYPE_CHECK_CLASS_CAST ((klass), TILDA_TYPE_CONTROLLER, TildaControllerClass))
9 #define TILDA_IS_CONTROLLER(obj)                        (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TILDA_TYPE_CONTROLLER))
10 #define TILDA_IS_CONTROLLER_CLASS(klass)        (G_TYPE_CHECK_CLASS_TYPE ((klass), TILDA_TYPE_CONTROLLER))
11 #define TILDA_CONTROLLER_GET_CLASS(obj)         (G_TYPE_INSTANCE_GET_CLASS ((obj), TILDA_TYPE_CONTROLLER, TildaControllerClass))
12
13 typedef struct _TildaController TildaController;
14 typedef struct _TildaControllerClass TildaControllerClass;
15
16 struct _TildaController {
17         GObject parent;
18         gboolean dispose_has_run;
19
20         /* instance members */
21         GPtrArray *windows;
22
23         gint initial_windows;
24 };
25
26 struct _TildaControllerClass {
27         GObjectClass parent;
28 };
29
30 /* Used by TILDA_TYPE_CONTROLLER */
31 GType tilda_controller_get_type (void);
32
33 /* DBus API */
34 gboolean tilda_controller_add_window (TildaController *self); // FIXME: needs GError
35 gboolean tilda_controller_quit (TildaController *self, GError **error);
36
37 /* API */
38 gboolean tilda_controller_remove_window (TildaController *self, gint window_number);
39 gboolean tilda_controller_global_key_in_use (const TildaController *self, const gchar *keystr);
40
41 #endif /* TILDA_CONTROLLER_H */
42
43 /* vim: set ts=4 sts=4 sw=4 noet tw=112: */