Files
artem.bochkarev 60272bba37 IDEA-240623: use separate glib-loop (in separate thread with thread-default context)
fixed IDEA-240623 KDE Global Menu does not work. But it's work with PhpStorm

GitOrigin-RevId: 56b75d6ae4209a12dfc4fcbbc6e9486b07e868d2
2021-02-26 16:22:23 +00:00

48 lines
1.1 KiB
C++

//
// Created by parallels on 8/1/18.
//
#include "DbusMenuWrapper.h"
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
static void _onDestroyWindow(void) {
gtk_main_quit();
return;
}
static void _testHandler(int uid, int evtype) {
int n = 0;
}
int main (int argv, char ** argc) {
gtk_init(&argv, &argc);
GtkWidget * window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(_onDestroyWindow), NULL);
gtk_widget_show(window);
// create register menu object for window
long wndxid = GDK_WINDOW_XID (gtk_widget_get_window (window));
WndInfo* wi = registerWindow(wndxid, &_testHandler);
// populate menu
DbusmenuMenuitem* root1 = addRootMenu(wi, 1, "root1");
FILE *f;
char buffer[1024*1024];
gsize length;
DbusmenuMenuitem* item1 = addMenuItem(root1, 2, "item1", ITEM_SIMPLE, 0);
// setItemIcon(item1, buffer, length);
DbusmenuMenuitem* sub1 = addMenuItem(item1, 3, "sub1", ITEM_SUBMENU, 0);
// setItemIcon(sub1, buffer, length);
// run main loop
gtk_main();
return 0;
}