Ultrahand Overlay Switch

From GameBrew
Revision as of 04:39, 5 June 2023 by HydeWing (talk | contribs) (Created page with "{{Infobox Switch Homebrews |title=Ultrahand Overlay |image=ultrahandoverlayswitch.png |description=The fully craft-able overlay executor. |author=ppkantorski |lastupdated=2023/06/02 |type=Overlays |version=1.0.7 |license=MIT |download=https://dlhb.gamebrew.org/switchhomebrews/ultrahandoverlayswitch.7z |website=https://gbatemp.net/threads/ultrahand-overlay-the-fully-craft-able-overlay-executor.633560/ |source=https://github.com/ppkantorski/Ultrahand-Overlay |donation= }}...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Ultrahand Overlay
File:Ultrahandoverlayswitch.png
General
Authorppkantorski
TypeOverlays
Version1.0.7
LicenseMIT License
Last Updated2023/06/02
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. 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.

Features

Ultrahand is a command-line tool that provides functionality for managing files and directories on an SD card. It offers the following features:

  • Create directories: You can use Ultrahand to create directories on your SD card. Simply specify the directory path, and Ultrahand will create it for you.
  • Copy files: Ultrahand allows you to copy files from one location to another on your SD card. Just provide the source file path and the destination file path, and Ultrahand will handle the file copying process.
  • Delete files: With Ultrahand, you can easily delete files from your SD card. Just specify the file path, and Ultrahand will remove the file for you.
  • Move files: Ultrahand enables you to move files from one directory to another on your SD card. Provide the file path and the destination directory path, and Ultrahand will handle the file movement for you.

Nintendo Switch Compatibility

It is compatible with the Nintendo Switch, allowing users to manage files and perform file operations directly on their Switch console. To run the Ultrahand File Management System on the Nintendo Switch, you need to have the necessary homebrew environment set up on your console. Once you have the homebrew environment set up, you can transfer the compiled executable file to your Switch and launch it using the Tesla Overlay. Please note that running homebrew software on your Nintendo Switch may void your warranty and carry certain risks.

Getting Started

Compilation Prerequisites

To compile and run the program, you need to have the following dependencies installed:

  • TESLA library
  • Standard C++ libraries

Usage

To use Ultrahand, follow these steps:

  1. Create a directory named ultrahand in the config folder on your SD card.
  2. Place the config.ini file in the ultrahand directory. This file contains the configuration options for Ultrahand.
  3. Launch Ultrahand by executing the compiled binary.

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 /config/ultrahand/example1/
mkdir /config/ultrahand/example2/

[copy files]
copy /config/ultrahand/config.ini /config/ultrahand/example1/
copy /config/ultrahand/config.ini /config/ultrahand/example2/

[rename files]
move /config/ultrahand/example1/config.ini /config/ultrahand/example1/configX.ini
move /config/ultrahand/example2/config.ini /config/ultrahand/example2/configX.ini

[move directories]
move /config/ultrahand/example1/ /config/ultrahand/example3/
move /config/ultrahand/example2/ /config/ultrahand/example4/

[delete files]
delete /config/ultrahand/example1/config.ini
delete /config/ultrahand/example2/config.ini

[delete directories]
delete /config/ultrahand/example1/
delete /config/ultrahand/example2/
delete /config/ultrahand/example3/
delete /config/ultrahand/example4/

[modify ini file]
copy /bootloader/hekate_ipl.ini /config/ultrahand/
set-ini-val /config/ultrahand/hekate_ipl.ini 'Atmosphere' fss0 gonnawritesomethingelse
new-ini-entry /config/ultrahand/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:

  • make or mkdir: Creates a directory.
    • Usage: mkdir <directory_path>
  • copy or cp: Copies a file or diectory.
    • Usage: copy <source_file_path> <destination_file_path>
  • delete or del: Deletes a file or directory.
    • Usage: delete <file_path>
  • move or mv: Moves/renames a file/directory to a new location/label.
    • Usage: move <file_path> <destination_directory_path>
  • set-ini-val or set-ini-value: Edits an INI file by updating a section with a desired key-value pair.
    • Usage: set-ini-val <file_to_edit> <desired_section> <desired_key> <desired_value>
  • set-ini-key: Edits an INI file by updating a section with a new key.
    • Usage: set-ini-key <file_to_edit> <desired_section> <desired_key> <desired_new_key>
  • new-ini-entry: Edits an INI file by adding a new entry to a section.
    • Usage: new-ini-entry <file_to_edit> <desired_section> <desired_key> <desired_value>

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. Make sure to provide the necessary arguments as described for each command.

Changelog

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

External links

Advertising: