Homebrew Homebrew app Ultrahand Overlay - The fully craft-able overlay executor

ppkantorski

Well-Known Member
OP
Newcomer
Joined
May 1, 2023
Messages
48
Trophies
0
XP
372
Country
United States
Ultrahand Overlay (HOS 16.0.0+)

platform language GPLv2 Downloads

Create directories, manage files, and customize configurations effortlessly using simple ini files.

ezgif-4-024e7852d3.gif


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.

Features​

Ultrahand is a Tesla overlay that provides powerful functionality for managing files and directories on an SD card. It offers the following features:
  • Create Directories:
    • Effortlessly create directories on your SD card by specifying the directory path. Ultrahand will handle the creation process for you.
  • Copy Files or Directories:
    • Easily copy files or directories from one location to another on your SD card. Just provide the source and destination paths, and Ultrahand will seamlessly handle the copying process.
  • Delete Files or Directories:
    • Simplify file and directory deletion on your SD card. By specifying the path of the file or directory you want to delete, Ultrahand promptly removes it, making the deletion process hassle-free.
  • Move Files or Directories:
    • Seamlessly move files or directories between locations on your SD card. Provide the source path and the destination directory path, and Ultrahand takes care of the moving process, ensuring smooth relocation.
  • Modify INI Files:
    • Edit INI files on your SD card with ease. Take full control over your configurations by updating existing key-value pairs, adding new entries, or creating new sections within the INI file using Ultrahand. Customize and tailor your INI files effortlessly through its intuitive interface.
  • Hex Edit Files:
    • Perform hexadecimal editing of files on your SD card. Edit the binary data directly, allowing for precise control over your data. Ultrahand's Hex Edit Files feature enables you to analyze, modify, and customize files in their raw form.
  • Download Files:
    • Download files to your SD card with ease. Efficiently retrieve files from repositories or URLS to your desired location. Whether you need to download / update projects or transfer files between locations, this feature simplifies the process, making repository management a breeze.
  • Unzip Files:
    • Extract compressed zip files on your SD card by unzip archived files, preserving their original structure. Whether you have downloaded zip archives or received compressed files, this command simplifies the process of extracting them, making it effortless to access the contents within.

Getting Started​

Nintendo Switch Compatibility​

To run Ultrahand Overlay on the Nintendo Switch, you need to have the necessary homebrew environment set up on your console running HOS 16.0.0+. Once you have the homebrew environment set up, you can transfer the compiled .ovl to your Switch and launch it using your old Tesla Menu hotkeys.

Please note that running homebrew software on your Nintendo Switch may void your warranty and can carry certain risks. Ensure that you understand the implications and follow the appropriate guidelines and precautions when using homebrew software.

Usage​

To use Ultrahand, follow these steps:
  1. Download and install the latest nxovloader.
  2. Download the latest Ultrahand ovlmenu.ovl and place it within `/switch/.overlays/`.
    • WARNING: This will overwrite Tesla Menu if already installed.
  3. After installing Ultrahand Overlay, a new folder named `ultrahand` will be created within the root config folder on your SD card (`/config/ultrahand/`) along with a `config.ini` file containing various Ultrahand settings.
  4. Launch Ultrahand similarly to Tesla Menu with your specified hotkey. A new folder will be made (`/switch/.packages/`) with a preset `config.ini` file for your base menu commands.
  5. Place your custom config.ini package file in the Ultrahand package directory (`/switch/.packages/YOUR_PACKAGE/`). This file will contains the commands for your custom Ultrahand package.
  6. Your commands will now show up on the packages menu within Ultrahand. You can click A to execute any command as well as click X to view/execute the individual command lines written in the ini for execution.
For additional assistance with custom packages, feel free to checkout the Ultrahand Overlay Wiki.

Compilation Prerequisites​

To compile and run the software, you need to have the following C/C++ dependencies installed:

Contributing​

Contributions are welcome! If you have any ideas, suggestions, or bug reports, please create an issue or submit a pull request.

License​

This project is licensed and distributed under GPLv2 with custom code utilizing CC-BY-4.0.

https://github.com/ppkantorski/Ultrahand-Overlay


I'm sure users will create some really cool things with the configurable .ini in time. I've created a number of example packages on the GitHub you can try out. Be sure to check the commands before running to make sure that they make sense to you.
 
Last edited by ppkantorski,

JonJaded

Well-Known Member
Member
Joined
May 22, 2016
Messages
675
Trophies
0
XP
2,930
Country
United States
Sounds insane! I recently had an issue with a mod crashing TOTK, and L to disable layeredFS didnt work for me on it, Could this help turn mods on or off in a button press (rename directory in the future?)
 
  • Like
Reactions: ppkantorski

ppkantorski

Well-Known Member
OP
Newcomer
Joined
May 1, 2023
Messages
48
Trophies
0
XP
372
Country
United States
Sounds insane! I recently had an issue with a mod crashing TOTK, and L to disable layeredFS didnt work for me on it, Could this help turn mods on or off in a button press (rename directory in the future?)
yup, its what it does. file manipulation. I use it to control all my mods.
 

SodaSoba

‿︵‿︵‿︵ヽ(°□° )ノ‿︵‿︵‿︵‿
Member
Joined
May 28, 2018
Messages
645
Trophies
0
Location
Barstow, on the edge of the desert
XP
1,862
Country
United Kingdom
Oh wow! So a file manager? Sounds great.
I've been using a samba client nro to do what this does? I'll be testing later!
Post automatically merged:

ok so i attempted this today seems to have some potential for sure!!!

@b0rd2dEAth4 I'm not sure if it was something i did wrong but the `copy` command did not work for copying a directory
i thought it might be due to a folder not existing but it wasn't that.

it turned out `cp` seems to work in copying a directory.

So i made a package for it and tested it,

a simple bootlogo swapper that moves ips patches from
`/config/ultrahand/BootLogo-Swapper/<logoname>/bootlogo/`
to
`/atmosphere/exefs_patches/`
if you currently use a bootlogo in a different directory in exefs_patches I'm not sure what would happen but for my personal test it worked great.
ultrahand.jpg

shame we can't show images somehow like a mini thumbnail that would be baller
[banned1] - [banned2] - [banned3] - [samurai]
banned.png banned2.png banned3.png switch-bootup-logo-samurai.png

I have included a zip of the package, if it peaks anyone's interest
 

Attachments

  • BootLogo-Swapper.zip
    5.2 MB · Views: 46
Last edited by SodaSoba,

Slluxx

GBATemp Mayor
Developer
Joined
Jul 17, 2019
Messages
607
Trophies
0
XP
2,147
Country
Germany
whats the benefit of this over a proper file manager homebrew?
Maybe i am missing something but you most likely wont manage files when in game and when not in game, why not use nx-shell?
 
  • Like
Reactions: SodaSoba

ppkantorski

Well-Known Member
OP
Newcomer
Joined
May 1, 2023
Messages
48
Trophies
0
XP
372
Country
United States
whats the benefit of this over a proper file manager homebrew?
Maybe i am missing something but you most likely wont manage files when in game and when not in game, why not use nx-shell?
When testing tons of OC configs, it can be useful to quick swap your settings. It isnt as convenient tracking down every single file in nx-shell and moving them manually. Also, stuff like the Overlay manager that lets you offload/onload your overlays you dont want on your list 24/7 makes more sense as an overlay. Same with mods manager when testing and disabling your wide list of mods (or groups of mods) that cant be managed with IPSWitch nor Edizon. While all overlays could be just applets, you can save a lot of time with it as an overlay. You can also do pattern matching like
Code:
cp /directory/*.txt /newlocation/
cp /directory/config* /newlocation/
mv /directory/*.ips /newlocation/
mv /directory/package* /newlocation/
mv /directory/folder*/ /newlocation/
del /directory/*folder/
del /directory/folder*/
You can also parse and edit ini files with it as well. Some things just make more sense to be controlled as an overlay, and it is significantly quicker than jumping into applet mode or NX-shell. Think of what i made as a."shell script"-like executor.

What's the benefit of shell scripts you can execute from anywhere when you can manually move files around yourself and edit text files on your computer? That's kind of up to you. 🙂
 
Last edited by ppkantorski,

ppkantorski

Well-Known Member
OP
Newcomer
Joined
May 1, 2023
Messages
48
Trophies
0
XP
372
Country
United States
It’s important to note for everyone to be sure to at least check the config.ini people post as well before running. Someone out there could write something malicious. I’ll try to add some commands that just won’t work as safeguards, but I can’t plug all the holes from people writing things to delete files you may want to keep. Other features I want to add down the line are toggle commands, write new text file, and maybe hexediting as well.

edit: oh right, i forgot. if you click X you can see every command line contained in a package/command as well and execute individual lines. It can be helpful for telling what you are running or isolating commands during debugging.
Post automatically merged:

Oh wow! So a file manager? Sounds great.
I've been using a samba client nro to do what this does? I'll be testing later!
Post automatically merged:

ok so i attempted this today seems to have some potential for sure!!!

@b0rd2dEAth4 I'm not sure if it was something i did wrong but the `copy` command did not work for copying a directory
i thought it might be due to a folder not existing but it wasn't that.

it turned out `cp` seems to work in copying a directory.

So i made a package for it and tested it,

a simple bootlogo swapper that moves ips patches from
`/config/ultrahand/BootLogo-Swapper/<logoname>/bootlogo/`
to
`/atmosphere/exefs_patches/`
if you currently use a bootlogo in a different directory in exefs_patches I'm not sure what would happen but for my personal test it worked great.
View attachment 376341

shame we can't show images somehow like a mini thumbnail that would be baller
[banned1] - [banned2] - [banned3] - [samurai]
View attachment 376336 View attachment 376337 View attachment 376338 View attachment 376340

I have included a zip of the package, if it peaks anyone's interest
nice! first package ive seen shared so far. ive never actually thought of trying to draw images on an overlay. maybe someone has done it before for another project, I can check to see if it can be already done with the context of libtesla sometime.
 
Last edited by ppkantorski,

SodaSoba

‿︵‿︵‿︵ヽ(°□° )ノ‿︵‿︵‿︵‿
Member
Joined
May 28, 2018
Messages
645
Trophies
0
Location
Barstow, on the edge of the desert
XP
1,862
Country
United Kingdom
I believe there is a image size limit but it's not super small

Is there anything else you can do to confirm an action has been done? So far the only hint all my files copy is the box around flashes after freezing

Also Would it be hypothetically possible to delete all .jpg files in a directory and any subsequent directories ? Or all files named (icon.jpg)

Del /atmosphere/contents/*.*/icon.jpg

Del /atmosphere/contents/*/*.jpg

?
 
Last edited by SodaSoba,

ppkantorski

Well-Known Member
OP
Newcomer
Joined
May 1, 2023
Messages
48
Trophies
0
XP
372
Country
United States
I believe there is a image size limit but it's not super small

Is there anything else you can do to confirm an action has been done? So far the only hint all my files copy is the box around flashes after freezing

Also Would it be hypothetically possible to delete all .jpg files in a directory and any subsequent directories ? Or all files named (icon.jpg)

Del /atmosphere/contents/*.*/icon.jpg

Del /atmosphere/contents/*/*.jpg

?
I can try improving pattern recognition for that. Right now it can only use one wildcard near the file/folder name part.
 

ppkantorski

Well-Known Member
OP
Newcomer
Joined
May 1, 2023
Messages
48
Trophies
0
XP
372
Country
United States
I believe there is a image size limit but it's not super small

Is there anything else you can do to confirm an action has been done? So far the only hint all my files copy is the box around flashes after freezing

Also Would it be hypothetically possible to delete all .jpg files in a directory and any subsequent directories ? Or all files named (icon.jpg)

Del /atmosphere/contents/*.*/icon.jpg

Del /atmosphere/contents/*/*.jpg

?
I added the feature, but I've yet to build my test cases and test it out throughly. its on 1.0.9 pre-release right now along with a lot more safe guards ive implemented.
How to create this scripts on switch?
See the examples on the GitHub. You create a config.ini file with your commands, place that in "/config/ultrahand/Your Package/", add the header for version label and creator, then you're ready to go. I personally like the main /config/ultrahand/config.ini to be boot commands. It is pre-generated with an example config.ini thats purely for understanding how the program works when you run the overlay unless the config.ini already exists. If you add a blank one it will remove the main screen commands completely. All packages can go in subfolders of /config/ultrahand/ with the config.ini within them. There you can store files relevant to your project and manage your commands a bit easier. Hope this makes sense.
 
  • Like
Reactions: SodaSoba

ppkantorski

Well-Known Member
OP
Newcomer
Joined
May 1, 2023
Messages
48
Trophies
0
XP
372
Country
United States
I saw examples. So, without PC this is useless?
Without the ability to add a file to your sd card all programs are useless. But no it doesn’t require a computer once you set it up. And if you use ftp on your phone you can easily set stuff up without a PC. Not quite sure what you mean. It’s a Switch application, unrelated to the pc.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    NinStar @ NinStar: It will actually make it worse