Bug 288768

Summary: Removing Konsole menubar but is brought back after reboot
Product: [Applications] konsole Reporter: Jesse <shubhadeepc>
Component: generalAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED FIXED    
Severity: wishlist CC: adaptee, cgc281, majewsky, rakuco, robert
Priority: NOR    
Version: 2.8   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In: 4.9.0
Attachments: the new global option for menubar

Description Jesse 2011-12-12 00:15:18 UTC
Version:           2.8 (using Devel) 
OS:                Linux

Konsole looks so much better without the menubar. So I always remove it.
Since 4.8 Beta 1, the menubar reappers after a reboot.

Reproducible: Always

Steps to Reproduce:
1. Start Konsole
2. Untick Settings->Show Menubar OR press Ctrl+Shift+M while in Konsole
3. Reboot & re-run Konsole

Actual Results:  
Menubar shouldn't be present.

Expected Results:  
Menubar re-appears.
Comment 1 Jekyll Wu 2011-12-12 00:47:08 UTC
Thanks for reporting!  

I guess the "show menu bar in new windows" option is enabled in your default profile. If so, this is not a bug. It is the expected behavior since bug 186561 is fixed in KDE 4.8 . So in KDE 4.8, the initial visibility of menu bar is really determined by the initial profile, instead of by the last state.

You might argue that the initial visibility of menu bar should be something global instead of per profile. I tend to agree with that. But Konsole currently puts almost all settings into profiles. So before bug 250508 and bug 171866 are fixed, I think the behavior in KDE 4.8 is less confusing than the previous behavior.
Comment 2 Jesse 2011-12-12 01:00:19 UTC
OK, I understand. Thanks for the quick reply.
Please close this bug then.
Comment 3 Jekyll Wu 2011-12-15 22:09:19 UTC
*** Bug 289065 has been marked as a duplicate of this bug. ***
Comment 4 Piotr Budny 2012-01-10 10:33:34 UTC
Due to per-profile settings, I suggest to remove that option from global menu. 
This menu option is confusing. It should either disable menu for current profile, or should be named as "temporary remove menubar" to remove this ambiguity.
Comment 5 Jekyll Wu 2012-01-10 12:37:19 UTC
(In reply to comment #4)
> Due to per-profile settings, I suggest to remove that option from global menu. 
> This menu option is confusing. It should either disable menu for current
> profile, or should be named as "temporary remove menubar" to remove this
> ambiguity.

Thanks for your advice. 

I agree the situation in KDE SC 4.8 is not ideal enough( but better than in KDE SC 4.7 IMHO). I plan to add the "Configure Konsole" dialog in 4.9, and move a few options which are expected to be global instead of per-profile into that dialog. This "show menu bar in new windows" option is a good candidate.

Maybe the better choice is to just get rid of this option. Konsole might be the only KDE application which provides such option. Other applications just remember and restore the previous visibility state of menubar.

Reopen this report for tracking advice and progress.
Comment 6 Jekyll Wu 2012-01-22 09:13:10 UTC
Created attachment 68085 [details]
the new global option for menubar

I have just pushed some commits onto the master branch. Now konsole has the 'Configure Konsole' dialog for global options. The 'show menu bar in new windows' option is moved there and slightly renamed to 'Show menubar initially in Konsole window' to describle its purpose more accurately . 

As the description implies, it only controls the INITIAL/DEFAULT visibility of menubar. Once a Konsole window is shown, that option's job is done. Changing that option will not influence  menubars of existing Konsole windows. That would the job of the 'Settings -> Show Menubar' action.

As for the idea of removing that option, after giving it a second thought, I now prefer to keep it. As a terminal emulator, it is important to be able to control the initial/default visibility of menubar in a explicit way instead of relying upon the previous state in a implicit way.
Comment 7 Jekyll Wu 2012-02-12 03:07:12 UTC
*** Bug 293865 has been marked as a duplicate of this bug. ***
Comment 8 Jekyll Wu 2012-02-12 21:14:59 UTC
*** Bug 293935 has been marked as a duplicate of this bug. ***
Comment 9 Raphael Kubo da Costa 2012-02-12 23:50:15 UTC
I'm still a bit confused by the reasoning in the previous comments: so initially, each profile could set whether the menu bar should be shown or not, which was wrong (or not working properly); to fix it, the setting has been made global and added to "Settings -> Configure Konsole", while the "Show Menubar" setting under settings now controls whether the menu bar should be shown under the current "session".

I find it somewhat related to bug 293231, in that it breaks the "Principle of least astonishment" by changing the meaning of an existing option ("Show Menubar", which now only controls the temporary behavior) and, in a way, not migrating the user's previous per-profile setting to the global one; furthermore, the "Show Menubar" setting is used to permanently change this setting in applications such as Konqueror and Konversation.

Would it make sense to drop both the global and the per-profile setting and rely on the "Show Menubar" option behaving like it does in other applications (ie. globally and across sessions)?
Comment 10 Jekyll Wu 2012-02-13 06:24:31 UTC
Well, I will try my best to summarize this "show menubar" issue based upon what I do know and what I guess :)

In the KDE3 era, we had the "Hide menubar" action under "Settings" and "Show menubar" action in the context menu. Their effects were both temporary. Closing and reopening konsole, the menubar does not remember the previous implicit state. "Save as Default" under "Settings" will take permanent effect on whether showing menubar by default. That combination sounds familiar :)

Between KDE 4.0 and KDE 4.7, we had the "Show Menubar" toggle action under "Settings" and context menu. We also had the "show menu bar in new windows" as a per profile option. The design intention, I guess, was to simulate KDE3's combination of temporary and permanent change. However, as bug 186561 has pointed out, the implementation was broken. The actual result was "Show Menubar" action took effect permanently and that per profile option didn't work at all. That cause the wrong impression that "Show Menubar" was supposed to behave in the same way as in other KDE applications. 

In KDE 4.8, the only change related with menubar is bug 186561 has been finally fixed. That is good. Now we finally have a implementation which is consistent with the design. However, due to wrong impression caused by the long-time broken implementation, some users think there is a regression and open bug report for it. So we have bug 288768. I have explained why that is not a bug in comment #1 and closed it as "INVALID" . 

In KDE 4.9, I (after discussing with Kurt) decide to change some per-profile options into global options. The reason is they are conceptually global and cause trouble in existing code.  The "show menubar in new windows" is one of them. It is done now. But the design has not changed: "Show menubar" action for temporary change, while the global option for permanent change. That is basically the same as the KDE3 era. I just reopened(in a abusing way?) bug 288768 as a wish for tracking this progress. 

As for your suggestion of removing that explicit option , I once had the same idea (See comment #5 ) but rejected it later myself. Changing a long time design decision(since KDE3) is usually not a good idea. Actually I'm considering adding the '--hide-menubar' and/or '--show-menubar' command line options to give users more flexible control of the menubar.

I hope I have explained it clear enough.
Comment 11 Raphael Kubo da Costa 2012-02-18 19:41:30 UTC
(In reply to comment #10)
> I hope I have explained it clear enough.

Indeed, in the end, it all boils down to a design decision -- I personally don't agree with it, and feel that the KDE4.0-4.7 time frame may have changed people's expectations wrt that option's behavior, but I respect your opinion as the maintainer.

Thanks for the detailed explanation :)
Comment 12 Jekyll Wu 2012-03-06 13:53:13 UTC
*** Bug 295413 has been marked as a duplicate of this bug. ***