/NX-Shell

3DShell port for the Nintendo Switch.

Primary LanguageCGNU General Public License v3.0GPL-3.0

NX-Shell Build Status Github latest downloads

NX Shell is a multi-purpose file manager for the Nintendo Switch that aims towards handling media files. NX Shell leans towards more of the file management features such as opening and managing various files types and includes the basic necessity of a standard file manager. This program's design elements are clearly inspired by CyanogenMod/LineageOS's built in file manager, and so all credits towards the design go to the CyanogenMod/LineageOS contributors.

NX-Shell Screenshot

Features:

  • Delete files and folders.
  • Copy/Move files and folders.
  • Rename files and folders (standard switch keyboard).
  • Create files and folders (standard switch keyboard).
  • Displays file size
  • Image viewer (GIF, JPG, PNG, WEBP)
  • Display animated GIFs.
  • Extract various archives such as ZIP, RAR, 7Z, ISO 9660, AR, XAR and others supported by libarchive.
  • Sorting options (Sort by name, date, size).
  • Dark theme toggle.
  • Audio playback. (Following formats are supported: FLAC, IT, MOD, MP3, OGG, OPUS, S3M and WAV)
  • Touch screen in most cases.

Build instructions

Ensure that you have the following dependencies installed via dkp-pacman:

sudo dkp-pacman -Syu switch-dev
sudo dkp-pacman -S switch-sdl2 switch-sdl2_gfx switch-sdl2_image switch-sdl2_ttf
sudo dkp-pacman -S switch-opusfile switch-liblzma
sudo dkp-pacman -S switch-libvorbisidec switch-mpg123 switch-flac

Clone and compile the program:

git clone https://github.com/joel16/NX-Shell.git
cd NX-Shell
make

Credits:

  • Preetisketch for some of the assets used as well as the banner.
  • StevenMattera for the implementing the foundation of all touch-screen code.
  • grimfang4 for the original SDL_FontCache headers.
  • theMealena for CVE_gif*.