GNOME Bugzilla – Bug 606655
Flicker when exposing (window background shows through)
Last modified: 2018-06-19 18:48:26 UTC
Start with a non-composited window manager. Make a maximized VTE window. Use a light-colored theme. Set a dark background for the terminal and make it slightly transparent (i.e. very opaque). Flip desktops back and forth. You'll see that X paints a light background for the VTE window, and then the terminal gets repainted with its dark background. It seems that VTE is not setting gdk_window_set_background() or something, as that kind of flicker can be mostly avoided.
Same as bug 534526 ?
(In reply to comment #1) > Same as bug 534526 ? Not quite. In that one, the textual content of the terminal flickers when you resize it; that's just a bad repainting policy. You *can* also see the X window background being painted really quickly when you resize a corner; that would be the same case as this bug. This bug is about the following sequence when you expose the window: 1. X paints a (possibly light-colored) background 2. VTE repaints its (possibly dark) background The result is a lot of visible flicker when you switch desktops, as the terminal's final background can be quite different from the background that X paints by default.
I tried the following patch, but it didn't help. g-t may need a similar change? Donno. diff --git a/src/vte.c b/src/vte.c index a85f398..2206002 100644 --- a/src/vte.c +++ b/src/vte.c @@ -8538,6 +8538,7 @@ vte_terminal_realize(GtkWidget *widget) widget->window = gdk_window_new(gtk_widget_get_parent_window(widget), &attributes, attributes_mask); + gdk_window_set_back_pixmap (widget->window, NULL, 0); /* We draw our own background */ _VTE_DEBUG_IF(VTE_DEBUG_UPDATES) gdk_window_set_debug_updates(TRUE); gdk_window_set_user_data(widget->window, widget);
*** Bug 607480 has been marked as a duplicate of this bug. ***
I've already "fixed" that by setting the X background color to that of the vte widget. But that's really a hack. In gtk3 world we would remove our own color handling and rely on GtkStyleContext solely, so this would be a bit different.
Would making vte use an INPUT_ONLY window fix this?
*** Bug 666328 has been marked as a duplicate of this bug. ***
Still reproducible on vte master ?