Bug 413307

Summary: "Do not disturb" mode activated with two screens, although the laptop screen is turned off
Product: [Plasma] plasmashell Reporter: David de Cos <david.decos>
Component: NotificationsAssignee: Kai Uwe Broulik <kde>
Status: RESOLVED FIXED    
Severity: normal CC: david.decos, plasma-bugs-null
Priority: NOR    
Version First Reported In: 5.17.0   
Target Milestone: 1.0   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 5.17.1
Sentry Crash Report:
Attachments: Video of the bug: initially notifications on -> turn off lapton screen -> icon disappears and "Do not disturb" mode is activated

Description David de Cos 2019-10-22 10:48:36 UTC
I work with an external screen, and the laptop one turned off. Since last week's update to 5.17, when I start my Plasma session, the "Do not disturb" mode is activated automatically. In the notification menu it says explicitly that the screens are mirrored, which isn't true, as the laptop one is successfully turned off.

Also, when the "Do not disturb" mode is activated, there's no icon in the systray. You can click on the empty space and access the notifications, there's just no icon. Not sure if this is intended or a bug.
Comment 1 David de Cos 2019-10-22 10:52:11 UTC
Created attachment 123402 [details]
Video of the bug: initially notifications on -> turn off lapton screen -> icon disappears and "Do not disturb" mode is activated

See the attached video.
Comment 3 David de Cos 2019-10-22 11:58:20 UTC
That was fast, thank you very much.

Does it apply to my problem, though? I had read about that fix, but thought it was a different problem, because the description says "having screens mirrored and then closing the lid". In turn, my Plasma session already starts with the laptop screen disabled (as the setting is saved from the previous session), and I actually never close the lid.

Thanks again,

David
Comment 4 Kai Uwe Broulik 2019-10-22 12:56:55 UTC
I'm pretty sure that's it. What happens:
It iterates all screens and compares them with each other to find an overlapping one. If one screen is disabled, depending on the order (i.e. whether it is checked in the outer or inner loop, the inner loop missing the check for output being enabled) it will still consider them mirrored.

Disabled screens are also usually placed at 0,0 (as it doesnt matter) "overlapping" leading to the bug you're seeing.
Comment 5 David de Cos 2019-10-23 07:29:54 UTC
You're right, I can confirm it got fixed for me after the 5.17.1 update.

Thanks again!