Skip to content

Conversation

@MrXANA91
Copy link

@MrXANA91 MrXANA91 commented Dec 23, 2025

Original PR --> coredevices/PebbleOS#637

This PR adds a scroll wrap around capability to the MenuLayer ui object.

23.12.2025_11.27.16_REC.mp4

Behavior

Pressing the 'up' button when the first element of the MenuLayer is selected will wrap around and bring the cursor to the last element.
Pressing the 'down' button when the last element of the MenuLayer is 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_around function. This PR enables the functionality on every MenuLayer used accross the firmware apps using the FW_APPS_MENUS_WRAP compile config (enabled with ./waf configure --enable-menu-wrap ...)

Here is a list of the apps affected by this change
  • notifications_app
  • watchfaces
  • alarm_editor
  • alarms
  • health_detail_card
  • launcher_menu_layer
  • send_text
  • settings_system
  • settings_window
  • settings
  • workout_selection

Known bug(s)

  • If holding the 'up' button when cursor is at the 2nd element, wrap around will still be applied. Same when holding the 'down' button when cursor is at the penultimate element.

Related issue(s)

Fix #284

@MrXANA91 MrXANA91 changed the title MenuLayer: scroll wrap around capability MenuLayer: scroll wrap around Dec 23, 2025
Add a compile flag to enable that behavior for firmware apps like the system menu

Signed-off-by: Paul Chanvin <[email protected]>
@MrXANA91 MrXANA91 force-pushed the menuLayerWrapAround branch from 93be638 to 55ea708 Compare December 23, 2025 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve main menu scrolling

1 participant