Ubuntu

NotifyOSD notifications shouldn't appear when using fullscreen applications

Reported by dsavi on 2009-05-06
112
This bug affects 12 people
Affects Status Importance Assigned to Milestone
compiz (Ubuntu)
Undecided
Mirco Müller
notify-osd (Ubuntu)
Wishlist
Mirco Müller

Bug Description

Ubuntu Jaunty

When I am using Inkscape in fullscreen mode, and Notify OSD is called (By Pidgin and Banshee, as it happened) Inkscape flashes.

How to reproduce bug:
1. Install Inkscape, open it, press F11 for fullscreen mode
2. Trigger a Notify OSD message somehow (The way I did it was to open Banshee media player, put it ~15 seconds from the end of a song so that I had some time to switch, then switched workspaces where I already had Inkscape open)
3. When you have Inkscape open, make sure it's in fullscreen mode and notice the flash when the notification comes up.

description: updated
Mirco Müller (macslow) wrote :

That's not a notify-osd specific bug, but a compiz-related issue. For example you can trigger the same kind of flashing by simply starting totem playing back some video, switching totem to fullscreen-mode and then in fullscreen-mode move the mouse (to that the on-screen UI-elements appear). That causes the exact same kind of flashing.

From my own investigation on the issue:

- on nvidia-GPU (with proprietary driver), on i965-GPU (with kernel 2.6.30, xf86-video-intel 2.7.99.1, using UXA)
- using compiz (e.g. Visal Effects level set to "Normal" or "Extra")
- unredirect fullscreen window enabled (default setting in Ubuntu 9.04)
- flashing/flickering occurs on fullscreen windows if smaller window appear on top of them
 - example apps tested: fullscreen totem, fullscreen inkscape, fullscreen screensaver

temp. fix:
- disable "unredirect fullscreen window" in compiz
- or don't use compiz but metacity+compositor
- or just use plain metacity

This fix I regard as temporary for the moment as not all xorg video-drivers allow "redirected direct rendering" (in layman-terms: OpenGL in a composited environment). For systems-setup though with working DRI2 (e.g. i965 GPU with UXA on kernel 2.6.30 and xf86-video-intel 2.7.x) or systems with nvidia-GPU with proprietary driver "unredirect fullscreen windows" can savely be disabled, thus eliminating the flickering/flashing completely.

Once all OpenSouce xorg video-drivers support DRI2 "unredirect fullscreen windows" can be disabled by default again. Note: "redirect fullscreen windows" is a workaround in compiz to cater for the fact that DRI2 isn't common place yet. So this is nothing to fix in compiz. xorg video-drivers just need to pick up DRI2. If a user has a nvidia-GPU running the proprietary driver "unredirect fullscreen windows" can be disabled right away.

Mirco Müller (macslow) wrote :

not a notify-osd issue, rather compiz-related (to be really exact it's an issue of DRI2 missing)

Changed in notify-osd (Ubuntu):
assignee: nobody → Mirco Müller (macslow)
status: New → Invalid
Mirco Müller (macslow) wrote :

not an inkscape-related issue, see my comment for explanation of the issue: https://bugs.edge.launchpad.net/ubuntu/+source/notify-osd/+bug/372789/comments/1

Changed in inkscape (Ubuntu):
assignee: nobody → Mirco Müller (macslow)
status: New → Invalid
Peter Bui (pnutzh4x0r) wrote :

While the flashing/flickering may be due to the drivers issue, this doesn't address that fact that the standard notification-daemon doesn't send a notification at all when a full-screen application is active, while Notify-OSD does. Should Notify-OSD follow the standard behavior (i.e suppress notifications when a full-screen application is active)? If so, then this is a regression. Otherwise, then it breaks standard practice (nothing new here...).

The flicking/flashing issue is a separate issue from whether or not Notify-OSD should be sending messages at all (it shouldn't if we are to follow standard practice).

Peter Bui (pnutzh4x0r) wrote :

Hmm. I keep seeing related bugs added to this one and marked invalid, when no one has addressed my question:

Should Notify-OSD follow the standard behavior (i.e suppress notifications when a full-screen application is active)?

This has nothing to do with the driver issue. As I said before, but went unanswered, while the drivers may cause the flickering, this does not address the question whether or not Notify-OSD should generate a notification popup when a full-screen application is active.

In the standard notification-daemon, if you are playing a movie in totem in full-screen any notification popups are suppressed. If you have gnome-terminal in full-screen, any notification popups are suppressed. The flicker is a symptom of the fact that Notify-OSD deviates from standard behavior, which is to not show notification popups when there is an active full-screen application.

To solve the flickering problem, Notify-OSD should follow standard behavior. However, if this is the new standard and desired behavior (i.e. ignore full-screen property, and popup no matter what), then just say it is so and add it to the long list of ways Notify-OSD completely breaks with the standard notification-daemon.

Some people may prefer this behavior, but the normal behavior is not popup when a full-screen application is active (and for good reason). Perhaps this should be made a boolean in gconf? Either way, this bug is not invalid, it needs to be addressed from the Notify-OSD developers on whether or not this is correct behavior. Once that is answered, then it can be deemed invalid or incomplete or whatever.

Ara Pulido (apulido) wrote :

Changing again to confirmed, as many full screen applications are having the same issue.

Changed in notify-osd (Ubuntu):
status: Invalid → Confirmed
Ara Pulido (apulido) on 2009-05-28
summary: - Inkscape in fullscreen flashes when using NotifyOSD
+ NotifyOSD notifications shouldn't appear when using fullscreen
+ applications
Ara Pulido (apulido) wrote :

Setting the Ubuntu task as triaged as a new task for the upstream project has been opened.

Changed in notify-osd (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
Julian Lam (julian-lam) wrote :

Hi Peter,

In my opinion... no, the behaviour should not be changed, since in my specific example, I could use notifications. I have a dual-head setup.

However, since the majority of users are using one monitor, it is definitely a close call as to what should be done.

Aurélien Gâteau (agateau) wrote :

I implemented fullscreen detection so that bubbles do not show up if there is a fullscreen window, but I am not sure how to handle multi monitor setups. We need input from the design team here.

If anyone is interested, the code can be downloaded with:

bzr get lp:~agateau/notify-osd/no-bubble-in-fullscreen

Hello,

I tested your bzr branch, and it works well. Too well, indeed. Should a
notification bubble be blocked if there is a fullscreen app in desktop A but
i'm in desktop B ?

Ara Pulido (apulido) wrote :

Steve, as Aurélien said, this is something the design team needs to think about. Aurélien just shared his implementation and it is not decided that this is going to be the actual behavior.

Ara Pulido wrote:
> Steve, as Aurélien said, this is something the design team needs to
> think about. Aurélien just shared his implementation and it is not
> decided that this is going to be the actual behavior.

Mmm... I think what Steve means is that in my branch notifications are
also blocked if you have a fullscreen window on another virtual desktop,
not a second physical monitor.
This is indeed a bug. Working on it.

Aurélien Gâteau (agateau) wrote :

Aurélien Gâteau wrote:
> Ara Pulido wrote:
>> Steve, as Aurélien said, this is something the design team needs to
>> think about. Aurélien just shared his implementation and it is not
>> decided that this is going to be the actual behavior.
>
> Mmm... I think what Steve means is that in my branch notifications are
> also blocked if you have a fullscreen window on another virtual desktop,
> not a second physical monitor.
> This is indeed a bug. Working on it.

Should be fixed. Can you try to update your checkout?

Hemanth (hemanth-hm) wrote :

Yes it's working fine :) , can we just get to know which part of the code
was updated ?

On Wed, Jun 3, 2009 at 5:03 PM, Steve Dodier <email address hidden> wrote:

> That works perfectly in XFCE. Thanks :)
>
> --
> NotifyOSD notifications shouldn't appear when using fullscreen applications
> https://bugs.launchpad.net/bugs/372789
> You received this bug notification because you are a direct subscriber
> of a duplicate bug.
>

--
'I am what I am because of who we all are'
http://www.h3manth.com
-- Hemanth HM

Mark Shuttleworth (sabdfl) wrote :

I'd like to draw the Ayatana group's attention to bug #372789, a
question about the interaction between fullscreen apps on multiple
monitors and notifications.

At the moment, our guidance to the developers is that fullscreen apps
should block non-critical notifications. Aurelien has implemented that
in a branch, but there is a question about the case where one is running
with several monitors. notify-osd picks a "primary" display (I think it
is where you are displaying your main panel?) and, if there is a
fullscreen window there, it chokes non-critical notifications. The
question is whether it should potentially just redirect notifications to
the nearest (defined how?) monitor that does NOT have a fullscreen app open.

https://bugs.launchpad.net/bugs/372789

Comments on the bug, I think, subscribe there if you are interested.

Mark

Vadim Peretokin (vperetokin) wrote :

My use case for fullscreen - I play Savage 2 in fullscreen on one monitor, have chats and etc. open in the second one that I occasionally glance at.

The notification were annoying at first because they caused the whole screen to flicker when shown, but that is fixed with a Compiz option. Should they be shown on my 2nd monitor, chances are, I'll miss it completely because my attention would be (obviously) all in the high-action game.

The screen flicker, not the appearance of bubbles in fullscreen, is the buggy behavior being reported. Should we move the discussion of multi-monitor setup and relocating bubbles when fullscreen apps are running to another place? Blocking notify-osd bubbles does not directly address the screen flicker.

Hemanth (hemanth-hm) wrote :

It was good to see the diffs side-by-side in the code , is_fullscreen_cb() and more have done the trick :) .
But is the screen flicker issue is also prominent with EOG or any in full-screen mode , it must be must of a compiz effect , rather than Notify OSD

Julian Lam (julian-lam) wrote :

If notify-osd is supposed to follow the main panel, I'm guessing that is the Applications menu? My notification area is on monitor two, and the bubbles pop up on monitor 1.

In any case, Vadim's suggestion of supressing notify-osd altogether during fullscreen apps works if you're playing a game, but when I'm watching a video, I would appreciate notifications on my secondary monitor.

However, then you get into the problem of notifications that move away from their default locations, which might irritate some users... and integrating notifications into a fullscreen application isn't any better.. hrm.

Julian Lam wrote:
> In any case, Vadim's suggestion of supressing notify-osd altogether
> during fullscreen apps works if you're playing a game, but when I'm
> watching a video, I would appreciate notifications on my secondary
> monitor.
>

At the moment, I think we should suppress non-critical notifications
(but still show critical ones), and we should not move them between
monitors.

We are running a debug period in karmic where notifications have their
urgency ("critical", "medium" etc) displayed so we can spot offending
apps that take their own notifications too seriously and apply a
consistent policy to urgency across all the apps in main (and hopefully
universe).

Mark

Do you mind pointing to the bzr branch with this feature, please ? I'd like
to test it on Xubuntu apps.

Michael Rooney (mrooney) wrote :

I quite enjoy notifications in fullscreen apps, such as when browsing FF in fullscreen, or watching movies. Instead of trying to guess what users want, which is going to be different not only per-user but per-situation, could we use a system status / presence to let them tell us? It would be great if, when I have myself listed as Available, that I get these notifications, but if I am Busy/Away, then I don't want them.

If I am watching a movie or television by myself, I almost always want to know if someone else IMs me or if a file I was waiting for is complete (maybe I was just watching something to wait for one of these actions in the first place), but if I have a group of people over and we are watching something together, I don't want notifications, so I can simply appropriately set my Presence to Busy and then I won't receive these.

Personally I would find not receiving notifications in fullscreen apps a big regression in the normal case. And I think better integration with the system presence is a good thing and an elegant solution to some issues such as this one. It would however potentially mean that you shouldn't need to be using a chat application to use a few of the statuses; perhaps Available / Busy / Away would always be there as they make plenty of sense outside of IM applications.

What do other people think?

dsavi (dsavi) wrote :

I think that's an interesting idea, integrating that setting into the system presence. It makes sense, and is sort of a half-way meet on the notifications in fullscreen vs. no notifications in fullscreen debate. (Although really, it seems to me that it was mostly indecision. :P) If we can somehow fix the flashing and successfully notify based on system presence I think that it is a bug well fixed.

Hemanth (hemanth-hm) wrote :

Yes very true , we could like set an option to particular notifications as
critical , so those would come up even if we were on fullscreen

On Thu, Jun 4, 2009 at 8:47 PM, Michael Rooney <email address hidden> wrote:

> I quite enjoy notifications in fullscreen apps, such as when browsing FF
> in fullscreen, or watching movies. Instead of trying to guess what users
> want, which is going to be different not only per-user but per-
> situation, could we use a system status / presence to let them tell us?
> It would be great if, when I have myself listed as Available, that I get
> these notifications, but if I am Busy/Away, then I don't want them.
>
> If I am watching a movie or television by myself, I almost always want
> to know if someone else IMs me or if a file I was waiting for is
> complete (maybe I was just watching something to wait for one of these
> actions in the first place), but if I have a group of people over and we
> are watching something together, I don't want notifications, so I can
> simply appropriately set my Presence to Busy and then I won't receive
> these.
>
> Personally I would find not receiving notifications in fullscreen apps a
> big regression in the normal case. And I think better integration with
> the system presence is a good thing and an elegant solution to some
> issues such as this one. It would however potentially mean that you
> shouldn't need to be using a chat application to use a few of the
> statuses; perhaps Available / Busy / Away would always be there as they
> make plenty of sense outside of IM applications.
>
> What do other people think?
>
> --
> NotifyOSD notifications shouldn't appear when using fullscreen applications
> https://bugs.launchpad.net/bugs/372789
> You received this bug notification because you are a direct subscriber
> of a duplicate bug.
>

--
'I am what I am because of who we all are'
http://www.h3manth.com
-- Hemanth HM
Sent from Bengaluru, Karnataka, India

Julian Lam (julian-lam) wrote :

Yes, that would also work for me. Both Pidgin and Empathy change the fast-user-switcher to reflect their status, and tying in notify-osd with that (and letting critical notifications through) would be a good idea!

This would further integrate pidgin (but not going so far as depending on one or the other) into the desktop, and other IM applications can support this through plugins.

Bryce Harrington (bryce) on 2009-06-08
affects: inkscape (Ubuntu) → compiz (Ubuntu)
David Barth (dbarth) wrote :

@Steve Dodier: the code for visually displaying the urgency is directly in the trunk of notify-osd, precisely at revision 317.

Ara Pulido (apulido) wrote :

The bug about compiz flickering when using fullscreen mode applications is bug 243318. Please, if you're experiencing this, subscribe to that bug report instead.

This bug will be kept to track the wishlist bug of avoiding notifications in fullscreen mode.

Brian Parma (bj0) wrote :

Is it possible to simply toggle the notification pop-ups on/off? This seems like the easiest (although not elegant) way to solve the problem. Then, regardless of whether wants notifications for some full-screen apps and not others, they can just toggle notifications off.

 I have been looking for information on how to do this for some time with no luck. If it is not currently possible, it would be a nice feature (a convenient item on the right-click menu maybe :).

hello, i like the notifications on when i'm watching fullscreen video HOWEVER when the notifications pop-up and disappear the screen flickers (showing the wallpaper) for a brief moment. this is obviously very distracting.

Well, I found a solution. There is a compiz option, in Bug Correction,
about legacy fullscreen. Keep it disabled and the flickering stops.

Julian Lam (julian-lam) wrote :

Interesting solution, Leonardo. Worked like a charm (after one or two flickers).

Brett Alton (brett-alton) wrote :

For example, Rhythmbox tells me what song is currently playing while I'm playing OpenArena. No need to, correct?

I also wonder if these two bugs should be merged, as they both talk about flickering screens, compiz and notify-osd: https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/346187

And would you like Mirco to implement a mind reader to know whether or not
it should display notifications ? It's completely impossible at the moment
to cover all the use cases properly. Users may use fullscreen apps to gain
space, and they do care about notifications. You may be playing a game
waiting for an important IM message / email, and thus you need the
notification too. There should be a way to disable notifications in the FUSA
soon. I think it's better than having a behaviour based on assumptions.

But there is another problem: my resolution is 1280x800. I usally play
games at 1024x768. The notifications does not display correctly (they
stays "out of the screen"). I would like if they could display correctly
during my games. I could see new messages in MSN and other things like
this.

Em Sex, 2009-07-24 às 20:29 +0000, Steve Dodier escreveu:
> And would you like Mirco to implement a mind reader to know whether or not
> it should display notifications ? It's completely impossible at the moment
> to cover all the use cases properly. Users may use fullscreen apps to gain
> space, and they do care about notifications. You may be playing a game
> waiting for an important IM message / email, and thus you need the
> notification too. There should be a way to disable notifications in the FUSA
> soon. I think it's better than having a behaviour based on assumptions.
>

Leonardo, can you report another bug for this problem please ? Thanks in
advance.

Brett Alton (brett-alton) wrote :

I don't know if it was the new kernel (2.6.28-14) or a reboot or what, but the flash of OSD in openarena is now minimal to non-existant.

I'm also use the non-free nvidia-180 driver if that makes a difference.

Would you like me to test this in karmic?

Mirco Müller (macslow) on 2009-08-06
Changed in notify-osd (Ubuntu):
importance: Medium → Wishlist
David Barth (dbarth) wrote :

The code to filter non-critical notifications when using fullscreen is now in Karmic.

In the multi-monitor case. I think the design guidance is that non-critical notifications should be filtered if they would appear on the same monitor as the one containing the fullscreen window.

Re-assigning to me to add the fix for that.

Changed in notify-osd:
assignee: nobody → David Barth (dbarth)
importance: Undecided → Medium
status: New → In Progress
Changed in notify-osd (Ubuntu):
status: Triaged → In Progress
assignee: Mirco Müller (macslow) → David Barth (dbarth)
Alberto Milone (albertomilone) wrote :

Just a note on Nvidia cards. If I disable "unredirect fullscreen window" in compiz the problem goes away but then I get noticeable tearing when playing videos (and this is with vsync enabled).

Mirco Müller (macslow) wrote :

Asynchronous notifications (e.g. im-message, wifi-connection-established) are suppressed in fullscreen-applications (like totem, OO-Impress in presentation-mode). Synchronous notifications (e.g. volume and brightness) and critical asynchronous notifications (e.g. wifi-connection-lost) will still show even when fullscreen-applications run, to avoid the user missing important information.

Changed in notify-osd:
milestone: none → ubuntu-9.10
Changed in notify-osd (Ubuntu):
milestone: none → ubuntu-9.10
Changed in notify-osd:
assignee: David Barth (dbarth) → Mirco Müller (macslow)
Changed in notify-osd (Ubuntu):
assignee: David Barth (dbarth) → Mirco Müller (macslow)
Mirco Müller (macslow) on 2009-10-06
Changed in notify-osd (Ubuntu):
status: In Progress → Fix Released
Changed in notify-osd:
status: In Progress → Fix Released
frizzle21 (frederik-nnaji) wrote :

this isn't cool with me.
But who am i, of course ;)

Any news on the "Do Not Disturb" mode?
Is there at least a spec on this already?

There's nothing in this direction on the NotifyOSD design wiki, neither in wiki.ubuntu.com/NotifyOSD/Comments ..

what we want:
a Do Not Disturb mode controlled via MeMenu / FUSA, that is queried by NotifyOSD, before displaying ASYNC notification bubbles over a fullscreened application window.

just checking..

no longer affects: notify-osd
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers