#73 fix minor ROX-Filer pinboard bug under WindowLab wm


I've found a minor problem in how the ROX-Filer
pinboard window (using
the compatibility option to override window manager
control of the
pinboard and panels) interacts with the WindowLab
window manager,
available from http://www.nickgravgaard.com/windowlab/.
The raising and
lowering mechanism used in WindowLab, accessible via
clicking on the
z-order button on an application's titlebar or on that
entry in the taskbar, is based on the following two rules:

1. If the window is not on the top, raise it to the top.
2. If the window is on top, lower it to the bottom.

When rule #2 takes effect, the window is lowered to the
bottom, below
the pinboard window. The latter does lower itself to
the bottom when a
mouse button is clicked on it, but that isn't enough in
this case.
(Note that, for reasons of simplicity, WindowLab
doesn't implement the
NET_WM hints, so it doesn't ensure that windows with
hint are left on the bottom. The attached patch, which
applies cleanly
both to 2.1.2 and the June 22 CVS snapshot, changes
pinboard.c to lower
the pinboard window whenever an expose event occurs,
instead of a
button-click event, which appears to successfully keep
the pinboard
window on the bottom even after a window is raised or


  • Thomas Leonard

    Thomas Leonard - 2004-06-26
    • status: open --> closed-rejected
  • Thomas Leonard

    Thomas Leonard - 2004-06-26

    Logged In: YES

    Lowering on expose events won't work. Consider the case of
    desklets: they must lower too on expose, which will expose
    the pinboard (as they go under it), so it will lower,
    triggering the desklets to lower again... infinite loop.

    This is just a window manager bug, and needs to be fixed
    there. Applications like the filer can't know enough about
    other windows to do restacking correctly (we already have
    the click-to-lower hack, which at least can't get stuck


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks