Skip to content

[GSoC] LateNightQML: Menu Bar - #16850

Open
xARSENICx wants to merge 10 commits into
mixxxdj:mainfrom
xARSENICx:LateNightQML/Menu-bar
Open

[GSoC] LateNightQML: Menu Bar#16850
xARSENICx wants to merge 10 commits into
mixxxdj:mainfrom
xARSENICx:LateNightQML/Menu-bar

Conversation

@xARSENICx

@xARSENICx xARSENICx commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

This PR implements the platform-aware application menu for LateNightQML, using the shared QML menu/action infrastructure while matching the existing LateNight toolbar and both the Classic and PaleMoon color schemes.

Testing the Experimental Skin

Since this is an early experimental milestone, you must first run Mixxx with the developer flag:

./build/mixxx --developer

Once Mixxx is open, switch to the experimental skin:
Preferences -> Interface -> LateNight QML (Experimental)

You can dynamically toggle between the Classic and PaleMoon color schemes under preferences.

New Styling

On Windows and Linux, the application menu is exposed through a hierarchical hamburger menu integrated into the LateNightQML toolbar. Its popup, menu rows, hover states, spacing, and typography use the same visual language as the existing toolbar dropdowns.

On macOS, the same actions are presented through the native system menu bar and the hamburger button remains hidden.

Scope of Changes

Implemented in this PR:

  • Platform-aware menu presentation: Uses the native QML menu bar on macOS and the LateNightQML hamburger menu on Windows and Linux.
  • Hierarchical hamburger interaction: Opens one submenu at a time on hover, keeps a clicked submenu open, and closes the complete menu when clicking outside.
  • LateNight theme integration: Styles the hamburger menu for Classic and PaleMoon using the established toolbar dropdown appearance.
  • Unified preferences entry: Uses Preferences as the single settings destination instead of exposing a separate skin-settings menu.

Dependency

Depends on #16849.

Tracking

GSoC: LateNightQML PR-7

@xARSENICx
xARSENICx force-pushed the LateNightQML/Menu-bar branch from ee93515 to 0ccbedb Compare August 7, 2026 13:17
@xARSENICx
xARSENICx marked this pull request as ready for review August 8, 2026 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant