annoying flicker due to xserver-based background redraw


Xfce-terminal and gnome-terminal have a problem with screen flicker. How to reproduce it:

1. disable xfce compositor (with the compositor enabled, the bug happens
        too, but with lower probability)
2. set black backround and white text in the terminal
3. open two terminals on two different xfce workspaces, maximize them
4. switch between these workspaces

When you switch workspace, the whote terminal window flashes with white for a short time and then the black background is redrawn.

The bug is caused by xserver-driven window redraw. When the window is made visible, xserver redraws it with white color, and then the xserver sends the expose event to the application, causing the application to redraw the window with correct black color.

I'd like to ask if there is some way how to fix the xfce terminal to disable xserver-based redraw.

For Xlib based programs, one could disable xserver-based redraw with XSetWindowBackgroundPixmap(display, window, None), but how to do this in gtk?

One can call gtk_widget_modify_bg on the terminal window, it changes the the color of the screen flicker, but it can't eliminate it.

Another suggestion: Could it be possible to disable this xserver-based background redraw globally? All gtk applications that I tried suffer from this flicker when switching workspaces (though, it is particularly annoying for terminals because I switch terminals often). There is no reason why should the xserver redraw the window background with a solid color, if the application is going to redraw the whole window anyway.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]