[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC] Menus in lower left corner, possible patch
From: |
Willem Rein Oudshoorn |
Subject: |
[RFC] Menus in lower left corner, possible patch |
Date: |
09 Mar 2003 21:22:59 +0100 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Michael Hanni <michael@deviant-behavior.com> writes:
> Just a historical note: when I first worked on the menu code many moons ago I
> used override_redirect windows for the menu windows. I never had this race
> problem back then... Of course, using override_redirect windows caused some
> other problems, I just don't remember what they were... sorry. :-)
I just tested the use of the override_redirect flag. Problems:
* With WindowMaker, they are present on all desktops.
* Somehow placement is messed after hiding.
* The X ICCCM documentation explicitly states that using the
override_redirect flag is NOT a good idea when you are not
grabbing the cursor at the same time.
After a short time of experimenting I have found a solution.
However the solution is such a hack that I hardly dare proposing
it.
Solution:
--------
* Just before mapping in a NSBorderLessWindow (**) change
the window attribute override_redirect to True.
* After receiving the MapNotify event, change the window
attribute override_redirect to value back to False.
[**] We should restrict this as much as possible, so
it is probably better to add an additional style flag
like GSBypassWMWhenOrderIn or something along these
lines.
Note: It is NOT a good idea to use this approach for
all windows because this will mess up the normal
window manager placement behaviour.
I have it implemented and it seems to work nicely.
But it is such a terrible hack that I hope that someone
else can solve it better. Please?
At the moment I have a terrible time accessing CVS so
I can not really make a nice patch out of this.
Wim Oudshoorn.