Homebrew Menu

From Nintendo Switch Brew
Revision as of 21:39, 13 September 2018 by Yellows8 (talk | contribs) (Added theme docs, sample theme is from the hbmenu PR with formatting adjustments.)
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.

A theme can be optionally loaded from SD "/config/nx-hbmenu/themes/theme.cfg". This uses libconfig. Default settings will be used for any settings not specified in the theme.

The string used for displaying the A/B button can be set with buttonAText/buttonBText, but normally this can be left at the defaults. Remove/comment the sample enableWaveBlending line to enable wave blending.

Sample theme file:

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;
};