MetaUI* meta_ui_new (Display *xdisplay, Screen *screen) { GdkDisplay *gdisplay; MetaUI *ui; ui = g_new0 (MetaUI, 1); ui->xdisplay = xdisplay; ui->xscreen = screen; gdisplay = gdk_x11_lookup_xdisplay (xdisplay); g_assert (gdisplay == gdk_display_get_default ()); ui->frames = meta_frames_new (XScreenNumberOfScreen (screen)); /* GTK+ needs the frame-sync protocol to work in order to properly * handle style changes. This means that the dummy widget we create * to get the style for title bars actually needs to be mapped * and fully tracked as a MetaWindow. Horrible, but mostly harmless - * the window is a 1x1 overide redirect window positioned offscreen. */ gtk_widget_show (GTK_WIDGET (ui->frames)); g_object_set_data (G_OBJECT (gdisplay), "meta-ui", ui); return ui; }
MetaUI* meta_ui_new (Display *xdisplay, Screen *screen) { GdkDisplay *gdisplay; MetaUI *ui; ui = g_new0 (MetaUI, 1); ui->xdisplay = xdisplay; ui->xscreen = screen; gdisplay = gdk_x11_lookup_xdisplay (xdisplay); g_assert (gdisplay == gdk_display_get_default ()); g_assert (xdisplay == GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); ui->frames = meta_frames_new (XScreenNumberOfScreen (screen)); #if GTK_CHECK_VERSION (3, 0, 0) /* This does not actually show any widget. MetaFrames has been hacked so * that showing it doesn't actually do anything. But we need the flags * set for GTK to deliver events properly. */ gtk_widget_show (GTK_WIDGET (ui->frames)); #else gtk_widget_realize (GTK_WIDGET (ui->frames)); #endif g_object_set_data (G_OBJECT (gdisplay), "meta-ui", ui); return ui; }
MetaUI* meta_ui_new (Display *xdisplay, Screen *screen) { MetaUI *ui; ui = g_new (MetaUI, 1); ui->xdisplay = xdisplay; ui->xscreen = screen; g_assert (xdisplay == gdk_display); ui->frames = meta_frames_new (XScreenNumberOfScreen (screen)); gtk_widget_realize (GTK_WIDGET (ui->frames)); return ui; }