NX-Shell - Multipurpose File Manager for Nintendo Switch

Hello everyone, the new release with the much requested USB support is finally here! (Couldn't have done it without @DarkMatterCore's usb library) It's worth mentioning since it is such a big update (backend changes and FS refactor) there *may* be some issues, but the only way I can find and fix those is through you guys! However rest assured, I did run a lot of tests myself to make sure it is functioning as expected. If I waited a month, it would've been exactly 2 years since the last release 🥺.


icon.jpg

Change-log:

  • FS:
    • Added support for browsing USB devices.
    • Switched back to libc to handle FS operations.
    • Brought back support for browsing other devices such as safe, user and system.
  • GUI:
    • Update to imGui v1.88.
    • Switch to imGui's new keyEvent API.
    • The two views (File Browser and Settings) can now be navigated as tabs.
    • Switched from list view to a table view using imGui's table API.
    • Sorting is no longer applied from settings, it can be done directly by clicking on the table column headers.
    • A new selector has been added to allow the user to switch to different devices such as safe, user, USB etc.
    • Settings are no longer categorized by imGui's tree system.
    • No longer uses SDL2 as a backend, but instead uses opengl v3 directly (along with egl).
  • Fixes:
    • Properly delete config file if the config file version is outdated.
    • Properly free textures after exiting application.
    • Fixed scrolling via the right joystick after zooming into an image.
    • Lots of code clean up and under the hood changes that are too many to list here.

f43g1ya.jpg


3dU0ciU.jpg


2022080419235500-a282ce99633b844e0497db963451d670-jpg.321175

Download: https://github.com/joel16/NX-Shell/releases
 
Last edited by Joel16,
Hi,
Is this project still being worked on?
Was wondering of the possibility to read / move files from a hdd plugged into the dock or Switch, especially now SX OS 2.2 now supports it?
Thanks.

EDIT - Sorry, my page didn't load properly. It looked like nobody had posted on this topic for a few months! I can see the OP is looking into USB support. Thanks!
 
Last edited by frostii,
Finally managed to boot into RCM and install Atmosphere. So the following changes will require CFW to make NX-Shell work. The older pegaswitch method will no longer be an option and using NX-Shell without CFW simply won't work.

I've been looking into adding support for partitions recently and so far I've managed to make NX-Shell browse data from these partitions. Please note: at the moment you can't do anything with these partitions apart from browsing them.

gYxGild.jpg


3qd4Eqa.jpg


Download (Test builds):
If someone can test these on their devices, that would be great and would make the first stable release come a lot sooner. Changes mostly include migrating from stdio -> to use FS service directly, GPU hardware acceleration, browsing other user partitions (press the MINUS button or touch the drawer on the top left to access these) and some minor fixes.

(a Beta of a Beta :P) https://mega.nz/#!2RI2iAhb!x_O5IncJMIKTIYm3OYUqRO-Sex-yUApVKSfiWa8soig
 
Last edited by Joel16,
Finally managed to boot into RCM and install Atmosphere. So the following changes will require CFW to make NX-Shell work. The older pegaswitch method will no longer be an option and using NX-Shell without CFW simply won't work.

I've been looking into adding support for partitions recently and so far I've managed to make NX-Shell browse data from these partitions. Please note: at the moment you can't do anything with these partitions apart from browsing them.

gYxGild.jpg


3qd4Eqa.jpg


Download (Test builds):
If someone can test these on their devices, that would be great and would make the first stable release come a lot sooner. Changes mostly include migrating from stdio -> to use FS service directly, GPU hardware acceleration, browsing other user partitions (press the MINUS button or touch the drawer on the top left to access these) and some minor fixes.

(a Beta of a Beta :P) https://mega.nz/#!2RI2iAhb!x_O5IncJMIKTIYm3OYUqRO-Sex-yUApVKSfiWa8soig

Nice! Is USB transfering still on your to-do?
I did read you may look into it.
 
Download (Test builds):
If someone can test these on their devices, that would be great and would make the first stable release come a lot sooner. Changes mostly include migrating from stdio -> to use FS service directly, GPU hardware acceleration, browsing other user partitions (press the MINUS button or touch the drawer on the top left to access these) and some minor fixes.

(a Beta of a Beta :P) https://mega.nz/#!2RI2iAhb!x_O5IncJMIKTIYm3OYUqRO-Sex-yUApVKSfiWa8soig
Working great here! I just did some browsing through all the partitions as well as the sd card, and didn't encounter any problems, didn't manage to break anything. The only quirk I noticed which you're probably aware of, is with the font, low hanging parts like the lowercase g getting cut off at the bottom.

e: 5.1.0, atmosphere 0.7.3, fat32, loading nx-shell from hbmenu 3.0, 4n's latest nsp using hbloader 2.0
 
Last edited by hippy dave,
  • Like
Reactions: Joel16
Yes I plan to but it's something I'm not knowledgeable on so it'll take more time, but it's definitely on my to-do list.

best way IMO is to write a usb mass storage driver and a file system driver, reads will be a-ok, writes you will risk corruption if you try to write to a file the switch has opened for writing. new file creation would also be dicey.

assuming you implemented a fat32 driver to read the nand partitions, that is half of the work done already :)

edit: brain fart, for this direction you wouldn’t need a FS driver, just usb mass storage.
 
Last edited by blawar,
  • Like
Reactions: Joel16
The first stable release is here!

For those wondering about USB support, I have been told that libnx should have a USB implementation. Once that's done, NX-Shell will support it, until then please don't ask about it.

NX-Shell v1.05

This is a pretty important release. If you're updating this from an older version, it is recommended to delete your /switch/NX-Shell/ folder before you install this update. This is the last version where you'll have to do this. Future updates will automatically handle this.

Features:

  • Make use of the GPU hardware acceleration.
  • Switch to internal FS functions to display directory list.
  • Added config version to config files - If a new version is found where the config file needs to be changed, it will automatically be deleted and regenerated.
  • Replaced the executable icon with something more dark theme friendly.
  • Local time is now supported.
  • Displays file permissions in properties.
  • Display storage bar for current mounted device. (some devices/mount points don't have this)
  • Allow user to browse other user partitions from menu bar. (Very little can be done at this time, since it seems FS functions are locked out of using them).
  • Lock applet during write/cut/copy/delete processes.
  • Added a "More..." button in file options.
    • Added a "Refresh" button refresh directory list.
    • Added a "New file" button to create an empty file.
    • Added a button to set archive bit on checked directories or currently highlighted/selected directories. - This
      feature is a work in progress. Don't use this with any important directories unless you know what you're
      doing. This feature can only be accessed if "Developer options" is enabled.
  • Added a new options in Settings called "Developer options". If this toggle is set, any FS function that fails to execute properly will be logged in a file called debug.log, which can be found in /switch/NX-Shell/debug.log.
  • Wrap CWD display if it gets too long.
  • Improve book reader controls in landscape mode (Right stick right/left should zoom in/out in landscape mode)
Fixes:

  • Fix last saved directories not properly being read due to having spaces in their names.
  • Fix automatic scroll when selecting a checkbox.
  • Fix exit key (PLUS) in music player, image viewer and settings.
  • Book reader no longer displays status bar after every page. Only displayed during zooming or if screen is touched in the middle or outside touch area depending on the orientation.
  • Many under the hood changes.

gYxGild.jpg


3qd4Eqa.jpg
If you'd like to support me, then feel free to buy me a coffee, I'd really appreciate it! https://www.paypal.me/Joel16IA

Download: https://github.com/joel16/NX-Shell/releases/tag/1.05
 
Last edited by Joel16,
The first stable release is here!

For those wondering about USB support, I have been told that libnx should have a USB implementation. Once that's done, NX-Shell will support it, until then please don't ask about it.

NX-Shell v1.05

This is a pretty important release. If you're updating this from an older version, it is recommended to delete your /switch/NX-Shell/ folder before you install this update. This is the last version where you'll have to do this. Future updates will automatically handle this.

Features:

  • Make use of the GPU hardware acceleration.
  • Switch to internal FS functions to display directory list.
  • Added config version to config files - If a new version is found where the config file needs to be changed, it will automatically be deleted and regenerated.
  • Replaced the executable icon with something more dark theme friendly.
  • Local time is now supported.
  • Displays file permissions in properties.
  • Display storage bar for current mounted device. (some devices/mount points don't have this)
  • Allow user to browse other user partitions from menu bar. (Very little can be done at this time, since it seems FS functions are locked out of using them).
  • Lock applet during write/cut/copy/delete processes.
  • Added a "More..." button in file options.
    • Added a "Refresh" button refresh directory list.
    • Added a "New file" button to create an empty file.
    • Added a button to set archive bit on checked directories or currently highlighted/selected directories. - This
      feature is a work in progress. Don't use this with any important directories unless you know what you're
      doing. This feature can only be accessed if "Developer options" is enabled.
  • Added a new options in Settings called "Developer options". If this toggle is set, any FS function that fails to execute properly will be logged in a file called debug.log, which can be found in /switch/NX-Shell/debug.log.
  • Wrap CWD display if it gets too long.
  • Improve book reader controls in landscape mode (Right stick right/left should zoom in/out in landscape mode)
Fixes:

  • Fix last saved directories not properly being read due to having spaces in their names.
  • Fix automatic scroll when selecting a checkbox.
  • Fix exit key (PLUS) in music player, image viewer and settings.
  • Book reader no longer displays status bar after every page. Only displayed during zooming or if screen is touched in the middle or outside touch area depending on the orientation.
  • Many under the hood changes.

gYxGild.jpg


3qd4Eqa.jpg
If you'd like to support me, then feel free to buy me a coffee, I'd really appreciate it! https://www.paypal.me/Joel16IA

Download: https://github.com/joel16/NX-Shell/releases/tag/1.05
crashed on 5.1 atom 0.7.4
old config file are removed before run it
 
Could you provide more details? Are you using exFAT? can you check if a folder called "NX-Shell" was created with a config file?
I just did a md5 check. looks like a file corruption issue on my end, so sorry for the trouble.:(

does exfat has higher corruption chance than fat32? i normally using ftp for most file transfer work.




edit: great stable update btw.:yay:
 
Last edited by Sonansune,
I just did a md5 check. looks like a file corruption issue on my end, so sorry for the trouble.:(

does exfat has higher corruption chance than fat32? i normally using ftp for most file transfer work.




edit: great stable update btw.:yay:
Not too sure about the chances of corruption with exFAT compared to FAT32.
 
The first stable release is here!

For those wondering about USB support, I have been told that libnx should have a USB implementation. Once that's done, NX-Shell will support it, until then please don't ask about it.

NX-Shell v1.05

This is a pretty important release. If you're updating this from an older version, it is recommended to delete your /switch/NX-Shell/ folder before you install this update. This is the last version where you'll have to do this. Future updates will automatically handle this.

Awesome! First off, many thanks for this, it's been extremely useful so far. Just a few bits of feedback based on how I've used it.
  • Holding up and down on the d-pad should slowly move the selection up or down continuously.
  • Left and right should skip x number of entries, also continuous if held.
  • Scrolling down and then up again keeps the selection bar at the bottom of the screen instead of scrolling back up until hitting the top of the screen. Could keep the selection bar at the middle of the screen until the beginning or end of the list is reached.
I know this is mostly polish type stuff, but when I go to scroll through a larger list (like a folder of roms), it is pretty difficult to get to the middle of the list the way it currently works.
 
  • Like
Reactions: tiliarou and Joel16
Just tested the newest stable version! Nice job! really like it. its super fast and seems wery stable. been enjoying this for months, also the ebook reader :) thank you for your hard work. will throw you a donation as soon as i get paid :)
 
  • Like
Reactions: tiliarou and Joel16
Awesome release. Question: Will it be hard to add wma support for music?

Thanks!
 

Site & Scene News

Popular threads in this forum