Paginate the Launcher
The conference badge ships without menu pagination, so the launcher hides any app past slot six. Swap in the paginated menu/__init__.py from the Tufty repo to unlock scrolling.
Prerequisites
- Badger 2350 connected over USB (mounted as the badger volume)
- Web browser and VS Code ready
Steps
- Create an override copy of the menu app (first time only)
- Open the badger volume in Finder or File Explorer.
- Copy
system/apps/menuand paste it intoapps/so you haveapps/menuyou can edit safely.
- Back up the current launcher file
- In Finder or File Explorer, duplicate
badger volume/apps/menu/__init__.pyand rename the duplicate to__init__-backup.pyin the same folder (or drag a copy to your desktop).
- In Finder or File Explorer, duplicate
- Grab the paginated source from GitHub
- In your browser, open
badge/apps/menu/__init__.py. - Click Raw, select all, and copy the contents.
- In your browser, open
- Replace the launcher code in VS Code
- In VS Code, open
badger volume/apps/menu/__init__.py. - Select the existing contents, paste the code you copied from the Raw view, and save the file.
- In VS Code, open
- Eject the badger volume, tap
Reset, and let the badge reboot into the updated launcher.
What Changed
The patched launcher keeps a moving window of six icons per page and wraps input between pages:
APPS_PER_PAGE = 6
current_page = 0
...
if active >= len(icons):
if current_page < total_pages - 1:
current_page += 1
icons = load_page_icons(current_page)
active = 0
See the upstream file for the full implementation: badge/apps/menu/init.py.
Verify
- From the launcher, press
Cuntil selection moves off the grid—pagination should advance to the next set of apps. - Confirm the page indicator (e.g.
1/2) renders in the lower-right corner.
Rollback
Restore the backup if you need the stock launcher:
Open the backup you made in step 2 (either the duplicate file beside __init__.py or the copy on your desktop), paste its contents back into badger volume/apps/menu/__init__.py with VS Code, save, and reboot the badge.