Hi Germán,
I had a look at your patch, finally, and gave it a quick try. Here are
my comments.
This attached patch fix the behavior of menu in window. And add code
to
display transient menus in a better way. For example, if the transient
menu is displayed at right side of the screen, its submenus are
displayed to left. This avoids have submenus displayed above its
supermenu, and that not respond properly.
I like the idea of opening menus to the left rather than the right --
but only for the Windows 95 and Macintosh interface styles. I'd also
suggest a slightly different scheme: Open submenus to the right of the
super menu unless there is not enough space on the right side. In that
case start opening submenus on the left of their parent until the
screen fills (indeed, this is how menus work on OS X).
Also, I added code to display the transient menus with one of its
bottom
corners below the mouse cursor (when transient menus are displayed
near
of bottom). With this the transient menus at appicons are more
consistently, and respond correctly. Or I think so.
The change to open menus with their bottom at the mouse cursor looks
less convincing to me. The real problem with menus is that the gui
blindly expects the window manager to place menus at the intended
position and simply ignores information from the backend when the
window manager has decided to place the menu differently. Rather than
fixing the problem, your patch just alleviates it by reducing the
chance that the window manager interferes with the gui's placement.
Try the patch, add changes, discuss the code or apply it. Regards.
Wolfgang
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev