The homebrew menu for the Nintendo Switch has been updated once again but this time with a few new features. It now supports themes for the homebrew menu, nxlink, updated touch controls, battery/charging status display, and it will even create the switch directory if it doesn’t exist.
Features:
- Added message boxes. The envGetLastLoadResult() output is now displayed during startup if needed (error returned by the application which ran last).
- Added nxlink support (netloader).
- The Switch IP address can automatically be determined via UDP broadcast.
- Netloader is handled on a separate thread with non-blocking sockets. UI drawing is not blocked during the transfer.
- The transfer can be aborted via ‘Back’ input.
- If the transfer stopped without finishing, the file is deleted.
- When returning to the main-menu from netloader, the menu is reloaded since the netloader NRO may have been deleted due to the transfer stops.
- Netloader status is displayed in a message-box while netloader is active. This includes transfer progress and a progress bar.
- Fixed buffer overflow vuln with netloader args introduced with the original netloader commit (nothing useful which could cause a crash can be overwritten with an unmodifed
nxlink
). Fixed unrelated bounds check in launchAddArg() which broke once nxlink_host support was added.
- Use system shared-font. Note that the system language is still not used.
- Added touch-controls.
- Added support for themes loaded from SD. If the system theme is not recognized, the used theme will default to the dark theme.
- Added Theme Menu for selecting the used theme, including the default theme.
- Enabled time display, which uses local time.
- The battery/charging status is now displayed.
- Added support for file-associations.
Other Features:
- Replaced nanojpeg with libjpeg-turbo. See README regarding this.
- The switch/ directory is created if it doesn’t exist. Config dirs on SD are now automatically created during startup if needed.
- Display an error screen with print-console instead of using fatalSimple, for errors during startup. Display a message-box in launchFile() for app-launching when an error occurs instead of using fatalSimple.
- Use applet exit-locking.
- Assets are now loaded from a .zip in RomFS instead of embedding it in data/.
- Built with libnx stable v1.5.0.
- Further improvements to overall system stability and other minor adjustments to enhance the user experience.
Download: nx-hbmenu_v3.0.0