Draging gtk.Paned handle causes excessive redraws of child vte widgets

Bug #238126 reported by dorphichinfa
4
Affects Status Importance Assigned to Milestone
Terminator
Fix Released
Wishlist
Unassigned

Bug Description

When resizing a window, or when resizing a terminal in a window (such as by its adjacent dividers) all the affected terminals flicker. I should note that I'm currently using Compiz and Terminator with a partially transparent background. Not sure if the problem is specific to this configuration.

It's like when it receives the resize instruction, it takes three steps:
 * Blank out the entire window with black. (my background colour)
 * Make that black transparent. (according to my configuration)
 * Than draw on top the terminal contents.

These three things occur rapidly and repeatedly as the terminal is resized.

It could be worth noting that the flicker doesn't occur with every pixel of resize, but only when the terminal gains or loses a column or row.

Yeah... it's quite annoying. It would be nice if Terminator could perform resizes for transparent terminals more gracefully.

Revision history for this message
Thomas Hurst (tom.hurst) wrote :

Deos gnome-terminal behave the same way? This is probably a VTE issue.

Revision history for this message
Thomas Hurst (tom.hurst) wrote :

This might be related to #190946. Does it still happen with trunk?

Revision history for this message
Chris Jones (cmsj) wrote :

I think this is just the vte widgets redrawing as they receive resize events.
One possible solution would be to replace the widgets with coloured boxes during resize events, but this would need careful thought and possibly extending gtk.Paned.

I'm happy to be proven wrong though :)

Changed in terminator:
importance: Undecided → Low
milestone: none → 1.0-beta
status: New → Confirmed
Chris Jones (cmsj)
Changed in terminator:
importance: Low → Wishlist
Revision history for this message
chantra (chantra) wrote :

I checked on this one again and this is pretty tough to tackle...

The fact that resizing event is sent, all the terminals will redraw and as Schalken said, it wipes everything and redraw on top.
Every terminal emulator I tried has the same issue, e.g. gnome-terminal, xterm.

I think we could work around by handling the resize event and drop a few screen refresh, but I do not see how we could find out when the resizing ends...

Revision history for this message
Chris Jones (cmsj) wrote :

I'm pretty sure this is impossible without extending Paned to not send resize events until the end of a handle drag.

Revision history for this message
Stephen Boddy (stephen-j-boddy) wrote :

Fairly certain we can close this since rev 1220 was merged in (deferring the resizes into the idle loop) and released with 0.96. At least for me this is buttery smooth now :-)
I'll set to Fix Released, and if anyone objects, just reopen it.

Changed in terminator:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.