System Settings could use main/sub-menu rework for more consistent UX

I feel the systems setting application needs a bit of main/sub menu rework, because the current UX is inconsistent at the default settings window width.

For example, let’s say you choose a setting from the main menu that has no sub-menus. Your “main” menu stays at the top level. Like this:

Screenshot_20251129_131553

Screenshot_20251129_1315531093×860 159 KB

But if you choose an option with sub menus, the top level main menu goes away and gets replaced with the sub-menus. This is very jarring, since settings with just a single “page” like “Game Controller” “Sound” “Thunderbolt” “Printers”, etc… do not cause the menu column to suddenly change, and instead stay at the top level.

Screenshot_20251129_131858

Screenshot_20251129_1318581069×853 91.6 KB

This can be confusing to users, because the different menu options behave differently. It also makes it difficult to quickly click through menu options if you’re trying to find something, because your top level menu will become obfuscated the moment you click on a setting with sub-menu options.

When the window is just a litttttttllee bit wider, the settings app will simply create a new additional column for any setting with sub-menus, and the “main” menu on the left always stays at the high level. This provides for a very consistent UX and allows users to quickly scan through options.

Here are a few possible solutions that I feel that this UX could be improved:

  1. Always switch the left column to the sub-menu view when the window is too small: Clicking a specific setting, the main column on the left will always switch to sub-menu display. This would result in a sub-menu with just a single entry for things like “Sound” or “Game Controller”. I do not feel this solution is ideal, but it at least it will provide for a consistent experience across all options. See mock-up below:

  1. Enforce a larger minimum window width: When the window is around ~1200 pixels in width, the second column is always enabled, providing a very slick and seamless experience in the settings application. Setting this as the minimum window width, and completely eliminating the above behavior may be a better solution. That way everyone gets the same experience, all the time. This does create some problems on low resolution displays, as users of 1280x800 (Steamdeck) or 1366x768 displays will have to have the settings window almost the full width of the screen.
  2. Compact everything, narrow the columns, lower the threshold for dual-column mode to a new, slightly larger minimum window width: When looking at all the settings with sub-menus, there always seems to be quite a bit of “wasted” space on the second column (and the first column as well). It looks like the second column could be narrowed by 80 pixels without impacting anything, and the main column could be narrowed by 40-50 pixels (see mockup below to see narrowed main column. Mockup does not include second column). You could compromise and narrow both by 40-50 pixels. Then, set the minimum “dual column” threshold slightly smaller, set the minimum window width to that threshold, and you now have the ability to use dual-column mode, all the time, even on the smallest displays.
1 Like

hi, welcome.

you have found plasma’s achilles heel … so many settings.

the two column display for nested settings has been criticized before, and a flat structure results in a page that is a scrolling nightmare.

some have suggested a tree view all contained in the first column like a file manager, but the indenture would cause that column to need to be wider.

as you point out there are smaller screens that need to be accommodated, which (i imagine) is how we got to the responsive design that keeps to one column by shifting it to the nested content… i suppose this could be in anticipation of a need for a third nesting level (horrors!)

personally i don’t find it jarring that the single column mode changes to show the nested content because it has the “back” navigation arrow at the top to indicate you are in a nested view… and you can still back out to the first column without affecting what is shown in the main settings area.

this seems like a decent compromise in the UX for those on a smaller screen or using a portrait monitor, and for those who can afford to stretch out in landscape mode you can have both columns displayed.

option 1 would only cause the user to have to do more clicking to navigate around, so i would not want that.

option 2 would mean that would not be able to fit the settings window on my portrait monitor which is 1080 wide.

option 3 the dual column mode is currently 1270 minimum on my plasma 5 install, and in order to fit that onto my 1080 portrait monitor it would need to be shaved by 190 px… can it be done?

i would expect that if i could have been done, it would have already been done… but it doesn’t hurt to ask.

There are discussions about this here: Port KCMS to the new org.kde.kirigami.forms api (!3239) · Merge requests · Plasma / Plasma Desktop · GitLab

does changing to the forms layout allow for the settings window to be smaller?

it does not appear from the link that i has any affect on the min width of the settings page.

Enforce a larger minimum window width would be the most annoying possible modification.

Already I have launchers for most of the KCM modules I use so that I don’t have to open that huge window just to tweak some fonts or whatever.

I remember something about the XP control panel, that had options for icons vs menus - the best feature being that when you selected an item it opened in it’s own window.

I think that’s a better option.

Opening windows means I can view more than one settings module at the same time, so maybe tweak colours and cursor or plasma and window decorations.

I agree with this… the main issue is the complication. The sliding menu is a joy, it lets me use my right/left arrows to navigate and feels completely natural.

I’m curious what you would compare it with that would make it feel unnatural. I’m getting used to the difference between ‘effects’ and ‘animations’, but otherwise there’s still a fair bit to remember - Window Management that isn’t General Behaviour and so on.

KDE Plasma is loved for it’s depth, which is also it’s achilles heel : discoverability is very hard to build in…

There are meany features, functions, shortcuts and tools that most users never even have awareness of.

Anyway, for now I will continue to have shortcuts to open KCM windows for settings I use and only open the systemsettings window when I don’t know what I want.

For a start, perhaps a notification…

I think mostly just focus on such papercuts as arise, someone moaning because they can’t find the cursor setting under ‘Mouse’, for example.

I wrote a detailed concept in the other thread you mentioned that solves all these issues and is taking the advantages of both concepts plus creating full convergence.

I consider myself a power user, with quite a bit of experience with Windows, MacOS, Linux/KDE and even Haiku/BeOS. So I’m pretty “adaptable” to different UI/UX.

I usually have the settings window wider just as habit. But, when I first opened up the KDE settings app in my new Fedora 43 install, I didn’t resize it. I clicked on “Sound” to adjust some settings, then I clicked on “Mouse/Touchpad”. It was the top-level main menu suddenly disappearing, without it being immediately obvious why, that was jarring.

The key to really good UI/UX is consistency. I really don’t necessarily mind the “sliding menu” (although I don’t think it’s great design either). I think the bigger issue is that it’s not consistent. IMO, ALL of the settings to should “slide” for consistency.

I think Marata’s solution is also a good one, where it expands to show both columns when possible, and then switches to a tree view when too small.

MacOS’s new setting page always keeps the top level menu visible, which is an important attribute on a desktop system, IMO.