Wed 13 Sep 2006 05:34:46 AM UTC, comment #2:
Thanx.
As for the window types,
the problem is the when gui asks backend to create a window,
backend has no knowledge about what this window is for.
Therefore, it has to use other information (window level) to decide
this window is for menu, normal window, modal panel or popup menu.
If there is a information from gui to tell backend
what kind of window it needs,
backend may be able to create a window which behaves better.
Anyway, just a suggestion.
|
Wed 13 Sep 2006 12:07:23 AM UTC, original submission:
In save panel in Ink.app or Gorm.app,
the popup menu does not work with GNOME or EWMH window manager.
It is because the save panel is declared as modal in xwindow,
but the popup menu is not.
Therefore, the popup menu is always placed under the save panel.
I attach a patch to declare popup menu always modal.
It tricks the window manager to put it in front of a modal window.
Since popup menu disappear when mouse button is released,
declaration of modal does not have real side effect on other windows so far.
Of course, more tests are needed.
Another solution is to have a window level to mark a popup menu
for a modal window, not a normal window,
ex. GSModalPopupMenuWindowLevel.
Then it can be properly set in backend.
Another suggestion is that it would be nice to have an internal
flag to mark the difference of menu, panel, window, etc.
Currently, it depends on window level,
but I guess it is not what window level is intended to do
since the level can be arteibrary.
By the way, since the GNOME adapts EWMH mostly,
I guess it is not necessary to handle GNOME window manager
separately from EWMH anymore.
It may reduce the maintaince on x11 backend.
|