Bug 358283 - Add NotificationArea=true to more widgets so they can optionally live in the System Tray
Summary: Add NotificationArea=true to more widgets so they can optionally live in the ...
Status: CONFIRMED
Alias: None
Product: plasmashell
Classification: Plasma
Component: System Tray (show other bugs)
Version: 5.5.3
Platform: Other Linux
: NOR wishlist
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: junior-jobs
Depends on:
Blocks:
 
Reported: 2016-01-20 22:22 UTC by Gregor Mi
Modified: 2022-06-25 18:49 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gregor Mi 2016-01-20 22:22:11 UTC
Currently, when the panel height is increased, at some point, the system tray becomes two-rowed.
Observation 1: This saves space and the icons keep their original size
Observation 2: The icons of most user-added plasmoids increase in size which looks kind of disproportionate.

Suggestion: It would be nice if the icons of user-added plasmoids keep their original size but arrange differently, see screenshots which shows as mockup the printer plasmoid, quick share plasmoid and the show desktop plasmoid: https://forum.kde.org/viewtopic.php?f=285&t=124799&start=15#p349458 (first screenshot: current state, second screenshot: proposed state)

See also https://bugs.kde.org/show_bug.cgi?id=356604
Comment 1 Nick Stefanov 2016-09-17 19:22:47 UTC
It will be awesome. A thumb from me.
Comment 2 David Edmundson 2016-10-28 23:18:41 UTC
To achieve what's in the mockup, one just needs to add the printer and share icon as applets in the system tray instead of applets in the panel.

Making all the applets the size of the system tray is something you *really* don't want - it would make the clock smaller, the taskbar smaller, and the K icon smaller. That wouldn't make any sense.

Which leaves you in a problem of "what's an icon and what isn't" how do you tell, which ones do you resize if any. What about when it's on a panel with no system tray? What about an icon placed next to the K (assuming a default layout) should that be smaller?

If someone has an actual answer for that, brilliant. 

But we can't do much with a mockup that aribtrarily moves two icons but doesn't explain how it moved those two.

and if the answer is the user chooses if they act like something in the system tray or not, then you've just designed what we currently have.
Comment 3 Gregor Mi 2016-10-29 09:07:09 UTC
> To achieve what's in the mockup, one just needs to add the printer and share icon as applets in the system tray instead of applets in the panel.

This seems to be a solution. I - in my role as user - just tried with Plasma 5.8.2 to do this. But I could not find out how to do it. Or is it a matter of adding those into the list of choosable applets in the System Tray Settings? (1)

> Making all the applets the size of the system tray is something you *really* don't want - it would make the clock smaller, the taskbar smaller, and the K icon smaller. That wouldn't make any sense.

You are right. I see three types of applets:

1) The ones with "content": clock (show time and date), taskbar (show running programs) and system tray (give access to background apps and services)

2) The ones with an icon only: Printers, Quickshare

3) The ones with special locations (and icon only): K menu on the left-most side and Show Desktop on the right-most side. As you can see on the mock-up, I also squeezed the Show Desktop applet to the width of a tray icon but the height fills the panel. (2) 
It depends on the actual applet which resize policy is a good one. I think, the Show Desktop squeeze behaviour could fixed in the applet's code without changing anything else.

> If someone has an actual answer for that, brilliant. 

One generic idea I see is the following (assuming that the method in (1) is not working): There could be a new container applet that can be placed by the user anywhere on the panel. To this container applet the user can add other applets which will be (auto-)arranged in the described way. Then it would be up to the user how the icons next to the K menu would size.

To make things less complex (for the user), there could some default empty applet containers be placed on strategic locations (between K menu and taskbar, between taskbar and system tray; between system tray and clock). When adding a new applet, the user could decide to drop inside a container (applets become smaller) or next to it (applets take full space).

However, I can see that actually implementing this properly and intuitive is not an easy task and probably too much when compared to what is gained.

Another idea: the applets themselves could know which of the three types they are. When more than one icon-only applet are placed next to each other the auto-arrange functionality would kick in when the panel size increases.

> But we can't do much with a mockup that aribtrarily moves two icons but doesn't explain how it moved those two.

Yes. Please note - see (2) - that the mockup also squeezes a third icon (the Show Desktop).

> and if the answer is the user chooses if they act like something in the system tray or not, then you've just designed what we currently have.

See (1).
Comment 4 David Edmundson 2016-10-30 21:19:49 UTC
>Or is it a matter of adding those into the list of choosable applets in the System Tray Settings? (1)

Yes.

I can maybe support maybe support D&D from widget explorer?
Comment 5 David Edmundson 2016-11-02 11:15:47 UTC
Git commit bd0eb992d8d999636119d6db97e50cd0ced1d010 by David Edmundson.
Committed on 02/11/2016 at 11:15.
Pushed by davidedmundson into branch 'master'.

Support drags from Widget Explorer onto System Tray

Summary:
Some users complain that applets do not behave like applets in the
system tray, this is because they're not adding them in the system tray.

This makes it a bit more intuitive to add applets to the system tray by
allowing drag and drop of applets with NotificationArea=true into the
system tray.

Test Plan:
Dragged digital clock over system tray
system tray moved and the clock was added to the side

Dragged kate sessions over system tray
on drop, kate sessions applet was added to the tray

Reviewers: #plasma

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D3212

M  +42   -0    applets/systemtray/package/contents/ui/main.qml
M  +5    -0    applets/systemtray/systemtray.cpp
M  +2    -0    applets/systemtray/systemtray.h

http://commits.kde.org/plasma-workspace/bd0eb992d8d999636119d6db97e50cd0ced1d010
Comment 6 David Edmundson 2016-12-11 23:43:04 UTC
Gregori, is there anything else concrete that I can implement to help with this?
Comment 7 Gregor Mi 2018-07-07 21:26:15 UTC
Hello David,
sorry for taking so long with a reply. Thank you for the implementation. Your test cases work for me, too.

I think, the next steps would be to add NotificationArea=true (for reference I found this: https://community.kde.org/Plasma/DeveloperGuide#Notification_Area_.28Systemtray.29) to more applets. I have identified the following applets where the Notification area property could be set:

- Dictionary
- Calculator
- Calendar
- Quick Share
- KDevelop Sessions
- Konsole Profiles
- Search