NXThemes Installer Switch

From GameBrew
Revision as of 11:12, 30 March 2023 by HydeWing (talk | contribs) (Created page with "{{Infobox Switch Homebrews |title=Switch Theme Injector |image=switchthemeinjector.png |description=Easily make custom themes. |author=exelix11 |lastupdated=2022/03/22 |type=PC Utilities |version=4.7_2.7 |license=GPL-2.0 |download=https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector.7z |website=https://gbatemp.net/threads/release-tutorial-switch-theme-injector-easily-make-custom-themes.519036/ |source=https://github.com/exelix11/SwitchThemeInjector |donation= }...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Switch Theme Injector
Switchthemeinjector.png
General
Authorexelix11
TypePC Utilities
Version4.7_2.7
LicenseGPL-2.0
Last Updated2022/03/22
Links
Download
Website
Source

The Switch theme injector is a fantastic homebrew app for your Nintendo Switch that lets you create custom themes with ease.

The project is split into three parts:

  1. Switch theme injector (Windows app): This app is used to create and edit custom themes.
  2. NXThemes installer: This homebrew app runs directly on your switch and allows you to install and manage themes.
  3. Switch theme injector online (also known as WebInjector): This web app is a port of the Windows injector, but some features like custom applet icons and common.szs layouts support are not available.

The main goal of this project is to create a complete toolset for developing and installing custom themes on your Nintendo Switch. Because the console operating system doesn't natively support custom themes, most of the work is done by patching system SZS files to achieve the desired look.

Unfortunately, SZS files from the Switch OS contain copyrighted data and cannot be shared online. Therefore, the nxtheme format was developed, which contains only differential information and can be shared freely. If you're not creating your own patches and custom layouts, you should stick to using nxtheme files.

Media

Custom Themes Nintendo Switch TUTORIAL - (Manito)

Screenshots

https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector-01.pnga https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector-02.pnga https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector-03.pnga https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector-04.pnga

Getting started

To use custom themes you need an hacked switch that's at least on firmware 5.0.

Installing themes

The most common scenario for installing themes is to use the theme installer homebrew. Here are the steps to follow:

  1. Create a folder called “themes” in the root of your SD card.
  2. Copy your themes in either nxtheme or szs format into this folder.
  3. Launch the theme installer and select your desired theme to install it.
  4. Reboot your console and your new theme should be applied.

Note that each file is a single home menu part (e.g., just the lock screen or just the main menu). A full home menu theme is composed of multiple nxtheme files.

To remove a theme, simply select “uninstall” in the theme installer. You can also install a different theme to overwrite the currently installed one.

If you forget to uninstall any installed themes before upgrading (or downgrading) your firmware, you may encounter compatibility issues. In this case, your console may not boot until you remove the theme as explained below.

In case your console doesn’t boot anymore due to a bad theme (mostly with szs themes), delete the \atmosphere\contents\01000000001000 folder from your SD card (it’s <cfw name>\titles\01000000001000 for old atmosphere and other CFWs). After deleting this folder, your console should be able to boot again. Launch the theme installer and select “uninstall theme” to finish the cleanup process.

Making themes

To make themes, you can use either the Theme injector application or the web version.

Format differences

In the past, themes were distributed as szs files. However, this format is no longer supported because these szs files also contain copyrighted data. Instead, you should only use the nxtheme format.

Making an nxtheme

To make an nxtheme, open the injector and go to the NXThemes builder tab. Then, open any 720p JPG image (1280x720 pixels), select a custom layout, and click on “build nxtheme”.

For making themes, you can only use JPG images or DXT1-encoded DDS images. For best quality, it’s better to manually encode the image to DDS so you can have a preview of how it will look like with the compression applied.

Linux Support

The GUI only works on Windows. However, on Linux, you can use the CLI through mono. You will need the mono-complete package. Then, you should be able to launch the app by running mono SwitchThemes.exe help.

Command line usage (CLI)

Building nxthemes:

SwitchThemes.exe buildNX home "<your image.png/jpg/dds>" "<json layout file, optional>" "name=<theme name>" "author=<author name>" "out=<OutputPath>.nxtheme"

This will build a theme for the home menu. Instead of “home”, you can use: lock for lock screen, apps for all apps screen, set for settings applet, user for user page applet and news for news applet. Only the image and out file args are needed. Other options specific to the theme target such as applet icons are available as well. Run “SwitchThemes.exe help” for more info.

Remote install

To remotely install a theme:

Launch the theme installer and select remote install.

Run the following command: SwitchThemes.exe install 192.168.X.Y “<nxtheme/szs file>”

where 192.168.X.Y is your console IP address.

Changelog

Version 4.7 & NXThemesInstaller 2.7

  • Support for firmware 14.0 and 14.1 #113
  • The reboot button now uses spsm instead of bpc, this means the console will shut down properly #111
  • Auto update for home menu patches, whenever a new firmware drops if it just needs a new IPS patch it will be downloaded automatically from github as soon as it's available.
    • This means there won't be firmware specific releases anymore unless something major breaks
    • If you don't want to connect your console to the internet you can download the new patches manually from github, there is a guide in the readme.
    • If you want to get notifications for new updates as soon as they're available click watch on the theme-patches repo

External links

Advertising: