Bug 153027

Summary: No MacOS-like menu on top of screen in KDE 4.x
Product: [Frameworks and Libraries] kdelibs Reporter: Thibaut Cousin <kde>
Component: generalAssignee: Aurelien Gateau <agateau>
Status: RESOLVED FIXED    
Severity: wishlist CC: andrey, burcheri.massimo+bugs-kde, cberger, KaiUweBroulik2, kamikazow, kde-bugs, l.lunak, matt
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 4.10
Bug Depends on:    
Bug Blocks: 172551    

Description Thibaut Cousin 2007-11-27 23:33:00 UTC
Version:            (using KDE KDE 3.96.0)
Installed from:    SuSE RPMs
OS:                Linux

After some research in the system settings in KDE 3.96.1, I found no option to have all menu bars placed at the top of the screen, in a Mac OS-like fashion. Is this option gone?

If it's gone in KDE 4.0 (which I can understand), are there any plan to have it back later?

I like this system, mainly for two reasons:

1) It saves a lot of screen space: one less menu bar on each window.
2) The top menu bar is easy to reach: just move your mouse until you hit the top of the screen. ;-)

And there are two things that could probably be improved from KDE3:

1) There wasn't anything telling the user whose menu bar was displayed. In Mac OS X for example, there is a menu with its label written in bold font carrying the name of the current application.
2) Some icons or informations could be displayed in the free space on the right in that top menu bar: a clock, for example, or maybe the whole systray.

I apologize for not providing any patch, I'm no programer. I just hope that some feedback might be useful. Nevertheless, I would happily test any patch somebody could provide. :-)

Thanks for your attention.
Comment 1 Thibaut Cousin 2007-11-28 22:49:22 UTC
Thank you for the redirect to kwin bugs. I hadn't realized that the menu bar was handled by the window manager. :-)
Comment 2 Lubos Lunak 2007-11-28 22:52:14 UTC
There probably won't be any in 4.0, but I want to have a look at it as time permits later, since I use it as well.

As for having other items in the menubar in KDE3, you need to do it the other way around: Add another Kicker panel at the top, add the menu applet and add whatever you want there.
Comment 3 Thibaut Cousin 2007-11-28 23:02:47 UTC
I didn't mean «improved in KDE3» but «improved from KDE3». ;-) I understand that things won't change in KDE3, I was only suggesting things for a future KDE release.

If this bugreport is left open, will you send patches to test here, later on?
Comment 4 Aldoo 2007-11-29 13:51:56 UTC
Speaking of MacOS-like menu:

If we implement the first suggestion from Thibaut, when we use a full screen app, then the title bar of the window decoration becomes somewhat redundant. In fact, the whole window decoration becomes pretty much useless, excepted for the buttons to minimize, unmaximize and close the window. If it is useless, it should be removed in order to free more space on the screen.

What I suggest, is to have options for the following behavior: when we are in MacOS menu mode, and a window is maximized
- interact with kwin in order to remove the whole window decoration
- add an applet in the top menu bar with the usual window controls: help, minimize, unmaximize, close, and so on. (an alternative would be that KDE apps could have a tool bar with window controls)
When the window is unmaximized, give it its decoration back.
The question is whether to always keep the window title and the window controls in the MacOS menu bar. That would be a sensible thing, because it would make window controls easy because they would always be at the same place of the screen.

A drawback of such a feature would be that the top bar might quickly become cluttered with tons of elements. Today, in my top bar, I already have the K menu, the "show desktop" icon, a folder menu, the "window list" menu, then the app menus (taking the biggest part of the screen width), the systray and the clock. Honestly I have no more pixels left for the window title. But yet I would still be pleased if I could automatically remove the decoration of maximized windows... (anyway, the window title might appear in my task bar or dock, when I have one).
Comment 5 Friedrich W. H. Kossebau 2008-04-20 23:41:33 UTC
Just got pointed at this bug report, so I simply copy my mail to panel-devel:

I started a port (as in: start from scratch but in the end copy large parts and adapt them) of the KDE 3 kicker applet. It even compiles and starts, but somehow the toplevel menu windows are suppressed by KWindowSystem, so no menus are catched by the plasmoid so far.

See
http://websvn.kde.org/trunk/playground/base/plasma/applets/programmenu/

If you play with it, do not forget to add "macStyle=true" to the "[KDE]" 
section in kdeglobals and to reconfigure all with kbuildsycoca4.

Feel free to hack on it. Especially find out why a toplevel KMenuBar is not 
registered as a window or something :) No need to query me first with any 
patches, just go with them and commit, as I do not have much time for this 
plasmoid anyway, I will be pleased if you beat me on it! Especially you, Lubos :)
Comment 6 Massimo Burcheri 2009-11-27 14:01:49 UTC
Finally moving to KDE4 I really miss this KDE3 feature about only one menubar on top like Mac OS. What's wrong with porting the KDE3 behaviour. That was no problem with full screen apps. And people using additional bars can even disable the "top menubar" feature.
Comment 7 Massimo Burcheri 2010-01-13 09:36:05 UTC
This feature seems to be possible now with an X-bar widget. Currently it only seems to work with the bespin style.
Comment 8 Cyrille Berger 2010-01-13 12:07:58 UTC
It is also available in QtCurve (but it is a build option, disabled by default)
Comment 9 markuss 2010-08-30 13:57:10 UTC
Aurélien Gâteau works on an implementation that should be ready by KDE SC 4.6 and not only works with specific widget styles and GTK apps as well:
https://launchpad.net/plasma-widget-menubar (pre-release version already available).

I think it's justified to assign this bug report to him.
Comment 10 Kai Uwe Broulik 2011-02-24 09:33:36 UTC
The new Global Menu Bar widget offers exactly the same functionality but it is not suitable for me unfortunately. Since you cannot stack panels or otherwise put widgets ontop of each other in panels, I cannot add the menubar to the top of my screen since there is my taskbar already. And putting that widget into the panel results in the taskbar being moved randomly (depending on the entries in the menu bar)
So, no Unity/Mac elegance for KDE for now :(
Comment 11 markuss 2011-02-24 17:14:55 UTC
"cannot stack panels" would be a new Plasma bug.
Comment 12 Kai Uwe Broulik 2011-02-24 18:45:40 UTC
I know, and it has already been posted and rejected by Plasma developers unfortunately because of like too complicated and blah blah
Comment 13 markuss 2013-01-20 11:29:53 UTC
Available as 1st party solution beginning with 4.10:
http://gnumdk.blogspot.de/2012/11/appmenu-support-in-kde-410.html
Enable under System Settings -> Appearance -> Style -> Fine Tuning.