Red Hat Bugzilla – Bug 483887
nm-applet redraws notification window gazilions of times
Last modified: 2013-03-05 22:57:33 EST
When I connect to the Internet via GPRS, nm-applet redraws its "You are now connected via blah-blah connection" notification window many many times - perhaps a few dozen.
If the computer happens to be going slow at the time (e.g. swapping), you can see the notification appear and then what was behind it re-appear and then the notification re-appear again, many many times in glorious slow motion. It the computer isn't going slow, then you just get 5 seconds of flickering across the top of the desktop where the panel is instead.
I don't know if this happens on all connection methods or just this one, as I don't have any other facility to check. It doesn't happen with the "network connection disconnected" notification.
I've checked with my 3G card just now (and about a month ago too) and verified that nm-applet is only calling the "show notification bubble" call once; which leads me to believe that it's interaction between GtkStatusIcon and the notification daemon that's causing this. Current theory is that when the panel is loading, each time a panel applet resizes or shifts, that triggers the notification daemon to reposition the bubble over the current applet icon, but apparently it's doing a great job of it?
David/Colin: does this sound plausible? Any idea what the interaction is between GtkStatusIcon and libnotify when the status icon changes size or position?
Yeah, the notification system (daemon) attempts to reposition the notification when the X window associated with the status icon moves. The patch may need improvement though.
I don't know why the panel applet would be resizing or shifting? The icon changes once when NM connects, by why would this trigger dozens of redraws?
(In reply to comment #3)
> I don't know why the panel applet would be resizing or shifting? The icon
> changes once when NM connects, by why would this trigger dozens of redraws?
On startup when the desktop loads, many applets could still be loading after nm-applet starts. Each loaded applet can cause the panel to resize and reorder the items, which can cause nm-applet (really the notification area applet) to reposition, which requires the notification daemon to reposition the alert.
This isn't something happening particularly on startup. I suspend + hibernate this computer. I only log in again if there's a hard crash. This flickering happens almost every time I connect to the Internet. There are no other panel items doing anything at the time that I know of.
On further thinking, I wonder if the problem is that the constantly updating nm-applet icon (whilst it tries to get the connection) stores up a load of refresh events which aren't immediately executed if the computer is also doing something else. Those refreshes eventually catch up, and it happens that the notification window is up, resulting in loads of refreshes in a very short time frame?
I'm now running 0.7.0-2.git20090207.fc9.x86_64.
This version displays the countdown timer in the notification, and then the notification disappears.
This has allowed me to see that the notification seems to be put up many times and not simply redrawn. That is, I can see the countdown timer go down, down - and then there's a flicker/redraw and it starts again from the beginning.
In fact some times I have even witnessed the countdown go to zero, the notification disappears - and then comes back again. Or, I've closed the notification and it restarts.
I don't know about the internals of libnotify or NM, so don't know what this means, but I hope it's useful.
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '9'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 9's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 9 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here:
Fedora 9 changed to end-of-life (EOL) status on 2009-07-10. Fedora 9 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version.
Thank you for reporting this bug and we are sorry it could not be fixed.