-
Notifications
You must be signed in to change notification settings - Fork 404
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The Laundry List of Linux Menu UI Problems #617
Comments
@tank-trax and @rghvdberg tagging you on this issue as you've both mentioned these things to me I think. |
Confirmed about the item 2 |
I'd like to have the visual indicators |
OK the reason for enter not working is pretty clear. vstgui doesn't respond to enter! look at the onkeydown Also that esc handler doesn't work well at all. Segfaults for me I'll see if I can figure it out quickly. |
Move the VSTGUI pointer one last to sweep my change to vstgui which makes enter work in genericoptionmenu. Addresses the more important of the two issues in #617
Enter now works at master. |
Ahh and @tank-trax reports that menus still misplace at zooms < 100%. Let me add that to this issue too which we can use as a placeholder for linux menu problems generally until they are all gone. |
Linux menu GUI problems. #536 is the linux menu callback issue. |
This would be a best case scenario so in essence a Feature Request. In Windows when the Mouse navigates over the Preset Menu there is a delay so that the sub-Menu will not expand unless the mouse lingers for a bit. As well, there are Arrows at the top and bottom. Active only if there are items the exceed the boundaries. In Linux, Ardour has a similar features (delay and up/down arrows) for its Menus. Currently there are two options for Linux. Up, Down, Left, Right Arrows and Enter allow for efficient and seamless navigation and selections. When scrolling up and down using the Arrows on the Keyboard the sub-Menus will not expand. They only expand when using the right arrow and the either up or down will start the scrolling on the sub-Menu. Using the Mouse to navigate will always expand the sub-Menus. Once the bottom of the Menu is reached the Scroll Wheel on the Mouse is needed to get to the items below. Ideally
|
Thanks again for a great and clear report @tank-trax - I'm not working on this now but let me add some comments for the intrepid linux dev who chooses to! These problems are all in vstgui; specifically in Of the two issues, the painting of an arrow is the easier. In ::setupGenericOptionMenu you can see where both the view rect is clipped to the frame and also where the offset is calculated. Look around like 450 as of this writing. Then later around line 504 you bound the viewRect by the frame size. So to do the glyphs, probably want to do something around that bound which checks clipping and choses to put the glyphs on. But it's not easy because the menu actually doesn't know it is clipped; it is just sailing around in offset space with a cliprect. The actual painting of the menu happens in The second one is quite a bit harder. The opening of submenus happens two places in genericoptionmenu. (1) when you press VKEY_RIGHT and (2) in the onMouseMoved handler. To get the effect you want you would want to add a function called "delayedOpenSubMenu()" which sets a timer (somehow) to call openSubMenu then call that from dbOnMouseMoved and also from the keyboard up down navigation. The trick is you need to cancel that timer if you move out of the cell so the state management is hard as well as the timer management. But that's where the code has to go. And after those changes are happened, we need to roll em up and submit em as a PR to steinberg. That's a bit tricky. So if you are going to work on this issue, please do tag me here and I can give you some tips. |
I noticed Enter does not work when using up, down, left, right arrows on Menus it last worked on a build dated 02/19/2019 10:30 PM on the next build dated 02/20/2019 at 05:31 PM |
I just took a quick look and it worked for me. Could your vstgui be stale? Does "git status" show you at master? Did you "git pull" and "git submodule update --init --recursive"? Also do you see this version?
|
is the correct rev sorry |
@baconpaul as per your request the example of the menu ghosting/lag |
Move the VSTGUI pointer one last to sweep my change to vstgui which makes enter work in genericoptionmenu. Addresses the more important of the two issues in surge-synthesizer#617 Former-commit-id: a348feecd29db89db56d69ae96493a5d773131d0 [formerly 3b05091] Former-commit-id: fa67e8be5903546ca3e56558064eafdf1c44405d Former-commit-id: aa79d5658263ec10f408fe10f436a2a685441233
I'd like to resurrect this request if possible the latest improvements to the menus in Linux have been significant, greatly appreciated, the stability, quickness of response and that the ghosting no longer happens was wondering if these modifications could be implemented
|
I actually think the menus are pretty good now with both the animation and opening side fixed. @tank-trax if you think there's anything still needing doing in this issue lets open a separate more specific one but I'm gonna close this. |
@baconpaul the only other thing I'd like to see added would be....
apart from that the menu in Linux is in very good shape (the expanding on left for FX and Menu being a huge improvement for workflow) |
oh yeah thanks. lemme re-open and see if that's hard |
Just gonna make it a separate issue |
So we have fixed almost all the UI problems with linux menus (there is still the callback problem which means some don't work).
There's only two small changes needed
1: Do we want to add a visual indicator (like a little 'down arrow' and 'up arrow') at the top of menus when they clip? I think so but that's a change to genericoptionmenu in vstgui
2: Enter doesn't select an item when you navigate with the keyboard. Again probably somewhere in genericoptionmenu.(This is done and in master and is also merged with vstgui)The text was updated successfully, but these errors were encountered: