Pass screen ID to systray applets
ClosedPublic

Authored by davidedmundson on Jun 5 2016, 9:49 AM.

Details

Reviewers
mart
Group Reviewers
Plasma
Summary

The Corona generally is responsible for managing which screen a
containment is on.
However ShellCorona doesn't know which screen the inner containment of
the sysem tray is on.

This patch makes the systemtray's inner container emit the
screenChanged() signal as appropriate for the container the screen is
on.

This is needed to fix a large regression seen with the notification
applet which cannot get the right screen area in a multiscreen set up.

I'd welcome better suggestions on how to solve this as this isn't ideal.

Test Plan

Moved notification applet between screens
Emitted a notification with notify-send
They were on the correct screen

Diff Detail

Repository
R120 Plasma Workspace
Branch
notifications_screen
Lint
No Linters Available
Unit
No Unit Test Coverage
davidedmundson retitled this revision from to Pass screen ID to systray applets.
davidedmundson updated this object.
davidedmundson edited the test plan for this revision. (Show Details)
davidedmundson added a reviewer: Plasma.
Restricted Application added a project: Plasma. · View Herald TranscriptJun 5 2016, 9:49 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
mart accepted this revision.Jun 6 2016, 8:11 AM
mart added a reviewer: mart.
mart added a subscriber: mart.
This comment was removed by mart.
This revision is now accepted and ready to land.Jun 6 2016, 8:11 AM
mart added a comment.Jun 6 2016, 8:12 AM

yeah, i'm not happy that the screen is not passed.
I'm not sure i like this approach completely (if the panel gets moved to another screen the internal screen won't be updated?), but i didn't manage to think about a viable way to pass the screen without making the systray container try to take a panel.

so I'm fine with this going in. don't know how easy will be when a proper way is found.

one way may be some offscreen category for either formfactor or location, that then the corona would ignore, then the containment has correctly a screen?

davidedmundson closed this revision.Jun 7 2016, 2:20 PM