1 #ifndef JAYATANAWINDOW_H 2 #define JAYATANAWINDOW_H 3 4 #include <gio/gio.h> 5 6 #include <jawt_md.h> 7 #include <libdbusmenu-glib/server.h> 8 #include <stdbool.h> 9 10 G_BEGIN_DECLS 11 12 /** 13 * Control structure of global menu 14 */ 15 typedef struct 16 { 17 jlong windowXID; 18 jobject globalThat; 19 20 int menu_counter; 21 char *windowXIDPath; 22 bool gdBusProxyRegistered; 23 guint gBusWatcher; 24 GDBusProxy *dbBusProxy; 25 GVariant *dbBusProxyCallSync; 26 27 DbusmenuServer *dbusMenuServer; 28 DbusmenuMenuitem *dbusMenuRoot; 29 30 jint registerState; 31 GHashTable *menu_items; 32 } JAyatanaWindow; 33 34 JAyatanaWindow *jayatana_window_new(); 35 JAyatanaWindow *jayatana_window_copy(JAyatanaWindow *src); 36 void jayatana_window_free(JAyatanaWindow *window); 37 38 void jayatana_window_remove_unparented(JAyatanaWindow *win); 39 DbusmenuMenuitem *jayatana_window_get_dbusmenu_item(JAyatanaWindow *win, jint id, 40 const char *cclabel); 41 42 G_END_DECLS 43 44 #endif // JAYATANAWINDOW_H 45