[Task Manager] Reorganize and improve presentation of context menu
ClosedPublic

Authored by ngraham on Mar 8 2019, 4:01 AM.

Details

Summary

This patch improves the UX of the Task Manager's context menu by offering more
logical separation and grouping of elements, improving strings, and adding or changing
icons, as appropriate. The result hopefully feels more harmonious, less confusing, and
less intimidating.

BUG: 405040
BUG: 405071
BUG: 405070
BUG: 405065
FIXED-IN: 5.16

Test Plan

"Window Actions" sub-menu:

With places:

With just actions:

With many actions:

With virtual desktops and activities:

Diff Detail

Repository
R119 Plasma Desktop
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
ngraham created this revision.Mar 8 2019, 4:01 AM
Restricted Application added a project: Plasma. · View Herald TranscriptMar 8 2019, 4:01 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
ngraham requested review of this revision.Mar 8 2019, 4:01 AM
ngraham edited the test plan for this revision. (Show Details)Mar 8 2019, 4:05 AM
ngraham retitled this revision from [Task Manager] Reorganize improve presentation of context menu to [Task Manager] Reorganize and improve presentation of context menu.

One issue I have with this patch is that sometimes the Alternatives menu item doesn't appear under the right conditions anymore, and I need to do visible: alternativesAction && !alternativesAction.visible instead, which is obviously wrong. This doesn't happen all the time though. Debugging assistance would be appreciated.

ngraham planned changes to this revision.Mar 8 2019, 4:20 AM
ngraham updated this revision to Diff 53406.Mar 8 2019, 4:29 AM

Updating per VDG comments in chat:

  • Move the Task Manager section to the top so the Close button is on the very bottom again
  • Use standard menu section headers instead of fake custom-synthesized ones
ngraham edited the test plan for this revision. (Show Details)Mar 8 2019, 4:39 AM
ndavis requested changes to this revision.Mar 8 2019, 4:56 AM
ndavis added subscribers: trickyricky26, ndavis.

I like it overall, but some of those icons need changing. Not just here, but in breeze-icons as well.

Resize: I don't like how busy that icon looks, but I"m not sure if it's worth it to make a new icon just for resizing windows.
Maximize: The maximize icon is more like a "Maximized" icon because we normally use the up arrow for "Maximize".

@trickyricky26 is already working on the shade icon and I know you requested keep-above and keep-below icons, so I'll ignore those for now.

applets/taskmanager/package/contents/ui/ContextMenu.qml
545

Why was this changed from view-fullscreen?

This revision now requires changes to proceed.Mar 8 2019, 4:56 AM

I like it overall, but some of those icons need changing. Not just here, but in breeze-icons as well.

Resize: I don't like how busy that icon looks, but I"m not sure if it's worth it to make a new icon just for resizing windows.
Maximize: The maximize icon is more like a "Maximized" icon because we normally use the up arrow for "Maximize".

Yeah, these need to be fixed in Breeze icons.

applets/taskmanager/package/contents/ui/ContextMenu.qml
545

Whoops, that was a mistake. Fixing...

ngraham updated this revision to Diff 53407.Mar 8 2019, 5:07 AM
ngraham marked 2 inline comments as done.

Correct erroneously-changed fullscreen icon

ngraham updated this revision to Diff 53409.Mar 8 2019, 5:11 AM

Actually use the correct icon

ngraham edited the test plan for this revision. (Show Details)Mar 8 2019, 5:13 AM
broulik added a subscriber: broulik.Mar 8 2019, 8:47 AM

Overall I must say I'm quite a fan.

I don't like the Settings and Alternatives entries at the top, they draw most attention to them for actions that should rather be least intrusive.
I would prefer the jump list actions stuff at the top but grouping them with the other window/application actions is an interesting approach.
While I personally don't use the Minimize/Maximize actions in the menu I've seen people get quite passionate about them.

Did you test how media controls behave in this scenario? Also please make sure keyboard accelerators (Alt key, the & stuff) are sane.

Also keep in mind to adjust KWin's title bar menu to use the new icons as well.

applets/taskmanager/package/contents/ui/ContextMenu.qml
98–113

Please use a JS object for that instead of using just numbered indices

var list = [
    {title: i18n("Places"), actions: backend. ...},
    {title: i18n("Recent Documents"), actions: ...}
    ...
];
123

Comparing translated strings is usually bad style, please use my idea above, and then perhaps add a third group: "actions" or similar string for identification

130

Remove

298

I don't see the point of this icon, it adds visual noise for no better identification

719–720

Perhaps add some context explaining %1 is plasmoid title?

However, I can already see this becoming quite awful in German in case of icon tasks "An Fensterleiste nur mit Symbolen anheften" :/

broulik added a reviewer: hein.Mar 8 2019, 8:47 AM
abetts added a subscriber: abetts.Mar 8 2019, 3:50 PM

Would it be possible for the header labels to be a bit different? Not sure what would look best, bold, italics, a lighter shade of gray

Would it be possible for the header labels to be a bit different? Not sure what would look best, bold, italics, a lighter shade of gray

Yes, I agree that we need to improve the header appearance, but that needs to be done elsewhere in the theme style itself, not here.

Overall I must say I'm quite a fan.

I don't like the Settings and Alternatives entries at the top, they draw most attention to them for actions that should rather be least intrusive.

I tried putting them at the bottom, but the problem there is that then the Close action isn't right at the bottom anymore, which didn't feel right.

Did you test how media controls behave in this scenario? Also please make sure keyboard accelerators (Alt key, the & stuff) are sane.

Yeah, it works fine:

Maybe we should give that section its own Media Playback header that's separate from the other actions? Or maybe we should remove the separator so those items are a full-fledged part of the action settings? Open to opinions.

Also keep in mind to adjust KWin's title bar menu to use the new icons as well.

Will do!

ngraham updated this revision to Diff 53462.Mar 8 2019, 4:59 PM
ngraham marked 5 inline comments as done.

Address all review comments

hein added a comment.Mar 10 2019, 7:29 AM

I'm concerned that having title labels on everything could be overdoing it a bit? It makes the context menu very large and have a lot of dead space, and adds to the noise. Isn't that rather a detriment to utility on repeated use? It's sometimes important to remember new users don't stay new users for very long, and first-time use isn't the only experience to optimize for.

Also, I do get a lot of user reports every time the window title bar menu and the task context menu diverge. Personally I've never felt that they need to match because tasks aren't windpw title bars, but it's worth keeping in mind.

In D19606#428236, @hein wrote:

I'm concerned that having title labels on everything could be overdoing it a bit? It makes the context menu very large and have a lot of dead space, and adds to the noise. Isn't that rather a detriment to utility on repeated use? It's sometimes important to remember new users don't stay new users for very long, and first-time use isn't the only experience to optimize for.

Yeah, I do understand the criticism that this makes it really tall. Originally I had the three-item Task Manager section in a sub-menu, saving two slots. But it didn't look and feel as good in the end. Ultimately I'd like to see us put some more work into defining just when Widgets should actually be configurable and replaceable, because the three-mode system we have right now is kind of awkward. See T10190: (Re)define modes when editing panels and widgets.

That said, I really like the logical separation between sections that this patch produces and I'd like to keep that.

Also, I do get a lot of user reports every time the window title bar menu and the task context menu diverge. Personally I've never felt that they need to match because tasks aren't windpw title bars, but it's worth keeping in mind.

I can submit a patch to make it as close as possible if and when this lands (well, the parts of it that are duplicated here, that is).

ngraham updated this revision to Diff 53750.Mar 12 2019, 6:25 PM

Use new window-* icons from D19575

ngraham edited the test plan for this revision. (Show Details)Mar 12 2019, 6:26 PM
ndavis accepted this revision.Mar 12 2019, 6:36 PM
This revision is now accepted and ready to land.Mar 12 2019, 6:36 PM

Idea to make the menu smaller: put the Configure and Alternatives items into the sub-menu, and rename it to just More Actions...:

Thoughts?

hein added a comment.Mar 13 2019, 12:05 AM

Idea to make the menu smaller: put the Configure and Alternatives items into the sub-menu, and rename it to just More Actions...:

Thoughts?

I really like this one! I'd +1 that.

ngraham updated this revision to Diff 53804.Mar 13 2019, 3:15 PM

Put the Task-Manager-Specific actions in the "More Actions" submenu

ngraham edited the test plan for this revision. (Show Details)Mar 13 2019, 3:22 PM

All good now, @hein?

hein accepted this revision.Mar 13 2019, 5:35 PM
ngraham updated this revision to Diff 53832.Mar 13 2019, 8:52 PM

Rebase and fix merge conflicts

This revision was automatically updated to reflect the committed changes.
cfeck added a subscriber: cfeck.Sun, Mar 31, 10:32 AM

Hm, is moving "Minimize" one level deeper an UX improvement? Is it worth to create a bug about this issue?

I had a feeling that I wouldn't be able to please everyone with this diff. :)

The problem is that the more things you put on the main level, the more overwhelming it looks, especially for apps that have recent docs and jump list items. I didn't think that having minimize on the main level of the menu was important since it's easy to minimize by just clicking on the task button itself. If it's not focused, just click it twice.