Skip to content

Miller column OSD - #137

Merged
henkwiedig merged 21 commits into
OpenIPC:masterfrom
henkwiedig:miller-column-osd
Jul 10, 2026
Merged

Miller column OSD#137
henkwiedig merged 21 commits into
OpenIPC:masterfrom
henkwiedig:miller-column-osd

Conversation

@henkwiedig

Copy link
Copy Markdown
Collaborator
vlcsnap-2026-07-04-09h40m42s519

Rewrites the gsmenu OSD menu from the old lv_menu sidebar model to a descriptor-driven Miller-column menu — every level stays visible side by side, RIGHT/ENTER pushes a column, LEFT/ESC pops. The whole menu tree is now data (colmenu_pages.c), mapped to the same gsmenu.sh get/set protocol as before.

Highlights

  • New engine: column_stack (the column widget) + colmenu (descriptor model, async gsmenu.sh loader with progress/cancel) + colmenu_pages (the page tree). Dynamic column width & height sizing.
  • Old menu removed: deleted the entire lv_menu implementation (~25 files, ~5k lines) — old ui.c, gs_/air_ page builders, and the widget factories in helper.c/executor.c. Live glue relocated to sensible homes (RXMode→menu.h, page structs→executor.h, header→menu.c).

Please test thoroughly !!!

henkwiedig and others added 16 commits July 8, 2026 19:45
Restore old menu behavior: hide menu items that don't apply to the current
receiver mode (WFB vs APFPV). Used internally to gate Camera (size/fps/video
mode) and Telemetry (router/osd_fps) options when in direct APFPV WiFi mode.

- Add colmenu_mode_t enum (COLMENU_MODE_WFB/APFPV) as bitmask
- Add mode_mask field to colmenu_item_t (default 0 = show in all modes)
- Skip items in build_page if mode_mask doesn't match current RXMODE
- Hide WFB-specific Telemetry items (Router, MSPOSD, OSD FPS) in APFPV
- Hide WFB-specific Camera items (Size, Video Mode, FPS) in APFPV

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@henkwiedig
henkwiedig force-pushed the miller-column-osd branch from d419e5b to d2bcabb Compare July 8, 2026 17:47
@henkwiedig
henkwiedig marked this pull request as ready for review July 8, 2026 18:52
@henkwiedig
henkwiedig merged commit 7abb949 into OpenIPC:master Jul 10, 2026
19 of 20 checks passed
@henkwiedig
henkwiedig deleted the miller-column-osd branch July 11, 2026 09:36
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.

1 participant