|
From: | Wolfgang Lux |
Subject: | Re: Last change in NSMenuView.m |
Date: | Mon, 24 Jan 2011 08:52:01 +0100 |
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 todisplay 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 nearof 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
[Prev in Thread] | Current Thread | [Next in Thread] |