Bug 431337 - konsole Profile Visibility Can No Longer Be Controlled, and More Of Them Appear in Menus
Summary: konsole Profile Visibility Can No Longer Be Controlled, and More Of Them Appe...
Status: REPORTED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: 20.12.0
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
: 430723 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-01-08 22:12 UTC by Bill Wayson
Modified: 2022-07-04 18:49 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Comparison of konsole's profile-related behavior between v20.12.0 and v20.04.2 (289.16 KB, application/zip)
2021-01-08 22:12 UTC, Bill Wayson
Details
attachment-18931-0.html (4.21 KB, text/html)
2021-01-09 00:01 UTC, tcanabrava
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bill Wayson 2021-01-08 22:12:44 UTC
Created attachment 134667 [details]
Comparison of konsole's profile-related behavior between v20.12.0 and v20.04.2

SUMMARY
After a TW update around the weekend of December 19, 2020, konsole (at version 20.12.0 as of January 8, 2021) lost the ability to set the visibility of its profiles in konsole's menus (e.g. File -> New Tab).  At the same time, a larger number of profiles appears in its menus.

STEPS TO REPRODUCE
1. Ensure that konsole (and konsole-part) is at version 20.12.0
2. Run konsole and expose the menubar
3. Select Settings -> Manage Profiles...

OBSERVED RESULT
In the list of profiles, there is no "eye" column to control visibility in konsole menus (e.g. File -> New Tab).  I have looked in vain for a replacement for this functionality.

EXPECTED RESULT
A column in the list of profiles (or some other way in the GUI) where I can elect to make a profile visible or not in konsole menus.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Kernel 5.10.4; openSUSE Tumbleweed 20210106
(available in About System)
KDE Plasma Version: 5.20.4
KDE Frameworks Version: 5.77.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
This has been reported to openSUSE (https://bugzilla.opensuse.org/show_bug.cgi?id=1180343).  I have attached a zip file showing some konsole profile-related differences between TW (konsole is at version 20.12.0 as of January 8, 2021) and Leap 15.2 (konsole is at version 20.04.2 as of January 8, 2021).  The konsole_*-manage_profiles pictures show that the visibility "eye" column no longer appears and TW shows the correct number of profiles (three I created and the default Root Shell profile).  Similarly, the konsole_*-new_tab and konsole_*-switch_profile pictures show the strange menu differences between the two OSes.  (As an aside, the problem switching profiles using the shown menu in TW was fixed a week or so ago.)

The "Favorite Profiles" section of ~/.config/konsolerc looks correct to me, and it is the same in both OSes.  I'm happy to provide any additional information, files, etc., if requested.  The list of profiles in the Konsole Profiles Plasma widget is correct in TW.
Comment 1 tcanabrava 2021-01-09 00:01:34 UTC
Created attachment 134671 [details]
attachment-18931-0.html

This is expected.
It is removed because the old behavior was strange: why you have profiles
you can’t access, and how many profiles you need to have for this to be a
problem?


On Fri, 8 Jan 2021 at 22:12 Bill Wayson <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=431337
>
>             Bug ID: 431337
>            Summary: konsole Profile Visibility Can No Longer Be
>                     Controlled, and More Of Them Appear in Menus
>            Product: konsole
>            Version: 20.12.0
>           Platform: openSUSE RPMs
>                 OS: Linux
>             Status: REPORTED
>           Severity: normal
>           Priority: NOR
>          Component: general
>           Assignee: konsole-devel@kde.org
>           Reporter: bill_wayson@yahoo.com
>   Target Milestone: ---
>
> Created attachment 134667 [details]
>   --> https://bugs.kde.org/attachment.cgi?id=134667&action=edit
> Comparison of konsole's profile-related behavior between v20.12.0 and
> v20.04.2
>
> SUMMARY
> After a TW update around the weekend of December 19, 2020, konsole (at
> version
> 20.12.0 as of January 8, 2021) lost the ability to set the visibility of
> its
> profiles in konsole's menus (e.g. File -> New Tab).  At the same time, a
> larger
> number of profiles appears in its menus.
>
> STEPS TO REPRODUCE
> 1. Ensure that konsole (and konsole-part) is at version 20.12.0
> 2. Run konsole and expose the menubar
> 3. Select Settings -> Manage Profiles...
>
> OBSERVED RESULT
> In the list of profiles, there is no "eye" column to control visibility in
> konsole menus (e.g. File -> New Tab).  I have looked in vain for a
> replacement
> for this functionality.
>
> EXPECTED RESULT
> A column in the list of profiles (or some other way in the GUI) where I can
> elect to make a profile visible or not in konsole menus.
>
> SOFTWARE/OS VERSIONS
> Linux/KDE Plasma: Kernel 5.10.4; openSUSE Tumbleweed 20210106
> (available in About System)
> KDE Plasma Version: 5.20.4
> KDE Frameworks Version: 5.77.0
> Qt Version: 5.15.2
>
> ADDITIONAL INFORMATION
> This has been reported to openSUSE
> (https://bugzilla.opensuse.org/show_bug.cgi?id=1180343).  I have attached
> a zip
> file showing some konsole profile-related differences between TW (konsole
> is at
> version 20.12.0 as of January 8, 2021) and Leap 15.2 (konsole is at version
> 20.04.2 as of January 8, 2021).  The konsole_*-manage_profiles pictures
> show
> that the visibility "eye" column no longer appears and TW shows the correct
> number of profiles (three I created and the default Root Shell profile).
> Similarly, the konsole_*-new_tab and konsole_*-switch_profile pictures
> show the
> strange menu differences between the two OSes.  (As an aside, the problem
> switching profiles using the shown menu in TW was fixed a week or so ago.)
>
> The "Favorite Profiles" section of ~/.config/konsolerc looks correct to
> me, and
> it is the same in both OSes.  I'm happy to provide any additional
> information,
> files, etc., if requested.  The list of profiles in the Konsole Profiles
> Plasma
> widget is correct in TW.
>
> --
> You are receiving this mail because:
> You are the assignee for the bug.
Comment 2 Christoph Feck 2021-01-09 00:37:02 UTC
Here, I get these four profiles: "Default", "Shell", "Root", "Root Shell". I only need two, because the other two are just system defaults which I cannot delete.

Do you see which of "Root" and "Root Shell" is the one I configured myself, and which is the one provided by the system?
Comment 3 Bill Wayson 2021-01-09 22:53:20 UTC
My use case (i.e. why the old behavior is better for me) is that I don't want to use or see the builtin Default profile (which seems to be built in to konsole and not a separate profile file) and I want to only see my modified Root Shell profile.  The two profiles I now see but don't want to are those that come packaged with konsole.  I know that, as root, I could modify the delivered Root Shell.profile file to implement my modifications, but that seems to me to contradict keeping personalizations personal and not global.
Comment 4 Nate Graham 2021-01-11 23:58:51 UTC
Seems like the real problem is that the default profiles can't be edited. Hiring them is a workaround for that; we should make them editable directly, and the reason for wanting to hide profiles disappears.
Comment 5 Bill Wayson 2021-01-12 18:50:42 UTC
Possibly, Nate.  User modifications would need to survive updates to konsole -- a problem with modifying the built-in Root Shell.profile file.
Comment 6 Ahmad Samir 2021-01-12 21:29:19 UTC
IIRC read-only profiles, ones that are installed under /user, used to editable in Konsole, and that was done by copying the .profile to ~/.local/share/konsole/, but that was a source of a lot of bugs.

Look at the colorscheme editor KCM, it doesn't allow editing the schemes installed under /usr, you can however "copy" the scheme and save it under a different name under ~/; Kate's revamped syntax highlighting config dialog, and  Qt Creator syntax highlighting color schemes act the same way.

IMHO, we shouldn't go back to that.

Also the "Default" profile, which comes directly from the C++ code in Konsole, should always be there as a fallback/pristine profile, you can create a new profile based on it, but not modify it directly.

I don't know how this bug should be fixed... maybe distros should switch from installing the profiles under /usr/share/konsole to putting them in /etc/.skel/, then they're copied to the user's home, but that would mean that existing users with existing home dirs won't have the "Root Shell", whatever that profile does.
Comment 7 Ahmad Samir 2021-01-12 21:29:55 UTC
Errr, typo, should be /usr.
Comment 8 EB 2021-02-24 01:10:41 UTC
(In reply to tcanabrava from comment #1)
> This is expected.
> It is removed because the old behavior was strange: why you have profiles
> you can’t access, and how many profiles you need to have for this to be a
> problem?

I support this as being an issue. In my case, I have around 200 custom profiles which I enable/disable depending on which project or client environment I am working with.

Being able to simply disable profiles, avoids having to re-create them when I go back to work with an existing project or client environment.

Can you please put this option back?

Thanks
Comment 9 Bill Wayson 2021-02-24 23:59:10 UTC
I, like EB, would like this to be an issue and that the old visibility option and behavior be restored.  The current behavior under openSUSE Tumbleweed is less that optimal.  EB's use case is an even stonger one to bring back the previous behavior.

Many other applications, including KDE's, allow users to customize them, often easily through their UIs.  For example, I can enable and disable Plasma's desktop effects using checkboxes.  Many effects are installed by default, but I don't necessarily want them all to be activated.  Almost universally, such user customizations are stored in files under their home directory, and many are plain text files.  Certainly, the user could modify them and introduce "bugs," but that is on them.  If this is such a serious issue with Konsole, as suggested in comment 6, perhaps Konsole could run a lint-like sanity check of a user's profiles on startup and deal appropriately with any errors found.

I am not a fan of modifying defaults if such defaults are implemented in protected areas (e.g. the program itself or files under /usr).  Unless I am missing something, the easiest way to restore the behavior (i.e. fix the bug) is to have Konsole honor the "Favorites" line in the "Favorite Profiles" section that still exists in ~/.config/konsolerc (and IS still honored by the Konsole Profiles plasma widget).  The other options offered seem to be too round-about and complicated, especially when compared to behavior that worked so simply up until now.

So, +1 from me: bring back the visibility checkboxes and behavior in konwole.  Thanks!
Comment 10 tcanabrava 2021-02-28 12:41:16 UTC
Can you, EB and Bill Wayson, talk to me explaining lengthly why you need 200 profiles, or the hability to hide profiles from the menus?

I'm currently trying to rework the profile code, and I personally feel that if you have 200 profiles in konsole that's a wrong profile usage (there are not enough different profile settings for that, to be honest)

So I want to try to make the new profile system correct for people that have many profiles. But hiding the profiles that are shown in the menu inside of the configurations does not seem to be the correct approach.
Comment 11 Marcin Gryszkalis 2021-03-01 22:12:23 UTC
I support EB and Bill about this. I have about 40 profiles with command like "ssh -l xyz -L 1234:1.2.3.4:4321 -D 48081 host1.domain.com" - that allows me to login to the box with two simple clicks (via agent). I use icons and background colors (specified in profiles) to distinguish between sessions. So it's more like connection manager than only profile manager (but possibility to change all visual stuff is very important). And because some jobs are recurring I tend to disable relevant profiles (for few months) and then reenable (or delete when I know they are gone). In fact I think I would prefer to have possibility to "favourite" some profiles (and have the rest available via "all" submenu) - but I'm not sure if it's a strong usecase.
Comment 12 Marcin Gryszkalis 2021-03-01 22:14:09 UTC
*** Bug 430723 has been marked as a duplicate of this bug. ***
Comment 13 EB 2021-03-02 02:21:10 UTC
(In reply to tcanabrava from comment #10)
> Can you, EB and Bill Wayson, talk to me explaining lengthly why you need 200
> profiles, or the hability to hide profiles from the menus?
> 
> I'm currently trying to rework the profile code, and I personally feel that
> if you have 200 profiles in konsole that's a wrong profile usage (there are
> not enough different profile settings for that, to be honest)
> 
> So I want to try to make the new profile system correct for people that have
> many profiles. But hiding the profiles that are shown in the menu inside of
> the configurations does not seem to be the correct approach.

My use case is exactly the same as mentioned by Marcin Gryszkalis in https://bugs.kde.org/show_bug.cgi?id=431337#c11 (comment #11).

As I go between different offices/clients, I have many 'ssh' customisations which are based on differing network topologies. I prefer not to memorise them all, so I keep them in my konsole profiles.

It is a really useful feature of the konsole application to be able to do this. However, I don't need to see all of the profiles, all of the time.

Hence, the use of the 'visibility' checkbox is also a very useful feature.
Comment 14 EB 2021-03-02 02:37:10 UTC
(In reply to tcanabrava from comment #10)

Also, if you are re-working the profile code, I would second Marcin Gryszkalis' suggestion to allow the creation of groups of associated profiles.

e.g.
By default, have everything in one list for backwards compatibility for existing users (with the 'visibility' flag)

Then, additionally, if the profile is part of a group, to include it in a sub-menu in the 'New tab' menu

I don't know if the latter is a good suggestion for the UX, but something like this could also be nice
Comment 15 Bill Wayson 2021-03-03 18:57:45 UTC
@tcanabrava, I apologize for the delay.  Thank you for considering our situations.  I have only three custom profiles.  They are just clones of built-in profiles:  the Root Shell profile and the Default profile.  The latter, I use for normal command line stuff, the former for root stuff.  The main customization is in the Appearance:  I changed the Color scheme & font to Black on Random Light, because that is what I like.  My custom Root Shell profile is also called Root Shell (I know I could name it something else, but it is my root-privileges shell), but I rename my custom Defaut profile to "Shell" (for "normal user" shell).  These are my only customizations of these two profiles.  The third, also a clone of the Default, is specific for ssh-ing to a NAS of mine.  It uses the Green on Black color scheme to make the window contents easier to see when I am ssh-ed to the NAS.

Under the old konsole behavior (and the current behavior for version 20.04.2), once I create my normal-user Shell profile (and make it the default profile? -- which I do), a profile named Default no longer appears.  So, the only issue is that I now have two profiles named Root Shell.  When both are visible, they are ordered in menus randomly.  Sometimes mine is first, sometimes it is second.  Because of this, and because I don't ever want to use the built-in Root Shell white background, I hide it.  Now, I can see and use only my custom R.S. profile, which is what I want to do.

The new konsole behavior adds a new complication.  Even though my custom Shell profile was set as the default (that setting has gone away, too, but my Shell profile still acts as the default), I now see a Default profile in menus along with my Shell profile.  Similar to my desires above for the two Root Shell profiles, I don't want to ever use the built-in Default profile.  So having it and both built-in Root Shell profiles appearing in the menus (and the two Root Shell profiles are still ordered randomly, so its a crap shoot as to which one I get when I pick one) is an annoyance.  Being able to select which profiles to appear in the menus removes that annoyance.

I am not going to throw myself on my sword over this.  But I would like to see the user choices of visibility and setting the default profile returned.  And, I can see that EB's and Marcin's issue is more than just an annoyance.  Thank you again for all the work you do on konsole -- I really appreciate it.
Comment 16 tcanabrava 2021-03-03 19:14:41 UTC
Sometimes we do good work, sometimes we destroy people's layout.
From what I understand the usecase here is that profile is being used as "PuTTY", so I'll write an SSH Manager buildin in konsole that you can specify a profile to use for the connection.

This will fix the 200+ profiles issue - because even if this works, the profiles are not meant for this and a better fix is needed.

I'll work on this on this week.
Comment 17 Bill Wayson 2021-03-03 23:49:23 UTC
That we use profiles similarly to PuTTY profiles is a good way to put it.  Is there anything available that describes your or KDE's intent for konsole profiles?
Comment 18 EB 2021-03-08 16:10:28 UTC
(In reply to tcanabrava from comment #16)

> From what I understand the usecase here is that profile is being used as
> "PuTTY"

Yes, this is a great comparison. On the occasions that I use PuTTY, I do exactly the same thing

> I'll work on this on this week.

Thanks :)
Comment 19 tcanabrava 2021-03-08 20:17:13 UTC
A relevant merge request was started here: https://invent.kde.org/utilities/konsole/-/merge_requests/360

Please don't use it yet unless you want to contribute with code, this does not work yet.
But this is what I'm (starting to) envision for a PuTTY style manager for konsole.
Comment 20 tcanabrava 2021-03-08 20:20:25 UTC
Bill, a profile in konsole is a collection of settings, mouse actions, shortcuts and colors. This is what i want it to be, this is what I intend to keep & simplify.

There are usecases - like those described here - that are possible with the profiles, but the current way to manage them is suboptimal. let's try to make them optimal.
Comment 21 Joerg Schiermeier 2021-03-08 22:13:31 UTC
On Monday, March 8, 2021 at 21:20:25 tcanabrava@kde.org wrote:

> --- Comment #20 from tcanabrava@kde.org ---
> Bill, a profile in konsole is a collection of settings, mouse actions,
> shortcuts and colors. This is what i want it to be, this is what I intend to
> keep & simplify.

Right!
If someone want this than "Konsole" is the wrong place!

Simply install the real Putty for Debian:
<https://packages.debian.org/bullseye/putty>
This is the Linux like implementation of Putty compiled from the
original Putty source.


> There are usecases - like those described here - that are possible with the
> profiles, but the current way to manage them is suboptimal. let's try to make
> them optimal.

To create a Putty like "SSH manager" thing is doubling an existing
program and the reinvention of the wheel! Please don't do this.


"Konsole" is a simple graphical user interface to a console or better
said: to a command line interface as a text window.


My use case only use the command line parameter "--profile=xxx" to
switch to different profiles like tcsh or mksh or python. For this use
I have created two or three XDG desktop files.

And my first need is simply to set two or three existing profiles out
of ten or so as a visible submenu in "Konsole"'s like before. So when
I want to open a new tab in an open window I simply choose the menu
click the function (bash/zsh or mc or htop) I want. Nothing more.

This was my intention when I filed the bug #430723 last year (For
unknown reasons my bug was marked as a duplicate of this bug :-). For
my use this way is sufficient to mark some of the existing profiles to
be showed in menu.
Comment 22 Bings 2022-06-19 08:55:33 UTC
I use konsole profiles to customise terminal apps like neomutt and newsboat. I launch them, not from konsole but instead use "konsole --profile" to launch them from the application menu, I don't need these profile entries in the switch profile and new tab menus, so the hide option removed clutter. It's annoying this was removed. it makes the menus bad to use.

Also, now there is a now an unused "hard coded" default profile that now sits in the menus like an unflushable turd.

Please bring back the option to hide profiles from the menus.
Comment 23 Bill Wayson 2022-07-04 18:49:54 UTC
Thanks, Bings.  Yes, please restore the ability to control the visibility of profiles in menus.  It's my personal preferences, but I don't care for the color choices of the built-in "Default" or the supplied "Root Shell" profiles.  I've created my own profiles which are the only ones I wish to see in the Konsole menus.