Skip to content

Latest commit

 

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Menu Sort Aroma

Menu Sort Aroma icon

Unofficial port of Menu Sort (originally by Yardape8000 and doino-gretchenliev) from the legacy Homebrew Launcher toolchain to the modern Aroma environment, using wut and libmocha instead of the old dynamic_libs/libiosuhax stack.

Ported and maintained by Yirr777.

With Menu Sort Aroma you can alphabetically sort icons on the Wii U Menu, per user account - including inside folders, and homebrew icons injected by the Homebrew On Wii U Menu plugin.

The following items will not move (though a folder's contents still get sorted): folders and system icons (Disc, Settings, etc), the Homebrew Launcher, any IDs listed in dontmove.txt, and any homebrew app whose name matches an entry in dontmove_homebrew.txt.

Warning: always use the backup option (+) before sorting anything for the first time. Bricked consoles are not the author's (or this port's) responsibility.

Controls

Button Action
B Standard sorting
A Standard sorting, ignoring a leading "The"
X Bad naming mode sorting
Y Bad naming mode sorting, ignoring a leading "The"
+ Backup the current order (including folders)
- Restore the last backup (including folders)
L Count items only, no changes
HOME Exit without doing anything

Backups

Whenever an actual sort runs (any of B/A/X/Y — not L), Menu Sort Aroma automatically backs up the current, unmodified order to sd:/wiiu/apps/menu_sort_aroma/BaristaAccountSaveFile.dat before touching anything, whether or not you also pressed + first. Press - at any time to restore that backup.

Homebrew On Wii U Menu plugin compatibility

If the Homebrew On Wii U Menu plugin is installed, it redirects the Wii U Menu's save data to its own copy on the SD card so it can inject homebrew icons without touching the real system save. Menu Sort Aroma detects this and reads/writes that same SD-card copy instead of the raw system save file, then mirrors the result back to the system save - so both stay in sync and you never lose folders or icons the plugin hasn't flushed yet.

What changed from the original

  • dynamic_libs (runtime function-pointer loading) → native wut headers (coreinit, vpad/input.h, whb/proc.h).
  • Raw IOSUHAX / libiosuhax / MCP thread hijacking → libmocha (Mocha_MountFS / Mocha_UnmountFS).
  • Manual SD card FAT mounting → dropped; wut mounts the SD card automatically at fs:/vol/external01/....
  • libxml2 → a small hand-rolled XML text extractor (src/utils/xmltext.c), since libxml2 isn't part of the standard wiiu-dev package group.
  • nn_act_*src/act_wrapper.cpp, a tiny extern "C" shim, since wut only exposes nn::act in C++.
  • Output on both the TV and GamePad screens (the original only wrote to the GamePad).
  • Builds to a .wuhb (Aroma Homebrew Launcher) instead of a legacy .elf.
  • Automatic backup before every real sort, in addition to the original's manual + backup.
  • Homebrew icons injected by the Homebrew On Wii U Menu plugin - which didn't exist when the original was written - are now sorted too, with their own exclude list (dontmove_homebrew.txt) and compatibility with the plugin's SD-card save redirection.

Building

Requires devkitPro with the wiiu-dev package group, plus libmocha and libwuhbutils built from source and installed (git clone each repo, then make install in it).

export DEVKITPRO=/opt/devkitpro
export DEVKITPPC=$DEVKITPRO/devkitPPC
export PATH="$DEVKITPPC/bin:$DEVKITPRO/tools/bin:$PATH"
make

Produces menu_sort_aroma.wuhb.

Installing

Don't want to build it yourself? Grab the SD card zip from the latest release and extract it to the root of your SD card - it already contains everything below, laid out correctly.

Copy menu_sort_aroma.wuhb, dontmove.txt, titlesmap.psv and dontmove_homebrew.txt to sd:/wiiu/apps/menu_sort_aroma/ on your SD card. Edit them as described below, then launch the app from the Aroma Homebrew Launcher.

Upgrading from an older version installed under sd:/wiiu/apps/menu_sort/? Move that whole folder to sd:/wiiu/apps/menu_sort_aroma/ (keeping your customized dontmove.txt / titlesmap.psv / dontmove_homebrew.txt), then delete the old empty menu_sort folder. The Homebrew Launcher will list it as a new entry either way.

Don't Move list

Override dontmove.txt with a list of non-movable icons, identified by the last 4 bytes of the title ID:

10179B00 # Brain Age: Train Your Brain In Minutes A Day
10105A00 # Netflix
10105700 # YouTube

You can also use dontmoveX.txt (X: 0-9, A, or B) for per-user-profile lists — X is the last digit of the console's 8000000X save folder for that user (shown by the app as User ID: X). dontmoveX.txt takes priority over dontmove.txt; only one file is used per profile.

Titles map

Override titlesmap.psv to sort by group name instead of title name ("bad naming mode"):

titleId#1|groupName
titleId#2|groupName

titlesmapX.psv works the same way as dontmoveX.txt for per-profile overrides.

Homebrew exclude list

Homebrew icons injected by the Homebrew On Wii U Menu plugin don't have a fixed title ID the way installed titles do (it's a hash of wherever you happen to have installed them), so dontmove.txt can't target them reliably across different setups. Instead, edit dontmove_homebrew.txt with one app name (or part of one) per line - any homebrew icon whose resolved name contains that text (case-insensitive) is left in place:

Aroma Updater
Payload-Loader Installer
NUSspli

Ships with only Menu Sort Aroma itself excluded by default - add whichever other homebrew apps you want left in place, one per line, no rebuild required.

License

This port is released into the public domain under The Unlicense - do whatever you want with it. The original project it's based on doesn't declare a license of its own.

About

Wii U Menu Sort ported from legacy Homebrew Launcher to Aroma (wut + libmocha)

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages