Bug 172551 - KDE4: kdeglobals/macStyle=true => No menubar visible, no GUI avaible to show it again
Summary: KDE4: kdeglobals/macStyle=true => No menubar visible, no GUI avaible to show ...
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kdeui (show other bugs)
Version: 4.1
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: kdelibs bugs
Depends on: 153027
  Show dependency treegraph
Reported: 2008-10-10 22:51 UTC by Emmeran Seehuber
Modified: 2008-10-11 22:49 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description Emmeran Seehuber 2008-10-10 22:51:11 UTC
Version:            (using KDE 4.1.2)
OS:                Linux
Installed from:    Ubuntu Packages

After I upgrade my KDE3 to KDE4, including my configuration, I could no longer see any menu bar in KDE4 applications.

To be more specific => I upgraded my Ubuntu from 8.04 to 8.10. There is no longer a KDE3, so the KDE to use is KDE 4.1. KDE4.1 no uses my KDE3 configuration, which had MacOS Style Menubars turned on.

KDE4 currently does not support MacOS Style Menubars (See also Bug 153027), BUT it honers the .kde/share/config/kdeglobals macStyle setting (which you can find under Section [KDE]), i.e. it *hides* the menubar in the application window.

Steps to reproduce:
Edit your .kde/share/config/kdeglobals file and put macStyle=true in the [KDE] section. Now start a new application (i.e. kate from konsole). It wont show a menubar, and you can not show it using the button you can put on the toolbar.

You get the same behavour (i.e. setting) if you upgraded your KDE3 Desktop, which had MacOS Menus on, to KDE4. This might happen to many Kubuntu Users soon ...

Edit kdeglobals and set macStyle=false. All KDE4 applications started now will show a menubar again.

There is no longer a kcontrol module available to change this setting.

Suggested Fix:
Dont honor macStyle as long there is no plasomid to show the Mac menubar (See Bug 153027). Even if there is support in future for a macos menubar plasmoid, KDE4 applications should *always* fall back to "in window" mneu if the plasmoid is not loaded. Otherwise users might get confused
Comment 1 Urs Wolfer 2008-10-11 14:22:31 UTC
Do you think it would be a good idea just ignoring this setting until that style of menu bars is available in KDE 4 again?
Comment 2 Emmeran Seehuber 2008-10-11 22:06:34 UTC
Yes, that would be good, as it may bite other users migrating from KDE3 too. I think a fix for this could be simply changing 



void KMenuBar::slotReadConfig()
  KConfigGroup cg( KGlobal::config(), "KDE" );
  setTopLevelMenuInternal( cg.readEntry( "macStyle", false ) );

to this:

void KMenuBar::slotReadConfig()
  KConfigGroup cg( KGlobal::config(), "KDE" );
  setTopLevelMenuInternal( false ); // TODO Bug 153027

Could work, but since I dont have a build env for KDE4 I cant test it. Such a fix might be interesting for the KDE4.1 branch and the distros shipping it.

Comment 3 Aaron J. Seigo 2008-10-11 22:49:21 UTC
i already fixed this issue by ignoring the setting in kwin.

i don't like changing it in KMenuBar as that means:

* having to remember to fix it in the libs after we put this feature back in the apps in kdebase/workspace/.

* kde4 apps would no longer work properly with this setting in a kde3 session

it no longer removes the menubar in current trunk/ when the setting is on, so the bug is fixed...