remove the menu bar

Bug #1740365 reported by Be
44
This bug affects 10 people
Affects Status Importance Assigned to Milestone
Mixxx
Confirmed
Low
Unassigned

Bug Description

The menu bar at the top of the Mixxx window is an annoying waste of space, especially in full screen mode. It also looks out of place because it uses the system Qt theme beside our skins which have completely custom aesthetics. There are only a few useful items in the menus that are not available elsewhere in the GUI. Let's work towards replacing those with new actions in the skins and/or library so we can remove the menubar.

Revision history for this message
Be (be.ing) wrote :

To release this we need to make skin text translatable: Bug #1731653

Changed in mixxx:
importance: Undecided → Low
milestone: none → 2.2.0
Revision history for this message
jus (jus) wrote : Re: [Bug 1740365] [NEW] remove the menu bar

Careful here, investigate possible cross-platform issues first.

macOS:
Other than the bug description, there is no menu bar visible in full-screen mode.
It becomes visible by hovering on the very top top of the application window.
The OS forces a menu-bar on all apps in non-fullscreen mode,
it holds system relevant menu items ( System preferences, App store, user switching, ….).

Moreover it holds a searchable help system.

Sphinks, our document generator, has a builder available to integrate multilingual Apple Help books.
If done right, the Mixxx manual is searchable from the menu bar.

Why not make the menu bar useful on all OS, and the behavior predictable ( e.g. hiding in full-screen)?
Also see this old discussion: lp:1228772

Revision history for this message
Be (be.ing) wrote :

Sorry, it has been a long time since I have used macOS, so I forgot how that works. Maybe we could use an #IFDEF to keep a few menu items on macOS like File > Quit... or does macOS add that automatically?

Revision history for this message
Daniel Schürmann (daschuer) wrote :

I like the way Firefox has solved the issue.
Hide the menu bar by default and show it by "Alt" all dayli items are arrange under a gear menu widget.

Revision history for this message
Ron granger (ron-granger) wrote :

I do use the menu bar but I have to agree that it is annoying in fullscreen.
A setting for the menu bar behaviour would be the best decision from my view.

Thanks to daschuer, I didn't know this firefox feature. Implementing this behaviour for selection in Mixxx would be a great way.

Be (be.ing)
Changed in mixxx:
milestone: 2.2.0 → 2.3.0
ronso0 (ronso0)
Changed in mixxx:
status: New → Confirmed
Be (be.ing)
Changed in mixxx:
milestone: 2.3.0 → none
Revision history for this message
David Nadasi (macrophone) wrote :

I would love to have the feature to mask/unmask the menu bar in full screen with the Alt key like in Firefox or Atom.
It would help to save some space on small screens and remove unnecessary informations during live sets when features are already available on the skins.

Revision history for this message
Be (be.ing) wrote :

That would be a quick hack that doesn't actually solve the problem. The menu bar should be removed entirely after moving the few features that are only accessible there to other parts of the main window. Those features are:
  * Rescan Library
  * Full Screen
  * Preferences
  * the whole Help menu

David, if you want to work on moving those to other parts of the main window, that would be great!

Revision history for this message
Daniel Schürmann (daschuer) wrote :
Revision history for this message
ronso0 (ronso0) wrote :
Changed in mixxx:
assignee: nobody → ronso0 (ronso0)
status: Confirmed → In Progress
assignee: ronso0 (ronso0) → nobody
status: In Progress → Confirmed
Revision history for this message
ronso0 (ronso0) wrote :

--whooopsy wrong bug--

Revision history for this message
David Nadasi (macrophone) wrote :

I'm not sure I want to see all the menu features on the main (skin) interface. Most are useful only to set-up or tweak the software, not during a performance.

IMHO the proper solution would be, as Daniel said, to mask/unmask the menu bar with "Alt".

Revision history for this message
Mike (mhe1234) wrote :

I want to add extra addition to it.

It would be nice to remove the menu bar complete from the command line.

If that is possible, then we have an option to configure the player, and normal users cannot tweak the settings when its launched.

Revision history for this message
ronso0 (ronso0) wrote :

@mhe1234
Can you elaborate your use case please?
Currently initializing the menu bar also creates important keyboard shortcuts, for example Preferences and Quit.

Actually this PR is about removing the menu bar and repacing it with other means to access view settings, preferences etc.
What you demand is a 'locked' mode, right?

Revision history for this message
Mike (mhe1234) wrote :

Yes some sort of locked mode. We use Mixxx in vnc environment where they control it with a tablet. Thats why i stumble on the midi segmentation fault in other #

So no quit, options, preferences etc etc are needed. With that in mind, we have a mixxx environment that always work with what they only can see.

Demand is a big word, nice to have sounds better :-)!

Revision history for this message
ronso0 (ronso0) wrote :

okay, so you don't need a fancy replacement widget for the menu bar and can simply hide it.

I had a PR which does the hiding in a rather simple manner (some may consider it a hack :) just set the menu bar height to 0. This keeps the keyboard shortcuts working.
https://github.com/mixxxdj/mixxx/pull/3184
I closed the because there was a concurrent solution, thus I considered it a waste of time to polish mine (in some scenarios keyboard shortcuts stopped working in fullscreen mode).

I'm using this solution myself ever since on xUbuntu 20.04 and didn't experience any issues.
Just opened an extended PR against my fork. Since you are able to build Mixxx yourself I suggest you take a look:
https://github.com/ronso0/mixxx/pull/25
For a true 'locked' mode see the comments in the last commit.

Revision history for this message
Mike (mhe1234) wrote :

Yes, that will work. Is there also quick option to disable the keyboard shortcuts ?

Revision history for this message
ronso0 (ronso0) wrote :

Keyboard shortuts for DJ GUI can be disabled in the Options menu.
If you refer to application shortcuts like Ctrl+P for the preferences etc. then you should take look at the branch I linked above, I added a some comments to c++ code to cover exactly that.

Revision history for this message
Mike (mhe1234) wrote :

Thank you, going to try

Revision history for this message
David Nadasi (macrophone) wrote :

I would like to summarize my point on this. I can see 2 ways to resolve it :

1- a) Hide/Unhide the menu bar with a keyboard shortcut (Alt?)
   b) Add "Hide/Unhide menu bar" button on the skin

2- a) Remove the menu bar and the controls available on the skin
   b) Add "Hide/Unhide menu controls" button on the skin

For me, the option 1-a) is enough for my use case :
During performances, I can hide the menu bar and save space on the screen. If needed I can recall easily the menu bar with a simple shortcut (Alt).

The option 1-b) allow people who accidentally hide the menu bar to recover it simply via the skin without knowing the shortcut. It's "low cost" in skin dev, and doesn't charge the interface with non useful informations.

The option 2 isn't relevant for me : I don't want to see options on the skin I don't need, that's why I suggest to add them on a panel we can open and close with a button (option 2-b)).

What do you think ? Should we divide this into 2 bugs ?

Revision history for this message
Be (be.ing) wrote (last edit ):

Neither of those actually solve the problem of the menu bar existing. The solution was outlined in https://bugs.launchpad.net/mixxx/+bug/1740365/comments/7

Revision history for this message
Jan Holthuis (holthuis-jan) wrote (last edit ):

I don't think we should spend time on fixing this issue with the legacy skin system and work on the QML UI instead, which doesn't have a menu bar at the moment. If we just don't add it, this issue practically solves itself.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

@ Mike (mhe1234) feel free to file another bug for you lock mode use case.
This way we can keep this bug for the visual aspect of a menu bar.

Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/9021

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.