Homebrew Menu

From Nintendo Switch Brew
Revision as of 02:23, 1 October 2018 by Yellows8 (talk | contribs) (→‎Themes)
Jump to navigation Jump to search

The Homebrew Menu (hbmenu) is the menu for launching homebrew applications. Applications are launched using the Homebrew ABI, hence normally nx-hbloader will do the actual launching.

Usage

See Homebrew Applications for SD layout etc.

Controls

Use the D-Pad/joystick to select the app/directory, up/down can be used for faster scrolling. Press A to launch the app. Navigating directories is supported, press A to enter a directory and press B to leave the current directory. Press Y to activate netloader and press B to deactivate netloader.

Touch controls

NOTE: This is not yet available with the latest hbmenu release.

To navigate through the list of folders and applications you can swipe left and right on the bottom list. To open an item you can tap on it in the list or with it highlighted tap the Open or Launch button prompt in the bottom right. To go back a folder you can swipe up or tap the Back button prompt in the bottom right. To activate the netloader you can swipe down on the screen.

Netloader

NOTE: This is not yet available with the latest hbmenu release.

With netloader activated as described above you can load apps over the network with nxlink. With the toolchain setup run nxlink <nrofile> if your network can handle UDP broadcast messages. If nxlink fails with "No response from Switch!" you can use -a <ip address> before <nrofile> for the address to send the app to. See nxlink help for more options.

Themes

NOTE: This is not yet available with the latest hbmenu release.

Themes can be optionally loaded from SD "/config/nx-hbmenu/themes/". The theme (or the default) can be selected using the Theme Menu via the - button. This uses libconfig. Default settings will be used for any settings not specified in the theme (including themeInfo).

The string used for displaying the buttons can be set with buttonAText, buttonBText, and buttonMText, but normally this can be left at the defaults. Change the value of the enableWaveBlending field to 1 to enable wave blending.

There's also borderColor and borderTextColor fields which can be set like the other color fields.

The color fields are RGBA.

Sample theme file:

themeInfo={
    name="Theme Name";
    author="Theme Author Name";
    version="1.0.0";
};

lightTheme={
    textColor=(0,0,0,255);
    frontWaveColor=(255,102,204,255);
    middleWaveColor=(255,51,153,255);
    backWaveColor=(204,0,153,255);
    backgroundColor=(233,236,241,255);
    highlightColor=(255,77,166,255);
    separatorColor=(128,0,128,255);
    enableWaveBlending=0;
};

darkTheme={
    textColor=(255,255,255,255);
    frontWaveColor=(255,51,153,255);
    middleWaveColor=(255,102,204,255);
    backWaveColor=(204,0,153,255);
    backgroundColor=(0,0,0,255);
    highlightColor=(255,77,166,255);
    separatorColor=(255,255,255,255);
    enableWaveBlending=0;
};