我正在尝试设置此处记录的“ xevent”信号:
https://github.com/GNOME/gtk/blob/master/gdk/x11/gdkdisplay-x11.c
在gdk_x11_display_class_init函数中。
这是我的代码:
static gboolean TheCallback(GdkDisplay * display,
XEvent * xevent,
gpointer user_data)
{
std::cout << "yo" << std::endl;
return FALSE;
}
int main(void)
{
gtk_init(NULL,NULL);
GtkWidget * win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show_all(win);
GdkDisplay* gd = gdk_display_get_default();
g_signal_connect(gd,"xevent",G_CALLBACK(TheCallback),NULL);
gtk_main();
}
但是我得到:
GLib-GObject-WARNING **:gsignal.c:2523:信号'xevent'对于类型'GdkX11Display'的实例'0xd890e0'无效
我想念什么?