-
Notifications
You must be signed in to change notification settings - Fork 99
MenuLayer: scroll wrap around & vibes #637
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
base: main
Are you sure you want to change the base?
Conversation
|
There might have been a better way to implement this, my first thought was to tinker with the Known bug might not be that troublesome, leaving the decision to the Core Devices team if a fix is needed. Marking this PR as ready. |
703e69a to
039ea66
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have one note, otherwise I am fine with this change though, well implemented!
039ea66 to
273009f
Compare
jplexer
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but requesting review from Eric because it changes the menu behavior
|
I think someone will need to use this build for a week or two before we consider merging |
I assume you are talking about someone from Core or Rebble which makes sense. Happy Holidays! 🎄 |
|
After actively using this build for around 2 weeks, here is my feedback : I am converting this PR back to draft, so I can implement the following:
Edit: "system prefs" nnnnnope, I need to better understand how the settings are handled, I only knew about system prefs but they are for very specific global things, not the kind of settings I need here. I will probably call for some help on this, at least to understand the whole settings thing. |
273009f to
51d2fe9
Compare
|
thanks so much for testing it so much and gathering feedback! I know it takes more work but it's really appreciated. |
51d2fe9 to
d07a15c
Compare
I can still try to implement what I've planned and will keep the default behavior. But I completely understand the will to not bloat the firmware with every watch settings.
No problem! This is fun |
04172c1 to
e76b0fb
Compare
|
I've implemented everything I've said except the system toggle options in the UI. You won't be able to test those new functionalities without changing some default values in the I've also decomposed the different changes into three different commits for clarity. I will test a special build that will allow me to toggle and tests those options on my watch, so I can again give some feedback. Requesting new review. |
e76b0fb to
4544d69
Compare
jplexer
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason why you created menu_preferences.c and didn't just include it in prefs.c?
Including it in prefs.c would allow us to really really easily integrate it into mobile settings once we ship that!!
I got scared by this comment in // Shell Preferences
//
// These are preferences which must be available for querying across all shells
// and which must be implemented differently depending on the shell compiled in.
// Only preferences which are used by common services and kernel code meet these
// criteria.
//
// NEW PREFERENCES DO __NOT__ BELONG HERE WITHOUT A VERY GOOD REASON.I felt like the new prefs I wanted to implement didn't really belong here. If you tell me that it would be better for everyone for those prefs to be here, I can do that. |
4544d69 to
fbdecb7
Compare
|
Force-pushed with the new implementation using Requesting new review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! We'll integrate this into the mobile app settings sync (soon!)
fbdecb7 to
bad4746
Compare
…abilities Signed-off-by: Paul Chanvin <paul@paulchanvin.fr>
Signed-off-by: Paul Chanvin paul@paulchanvin.fr
Signed-off-by: Paul Chanvin paul@paulchanvin.fr
bad4746 to
b2d19fb
Compare
This PR adds a scroll wrap around capability to the
MenuLayerui object, alongside some vibe functionalities.23.12.2025_11.27.16_REC.mp4
New behaviors
Scroll wrap-around
Pressing the 'up' button when the first element of the
MenuLayeris selected will wrap around and bring the cursor to the last element.Pressing the 'down' button when the last element of the
MenuLayeris selected will wrap around and bring the cursor to the first element.However, wrap around will not be applied when holding down the 'up' or 'down' button, and cursor will still lock on the first or last element.
This wrap-around functionality is disabled by default but can be enabled with the
menu_layer_set_scroll_wrap_aroundfunction.Vibe on cursor blocked / vibe on wrap-around
A small 50ms vibe can be activated on wrap-around, or when blocked. Those two behaviors are mutually exclusive (setting one to true will set the other to false).
Those are also disabled by default, but can be enabled using the
menu_layer_set_vibe_on_wrapandmenu_layer_set_vibe_on_blockedfunctions.Menu prefs
This PR also implements some new prefs to enable those new capabilties on every
MenuLayerused accross the firmware system apps. No UI to change those prefs have been implemented in this PR though.Here is a list of the apps affected
Known bug(s)
Scroll wrap-around: if holding down the 'up' button when cursor is at the 2nd element, wrap around will still be applied. Same when holding down the 'down' button when cursor is at the penultimate element.<-- No longer observed with last buildRelated issue(s)
Fix #414