App Details
WARNING: This will overwrite Tesla Menu if already installed. Includes ppkantorski's nx-ovlloader fork.
Ultrahand Overlay is a Tesla Menu replacement built from the ground up off of libtesla that provides powerful C/C++ commands through the usage of its own custom interpretive programming language (similar to Shell/BASH). It is a versatile tool that enables you to create and share custom command-based packages, providing enhanced functionality for managing files and directories on your SD card.
With Ultrahand, you have the flexibility to customize and shape your file management system according to your needs, empowering you with greater control over your system configurations.
Screenshots
Changelog
v2.1.4
List of changes:
1. New sdout.zip distribution, bundled with all components and dependencies (up-to-date) for easier SD card installations.
- Installs nx-ovlloader+ by default, but users can toggle off Memory Expansion after installing for regular nx-ovlloader.
2. New build ID placeholder variable {build_id}.
3. New system region setting command set-region .
- is either JPN, USA, EUR, AUS, HTK, or CHN.
- Side-note:- Reboot is required for changes to apply.
4. Bug fix for refresh wallpaper.
5. Various code optimizations and restructurings.
6. Stability related bug fixes.
v2.1.3
Stability Update
List of changes:
1. Bug fixes for regular toggles (state was not being preserved in config.ini).
2. Bug fixes for toggles in the root package (/switch/.packages/package.ini).
3. Restoration of the {index} source function placeholder (was accidentally removed at some point over time).
v2.1.2
Stability Update
List of changes:
1. Rendering bug fix for regular TrackBar objects / uniform rounded rects.
- Uniform rounded rects in some circumstances when drawn off screen could cause crashes.
- Side-note:- Did not affect StepTrackBar/ NamedSteptrackBar.
2. Left / right sensitivity fix for value transitions on regular TrackBar objects have been adjusted for precision.
3. Various method restructurings.
v2.1.1
List of changes:
1. Toggles now utilize the interpreter thread with state change only applied for successful completion.
2. New true/false command option ;progress= for toggle commands to show the command in progress throbber.
3. Memory related improvements to move/mv with file logging and compare.
- This fix enables base loader to properly handle large move commands with proper file logging (as seen in Alchemist's content manager).
4. Bug fix for {local_ip} placeholder not returning the local IP address.
5. Various minor code optimizations.
v2.1.0
List of changes:
1. New system notifications implementation.
- There are 3 ways to interface with system notifications.
a. Ultrahand Package: notify [FONT_SIZE] or notification [FONT_SIZE]
b. Direct libtesla calls:- tsl::notification->show(, [FONT_SIZE], [PRIORITY]);
c. External json calls: {"text": , "font_size": [FONT_SIZE], "priority": [PRIORITY]}
- Font size is an optional parameter, default value 28.
- Priority is an optional, with jsons always assume priority 10 while Ultrahand packages / direct calls assume priority 20.
- Creation time for jsons is auto prioritized for everything within the same priority level.
- For external json calls, jsons can be written to /config/ultrahand/notifications/-.notify.
- This function allows any program, including sys modules, to interface with the notification prompts.
- New theme color for notification text: notification_text_color
- Notice:- Overlays must be compiled with the latest libultrahand for system notifications within those overlays.
2. New overlay / package setting option to delete an overlay / package. (Hold A to Delete)
3. New Miscellaneous options for toggling on / off notifications and show delete.
4. New notifications for startup, new version detection, and when reboot is required for changes to apply.
5. New page for empty selection commands.
6. New placeholder variable for returning the current local ip address, called {local_ip}.
7. New package header option ;display_title= for displaying an alternative in package display title.
8. Category headers now auto-scroll right to left for extended text.
9. Improvements to package memory usage.
- Pages are no longer held up in memory for deeper menu navigation.
10. Improvements to dot-clean, faster file processing completion.
11. Improvements package item jumpToItem calls.
- Full command names, including tags, are now properly utilized for specific item name isolations.
12. Package settings now groups various package options into an Options category.
13. Command file / folder paths can now properly use .. to specify the directory above a current folder.
- i.e. './../test/' will return the folder named test above the current directory the package ini is currently running from.
14. Settings and favorites buttons are now displayed on the menu within the Packages and Overlays category headers.
15. Bug fix for wallpaper alpha when hiding overlays.
- Proper fading with alpha transitions.
16. Interpreter thread bug fixes for safer rapid launches.
17. Bug fixes for the command parser; proper order of operation resolution for nested placeholder replacements.
v2.0.1
List of changes:
1. Overlay interaction (including button combinations) is now strictly limited to handheld mode controller as well as the player 1 controller.
- In the past, when other controllers click buttons, because the overlay looked for all controller inputs the sum of all buttons being clicked could trigger the menu or launch a combo unintentionally.
- This fix was set in libultrahand, so all overlays compiled with it will now include this fix.
2. Underscan and "right-side mode" bug fixes and adjustments.
- Users no longer need to exit the overlay for the underscan fix to correct the overlay dimensions (auto-corrections).
- Right-side mode is auto applied now when clicked in the settings menu with no need to reload.
- Fix is also in libultrahand, so it will apply to all newly compiled overlays.
3. Launch combo mode settings is now rendered within its own dropdown instead of being drawn directly within the root of overlay setting's menu (when specified).
4. Various minor corrections.
v2.0.0
List of changes:
1. New combo package launcher (similar to the overlay launcher).
- Users can set any package to key combos.
- New Quick Launch package setting (for disabling Boot Commands for the package during combo launches).
- More button combinations have also been added to the list.
2. New command open for opening overlays (with or without launch arguments) from the package menu.
- Called open /path/to/overlay.ovl {LAUNCH_ARGUMENT_1} {LAUNCH_ARGUMENT_2} {...}
- Overlays can now be compiled to handle specific tasks for Ultrahand packages.
3. Buttons ZL and ZR will now skip the menu exactly one viewport's distance up or down.
- Multiple clicks and hold will trigger rapid page skipping.
- This should allow for quicker and easier menu navigation, as well as table scrolling.
4. New atmosphere updater functionality.
- To use, copy / move / unzip files into place as you would expect (overwriting stratosphere and package3 in /atmosphere/).
- Instead of being overwritten, the files will be assigned a .ultra extension.
- After files have been moved into place, any reboot command will automatically trigger the Ultrahand Updater payload.
- This payload is downloaded once the moment reboot is ran after installing Atmosphere as well as during software updates.
- Users must reboot from Ultrahand Overlay itself for changes to apply.
5. libultrahand detection for overlays compiled with libultrahand.
- Highlight colors for overlays with libultrahand functionality.
- Recompilation of all libultrahand overlays is needed with the new Ultrahand signature added (see Makefile).
6. New command dot-clear, called dot-clear .
- This command will remove all metadata files that begin with ._ from any specified directory (as well as all subdirectories).
- This is useful for users who transfer files and mods over to their SD card from macOS.
- Side-note:- These metadata files can cause issues with mods, so clearing them can be quite useful.
7. New theme color configurations and updates to the default theme as well as ultra.ini and ultra-blue.ini.
- banner_version_text_color: Default color of the version label below the Ultrahand title.
- overlay_text_color: Default color for overlay titles.
- overlay_version_text_color: Default color for overlay versions.
- ult_overlay_text_color: Default color for libultrahand compiled overlay titles.
- ult_overlay_version_text_color: Default color for libultrahand compiled overlay versions
- package_text_color: Default color for package titles.
- package_version_text_color: Default color for package versions.
- ult_package_text_color: Secondary color for package titles.
- ult_package_version_text_color: Secondary color for package versions.
- text_separator_color: Default color for text separator symbols.
- selection_value_text_color: Default color for the selection value.
- Side-note:- Users may want to re-apply the default theme once for some of the changes to apply.
8. Proper input isolation so menu navigation buttons do not interfere with combos and vise versa.
9. Thread safe ini, hexing, file operations, and page swapping.
- New libultrahand command swapTo to safely handle swapping between pages (goBack / pop + changeTo).
10. The Miscellaneous settings menu has been re-organized and now includes Theme Settings.
- Theme settings includes options that allows you to toggle on and off various theme configurations.
11. On return from within package dropdowns / forwarders, the page is now automatically refreshed.
- All command footers and tables will automatically redrawn.
12. Package headers can now utilize ;show_widget=true for rendering the widget.
13. Dropdown menu commands can now utilize ;mode=slot for changing the dropdown symbol to the option symbol.
14. Software update now installs nx-ovlloader / nx-ovlloader+ v1.1.1 (latest release).
- Bug fixes for rapid overlay swapping, reduced file io calls, better memory mapping, and slight optimizations.
15. Language changes are now instantly applied to the menu from within the language selection.
16. Faster menu drawing.
17. Buffer sizes for nx-ovlloader+ (memory expansion) are now loaded immediately during overlay launch.
- Slight buffer size tweaks for base loader.
18. Slight improvements to Swipe To Open.
19. Slight redesigns to various text components within the overlay.
20. Rendering related fixes and improvements.
21. Fixes to file list generation from copy and move to include subdirectories.
- This functionality allows Mod Alchemist to properly handle the removal of folders when appropriate for toggling content mods.
22. Numerous bug fixes, memory optimizations, navigational fixes and alignment corrections.
- Significantly reduced memory pressure throughout numerous methods.
- Countless code optimizations and better memory handling.
- Bug fix for step track-bar values vanishing.
- Touch related fixes (long touch and release).
- Dangerous pattern bug fixes.
- json_file / json_file_source bug fixes.
- Many other fixes not mentioned.