More actions
No edit summary |
No edit summary |
||
Line 25: | Line 25: | ||
*Move Files or Directories -Provide the source file or directory path and the destination directory path, and Ultrahand will take care of moving them, ensuring their seamless relocation. | *Move Files or Directories -Provide the source file or directory path and the destination directory path, and Ultrahand will take care of moving them, ensuring their seamless relocation. | ||
*Modify INI Files - You can update existing key-value pairs, add new entries, or even create new sections within the INI file. Ultrahand makes it easy to customize and tailor the configurations of your INI files. | *Modify INI Files - You can update existing key-value pairs, add new entries, or even create new sections within the INI file. Ultrahand makes it easy to customize and tailor the configurations of your INI files. | ||
*Hex Edit Files - Edit the binary data directly, allowing for precise control over your data. | |||
*Provide a convenient command-line interface to perform various file management functions. | *Provide a convenient command-line interface to perform various file management functions. | ||
Line 45: | Line 46: | ||
<pre> | <pre> | ||
[make directories] | [make directories] | ||
mkdir / | mkdir /switch/.packages/example1/ | ||
mkdir / | mkdir /switch/.packages/example2/ | ||
[copy files] | [copy files] | ||
copy / | copy /switch/.packages/config.ini /switch/.packages/example1/ | ||
copy / | copy /switch/.packages/config.ini /switch/.packages/example2/ | ||
[rename files] | [rename files] | ||
move / | move /switch/.packages/example1/config.ini /switch/.packages/example1/configX.ini | ||
move / | move /switch/.packages/example2/config.ini /switch/.packages/example2/configX.ini | ||
[move directories] | [move directories] | ||
move / | move /switch/.packages/example1/ /switch/.packages/example3/ | ||
move / | move /switch/.packages/example2/ /switch/.packages/example4/ | ||
[delete files] | [delete files] | ||
delete / | delete /switch/.packages/example1/config.ini | ||
delete / | delete /switch/.packages/example2/config.ini | ||
[delete directories] | [delete directories] | ||
delete / | delete /switch/.packages/example1/ | ||
delete / | delete /switch/.packages/example2/ | ||
delete / | delete /switch/.packages/example3/ | ||
delete / | delete /switch/.packages/example4/ | ||
[modify ini file] | [modify ini file] | ||
copy /bootloader/hekate_ipl.ini / | copy /bootloader/hekate_ipl.ini /switch/.packages/ | ||
set-ini-val / | set-ini-val /switch/.packages/hekate_ipl.ini 'Atmosphere' fss0 gonnawritesomethingelse | ||
set-ini-val /switch/.packages/hekate_ipl.ini 'Atmosphere' booty true | |||
</pre> | </pre> | ||
Revision as of 03:14, 23 July 2023
Ultrahand Overlay | |
---|---|
General | |
Author | ppkantorski |
Type | Overlays |
Version | 1.2.0 |
License | MIT License |
Last Updated | 2023/07/22 |
Links | |
Download | |
Website | |
Source | |
Ultrahand Overlay is a C++ program designed to provide a user-friendly main menu overlay for performing various file operations on different platforms, including the Nintendo Switch.
Inspired by the new Zelda feature, Ultrahand lets you unleash your creativity and shape your digital experiences like never before. It uses the Tesla library to create an interactive menu interface and allows you to perform actions such as creating directories, copying files, renaming files, moving directories, deleting files, and parsing INI files.
Note: Running homebrew software on your Nintendo Switch may void your warranty and carry certain risks. Ensure that you understand the implications and follow the appropriate guidelines and precautions when using homebrew software.
Features
- Create Directories - Simply specify the directory path, and Ultrahand will create directories for you.
- Copy Files or Directories - Just provide the source file or directory path and the destination file or directory path, and Ultrahand will handle the copying process seamlessly.
- Delete Files or Directories - By specifying the file or directory path, Ultrahand will promptly remove it for you, making the deletion process hassle-free.
- Move Files or Directories -Provide the source file or directory path and the destination directory path, and Ultrahand will take care of moving them, ensuring their seamless relocation.
- Modify INI Files - You can update existing key-value pairs, add new entries, or even create new sections within the INI file. Ultrahand makes it easy to customize and tailor the configurations of your INI files.
- Hex Edit Files - Edit the binary data directly, allowing for precise control over your data.
- Provide a convenient command-line interface to perform various file management functions.
Installation
In order to run the Ultrahand File Management System on the Nintendo Switch, you need to have the necessary homebrew environment set up on your console.
How to setup Ultrahand:
- Place the .ovl file into the /switch/.overlays/ directory on your Switch's SD card.
- Make sure you have nx-ovlloader and Tesla Menu installed.
- Create a directory named ultrahand in the config folder on your SD card.
- Place the config.ini file in the ultrahand directory (or sub-directory). This file contains the configuration options for Ultrahand.
- Your commands will show up on the Tesla Menu (L+D-Pad Down+Right Stick Button) within the Ultrahand overlay.
User guide
Configuration options
The config.ini file contains multiple sections, each defining a set of commands that can be executed. The sections are enclosed in square brackets [ ], and the commands are listed below each section.
Here's an example of the config.ini file:
[make directories] mkdir /switch/.packages/example1/ mkdir /switch/.packages/example2/ [copy files] copy /switch/.packages/config.ini /switch/.packages/example1/ copy /switch/.packages/config.ini /switch/.packages/example2/ [rename files] move /switch/.packages/example1/config.ini /switch/.packages/example1/configX.ini move /switch/.packages/example2/config.ini /switch/.packages/example2/configX.ini [move directories] move /switch/.packages/example1/ /switch/.packages/example3/ move /switch/.packages/example2/ /switch/.packages/example4/ [delete files] delete /switch/.packages/example1/config.ini delete /switch/.packages/example2/config.ini [delete directories] delete /switch/.packages/example1/ delete /switch/.packages/example2/ delete /switch/.packages/example3/ delete /switch/.packages/example4/ [modify ini file] copy /bootloader/hekate_ipl.ini /switch/.packages/ set-ini-val /switch/.packages/hekate_ipl.ini 'Atmosphere' fss0 gonnawritesomethingelse set-ini-val /switch/.packages/hekate_ipl.ini 'Atmosphere' booty true
You can add your own sections and commands to customize the actions performed by Ultrahand.
Note: The paths specified in the commands should be relative to the SD card root directory and should start with /.
Command reference
Ultrahand supports the following commands:
mkdir <directory_path>
: make or mkdir: Creates a directory.copy <source_file_path> <destination_file_path>
: copy or cp: Copies a file or diectory.delete <file_path>
: delete or del: Deletes a file or directory.move <file_path> <destination_directory_path>
: move or mv: Moves/renames a file/directory to a new location/label.set-ini-val <file_to_edit> <desired_section> <desired_key> <desired_value>
: set-ini-val or set-ini-value: Edits an INI file by updating a section with a desired key-value pair.set-ini-key <file_to_edit> <desired_section> <desired_key> <desired_new_key>
: set-ini-key: Edits an INI file by updating a section with a new key.new-ini-entry <file_to_edit> <desired_section> <desired_key> <desired_value>
: new-ini-entry: Edits an INI file by adding a new entry to a section.
Make sure to follow the correct syntax and provide the required arguments for each command.
You can configure these commands in the config.ini
file by specifying them under the corresponding options. Be sure to provide the necessary arguments as described for each command.
Controls
A - Execute any command
X - View the individual command lines written in the ini for execution
Screenshots
Compatibility
HOS 16.0.0+.
Changelog
1.2.0
- Commands now state "DONE" after pressed.
- Bug fix for "set-ini-value". Issue was that for a new entry, it would inject the new entry into every section.
- Simple fix, but since its bound to affect someone's project eventually, I'm updating the release.
1.1.9
- Bug Fixes: Static menu variable and rootFrame handling.
- These bug fixes potentially resolve the menu handling issue that occasionally can occur for some testers.
- Overall it should be more stable with static implementations of the particular variables I modified.
1.1.8
- Introduction of footers for commands.
- Testing potential bug fix for handling menu input.
- This issue is not very common, but occasionally the menu can get locked into a weird orientation, preventing you from moving to packages or overlays at times. Its hard to figure out the exact trigger, but I've attempted to address the issue here. Pre-release will be dropped after more testing. If you see this bug on this version, do let me know in issues.
1.1.7
- Download and unzip files implementation has been added.
- Command to download:
- download <FILE_URL> <DESTINATION_FILE_OR_FOLDER>
- Command to unzip:
- unzip <SOURCE_FILE> <DESTINATION_FOLDER>
- CURL has made it a bit beefier as you can tell, but the potential benefits are pretty great for having these commands handy. Lots of new packages can be made for updating and installing software.
- update: slight bug fix for handling more URLs (07/07/2023)
- update: bug fix for unzip and createDirectories (07/08/2023)
1.1.6
- Move commands now create directory if the directory does not exist.
- Bug fix for exiting main menu that can sometimes occur when exiting (locked users in the menu until an item is selected).
- Multiple filters are now implemented. filter, filter_on, filter_off calls will store your filter path into a list.
1.1.5
- Bug fix for those who specify their default menu mode instead of resorting to last_menu.
- Several cosmetic improvements.
- Easier transition from Tesla Menu by copying combo from sdmc:/config/tesla/config.ini if it exists and the combo is not within sdmc:/config/ultrahand/config.ini.
- update: more cosmetic improvements after initial release (only difference)
1.1.4
- Ultrahand is now a replacement for ovlmenu.ovl.
- Ultrahand packages are now relocated to sdmc:/switch/.packages/.
- Ultrahand specific settings are now stored in sdmc:/config/ultrahand/config.ini.
- Left on the menu takes you to your overlays.
- Right on the menu takes you to your packages and commands.
- More improvements to come.
1.1.3
- Introduction of more selection command features.
- Multi-wildcard statements.
- New functions 'mirror_copy' and 'mirror_delete' for implementing mirror functions on directory contents.
- All copy functions now create destination directories.
1.1.2
- Selection (wild card commands) toggles are now implemented.
- Simple one line filter added. (see updated examples).
1.1.1
- Introduction of wildcard commands (new command-type).
1.10.0
- Pre-release: Testing new hex editing functions.
- New commands "hex-by-offset", "hex-by-swap", "hex-by-decimal", "hex-by-rdecimal"
- Still needs more testing to confirm full functionality, but since it appears to be compiling properly ill leave it here for now for testing.
1.0.9
- Implemented safeguards so you don't delete or move your entire SD card or essential files. Still have more features to implement for this version, it should be better than using 1.0.8 but since I made changes that need review I am still calling it pre-release for now.
- Update: More advanced pattern searching. Multiple wildcards. 2:42 AM PST 06/08/2023
- Update: Updated safeguards for more advanced patterns. 3:16 AM PST 06/08/2023
1.0.8
- Added new feature "new-ini-entry" and restored original example config.ini generated if no config is present.
v1.0.7
- Improvements to menu. Version handling for user packages.
v1.6
- More improvements, "edit-ini" commands have now been labeled "set-ini". You can also press X on an individual command and see and execute individual lines within.
- Update: Faster copying. - 05/31/23 4:19PM PST
- Update: Even faster copying. - 05/31/23 4:35PM PST
- Update: Slight size reduction. - 06/01/23 6:34PM PST
v1.0.5
- Too many bug fixes with statement logic.
- Ability to execute individual commands from a package have been added (press X on package).
- More slight tweaks and capabilities packed into the functions.
- Update: Fixed editINI adding new lines by mistake. - 05/29/23 05:16 PM PST
- Update: Fixed copy directory not copying subdirectories. - 05/29/23 05:59 PM PST
- Update: Edit ini key or value now. - 05/29/23 09:40 PM PST
v1.0.4
- Slight tweaks to libtesla. This is pre-release, but it is still commits ahead of 1.0.3 and stable.
- Update: Got new features as well as pattern searching implemented. New documentation coming soon. 05/29/23 9:11 AM PST
v1.0.3
- Improvements to code structure, menu layout, new commands (reset, shutdown), etc.
- Update: Copy function now can rename to file as well as copy to directory. This makes it simulate "cp" a bit better. - 05/27/23 7:37 AM PST
- Update: Fixed edit-ini bugs. - 05/27/23 2:21 PM PST
- Update: Fixed even more edit-ini bugs. Should be working. - 05/27/23 3:27 PM PST
- Update: Fixed one last edit-ini bug for handling command. Testing safer reboot method. - 05/27/23 9:40 PM PST
v1.0.2
- Folders have now been added.
- Future plans: cleaner UI, separation for "Packages" and "Commands" sections with titles.
- Update: Fixed a bug that occurred with linking folders. - 05/28/23 05:59 PM
v1.0.1
- New feature 'parse-ini'.
- Update: Delete directory bug fix. - 05/28/23 8:11 AM PST
v1.0
- First Release.
- Update: Improved structure and examples for testing. - 05/25/23 5:52 PM PST