Skip to content

feat: clean up BetterHUD settings menu#19

Open
dsnsgithub wants to merge 1 commit into
mainfrom
cursor/cleanup-settings-menu-73d4
Open

feat: clean up BetterHUD settings menu#19
dsnsgithub wants to merge 1 commit into
mainfrom
cursor/cleanup-settings-menu-73d4

Conversation

@dsnsgithub
Copy link
Copy Markdown
Owner

@dsnsgithub dsnsgithub commented May 8, 2026

Summary

The BetterHUD config screen previously dumped all seven options for every module into one flat list, used a free-form text-search dropdown for the four-value Orientation setting, and exposed Custom X / Custom Y as unbounded integer text fields that were always interactive even when Custom Position was off. This PR reworks the cloth-config UI into a cleaner, more discoverable layout.

Changes

src/main/java/dsns/betterhud/ModMenu.java

  • Group each module's options into Position and Appearance sub-categories rather than a flat list of seven controls.
  • Replace the free-form string dropdown for Orientation with a cycling Selector that uses friendly labels (Top Left, Top Right, Bottom Left, Bottom Right).
  • Replace the unbounded Custom X / Custom Y integer fields with sliders that respect the existing 0-100 bounds and render as percentages.
  • Hide the Anchor selector while Custom Position is on, and hide the Custom X / Custom Y sliders while it is off, so only the relevant controls are interactive.
  • Add tooltips to every control explaining what it does.
  • Promote the per-module enable toggle to a top-level Enable <Module> switch with Enabled / Disabled labels via setYesNoTextSupplier.

No persisted setting names, types, or value formats changed, so existing betterhud.properties files continue to load unmodified.

Testing

Cursor Cloud Agent screenshot:
image

  • ./gradlew compileJava builds cleanly.
Open in Web Open in Cursor 

Reorganize the cloth-config UI for a less cluttered, more discoverable
settings screen:

- Group each module's options into 'Position' and 'Appearance'
  sub-categories instead of a flat list of seven controls.
- Replace the freeform string dropdown for Orientation with a cycling
  Selector and human-friendly labels (Top Left, Top Right, ...).
- Replace the unbounded Custom X / Custom Y integer fields with sliders
  that respect the existing 0-100 bounds and render as percentages.
- Hide Anchor when Custom Position is on, and hide Custom X/Y when it
  is off, so only the relevant controls are interactive.
- Add tooltips to every control explaining what it does.
- Show the Enable toggle as a top-level Enabled/Disabled switch with a
  clearer 'Enable <Module>' label.

Co-authored-by: Dominic Seung <dominic@seung.dev>
@dsnsgithub dsnsgithub changed the title Clean up BetterHUD settings menu feat: clean up BetterHUD settings menu May 8, 2026
@dsnsgithub dsnsgithub marked this pull request as ready for review May 8, 2026 00:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants