Menu

#98 Workspace switching and panel windows flickering

blackbox
open
nobody
bug fix (21)
5
2005-11-02
2005-11-02
offname
No

Blackbox 0.70.0 causes redrawing/flickering of panel
windows when switching from one workspace to another:
with other window managers, there isn't this kind of
problem. I have tried with FBPanel (fbpanel), the GNOME
panel (gnome-panel), the XFCE taskbar (xftaskbar4) and
the XFCE panel (xfce4-panel) under XFWM4 and Metacity :
the redrawing/flickering did not occured.

I don't know why it is used for, but Blackbox maps and
unmaps an empty window in BScreen::setCurrentWorspace()
"to prevent unnecessary exposure of the root window"
(?!??):

476 void BScreen::setCurrentWorkspace(unsigned int id) {
...
484 // show the empty window... this will prevent
unnecessary exposure
485 // of the root window
486 XMapWindow(_blackbox->XDisplay(), empty_window);
...
558 XUnmapWindow(_blackbox->XDisplay(), empty_window);
559
560 _blackbox->XUngrabServer();

By commenting the XMapWindow (line 486) & XUnmapWindow
calls (line 558) in src/Screen.cc, panel windows behave
as with other windows manager : they do not redraw/flicker.

Why is there mapping and unmapping of an empty window
with Blackbox when switching worskpace ? Everything
seems to work fine without it. At least, as far as I
can tell, I didn't notice any side effect with this
patch for now.

--
Lucien Nardini (aka LiNuCe)

Discussion

  • offname

    offname - 2005-11-02

    Patch to disabling the mapping/unmapping of the empty window when switching workspace

     
  • offname

    offname - 2005-11-16

    Logged In: YES
    user_id=67777

    This patch also removes flicker/redrawing of DockApps
    windows when switching between workspaces. That's two-in-one
    patch :)

    --
    Lucien Nardini (aka LiNuCe)

     
  • offname

    offname - 2005-11-17

    Logged In: YES
    user_id=67777

    There is a problem with it : the workspace label in the
    Blackbox toolbar is not updated when switching between
    workspace. (reported by lenix).

    --
    Lucien Nardini (aka LiNuCe)

     

Log in to post a comment.