summaryrefslogtreecommitdiff
path: root/src/ui/ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/ui.c')
-rw-r--r--src/ui/ui.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/ui/ui.c b/src/ui/ui.c
index 0639757d..ed2c5772 100644
--- a/src/ui/ui.c
+++ b/src/ui/ui.c
@@ -271,9 +271,12 @@ meta_ui_new (Display *xdisplay,
g_assert (xdisplay == GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
ui->frames = meta_frames_new ();
- /* 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+ 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);