Stuart Langridge is a user on mastodon.social. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.
Stuart Langridge @sil

muzzleapp.com/ is a simple idea -- hide notifications while you're screensharing -- but the website makes a very compelling argument. Can Gnome do this? In particular, can we detect that the screen is being shared, or presented, or something is fullscreen? (Note: "yes but only if it's a GtkApplication Gnome app" is the same as "no" :-))

· Web · 1 · 0

@sil my guess is that the answer will be “On Wayland, yes”. But I don’t actually know. Good question though. Smart Do Not Disturb would be cool

my guess is that the answer will be “On Wayland, yes”. But I don’t actually know. Good question though. Smart Do Not Disturb would be cool

@danrabbit agreed yep! It's pretty critical that it's automatic -- that it magically diagnoses the right situations. What would be on that list, do we think? (Then we can work out how to detect whether they're the case.)

If anything is absolutely full-screen; if you're doing a presentation (is that covered by the fullscreen thing? we can't tell the difference between "connected to a projector" and "connected to a monitor", I think); if a screensharing app is running.

@danrabbit @sil on X the compositor and app communicate fullscreen through X atom properties. Check out _NET_WM_FULLSCREEN or whatever. The compositor is in control of redirection/etc so it definitely knows.

@hergertme @danrabbit yup. "Is the screen being shared" sounds more interestingly difficult, though. That's solved under Wayland by saying "haha apps you're not allowed to do that at all" which means that the compositor _has_ to be involved, right?

@sil @danrabbit we could have a pretty good idea of when we're connected to a projector.

The EDID will claim it's a 0mm×0mm display. One of those on an external port is probably a projector.

We'd need to add a detection-override toggle to display settings for the times that heuristic is wrong, but it'd be pretty good.

For bonus points, we could crowdsource projector EDIDs quite easily.

@RAOF @danrabbit cor, really? I assumed that EDIDs were just entirely composed of untruths and were nothing like reliable. (Note that if we get it wrong, someone who plugs their laptop into a monitor on their desk will never, ever get a notification, and working out why will be bafflingly complicated.)

@sil @danrabbit this is why Mir has an output_type_projector enum value 😀.

EDIDs *are* composed of comfortable lies, but with display configuration support I think you could make the false positives sufficiently rare and easy to deal with to make it work.

@RAOF @danrabbit blimes. Well, that'd work then. Y'know, in theory. So the criteria are "an app is fullscreen" and "we are plugged into a projector" -- if either are true, suppress notification popups (but still put them in the message tray). Is that correct? Are there other criteria than those two?