Ticket #127 (closed defect: fixed)

Opened 4 years ago

Last modified 3 years ago

don't use a status icon when the notification server supports persistence

Reported by: mccann Owned by: jmoskovc@…
Priority: critical Milestone:
Component: abrt Version:
Keywords: Cc:
Blocked By: Blocking:

Description

Newer notifications servers (gnome-shell, or notification-daemon >= 0.6.0) support persistence of notifications. This means that a bubble won't just disappear after it is shown - it will stay until it is seen/addressed/acted upon. This means we don't have to rely on a status icon to provide the persistence for the message. In fact we should remove the status icons since they will provide a confusing duplication of this information.

On top of that, GNOME 3 won't really be supporting status icons at all. So this works out nicely.

You can query the server for support of the "persistence" capability like so: http://git.gnome.org/browse/libnotify/tree/tests/test-persistence.c

You'll need libnotify >= 0.6.1 too.

Attachments

no-status-icon.patch (14.2 KB) - added by mccann 3 years ago.
untested but buildable patch (based on abrt-1.1.17)

Change History

comment:1 Changed 3 years ago by mccann

It would be really great to fix this for GNOME 3.0. Thoughts?

Changed 3 years ago by mccann

untested but buildable patch (based on abrt-1.1.17)

comment:2 Changed 3 years ago by jmoskovc

  • Milestone set to 2.0.0
  • Priority changed from major to critical

comment:3 Changed 3 years ago by jmoskovc

  • Resolution set to fixed
  • Status changed from new to closed

Fixed in git (commit: 8a7e286b8faf44450eee866e2973ab9a7f760b68 - don't use a status icon when the notification server supports persistence). Will submit an update for F15 asap.

comment:4 Changed 3 years ago by mccann

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:5 follow-up: ↓ 7 Changed 3 years ago by mccann

Unfortunately this change didn't fix all the issues. Some things from my patch were missed.

  • The notification name used in notify_init() is still wrong
  • The text in the notification isn't very good and should be more like what I suggested in my patch

comment:6 follow-up: ↓ 8 Changed 3 years ago by mccann

Oh actually that's partly because for some reason it is still using a status icon here.

comment:7 in reply to: ↑ 5 Changed 3 years ago by jmoskovc

Replying to mccann:

Unfortunately this change didn't fix all the issues. Some things from my patch were missed.

  • The notification name used in notify_init() is still wrong
  • what should the name be?
  • The text in the notification isn't very good and should be more like what I suggested in my patch
  • ok, will change it

comment:8 in reply to: ↑ 6 Changed 3 years ago by jmoskovc

Replying to mccann:

Oh actually that's partly because for some reason it is still using a status icon here.

  • damn, you're right, I used #if to make the source buildable even with older libnotify and I reversed the condition ...

comment:9 Changed 3 years ago by mccann

notify_init() should be called with the human readable app name. Which in this case I suppose is "Abrt". I don't think that's a particularly good name for this software but it will have to do for now probably.

comment:10 Changed 3 years ago by jmoskovc

  • Milestone changed from 2.0.0 to 2.0.1

fixed in git -> tested in gnome-shell and seems to work as it is supposed to..

comment:11 follow-up: ↓ 12 Changed 3 years ago by mccann

Can we get this into a build soon?

comment:12 in reply to: ↑ 11 Changed 3 years ago by jmoskovc

Replying to mccann:

Can we get this into a build soon?

  • preparing it right now

comment:13 Changed 3 years ago by jmoskovc

I tested the new version and it seems to work, but has some troubles I'm not sure how to fix:

  1. if I log into a gnome3 and try to crash something, the applet shows the the status icon, which means the code to check for persistence returns false, so it fails...
  2. if I kill the applet and start it again, everything works as expected - applet shows just the notification which stays until user do something with it..

comment:14 Changed 3 years ago by jmoskovc

updated patch is included in abrt-2.0.0-2 which is now submitted in bodhi.

comment:15 follow-up: ↓ 16 Changed 3 years ago by mccann

Yeah it still doesn't work unfortunately.

comment:16 in reply to: ↑ 15 Changed 3 years ago by jmoskovc

Replying to mccann:

Yeah it still doesn't work unfortunately.

  • can you try:

$ killall abrt-applet; abrt-applet -v

  • I'm just wondering if you'll have the same behavior as I have

comment:17 Changed 3 years ago by jmoskovc

  • Resolution set to fixed
  • Status changed from reopened to closed

seems like server_has_persistence() returns false when it's called at the time of applet start, my guess is that the notifyd service setup is not finished at this time, so I moved applet init to the time of the first crash, where all the desktop/notifyd setup should be finished. I tested the patch with gnome-shell and it works for me, so I'm going to add it to next build.

comment:18 Changed 3 years ago by anonymous

  • Milestone 2.0.1 deleted

Milestone 2.0.1 deleted

Note: See TracTickets for help on using tickets.