Open Bug 18732 Opened 25 years ago Updated 7 days ago

[FEATURE] Gnome and KDE integration for new mail notification (linux)

Categories

(Thunderbird :: OS Integration, enhancement)

x86
Linux
enhancement

Tracking

(Not tracked)

People

(Reporter: phil, Unassigned)

References

(Blocks 1 open bug, )

Details

This is a feature tracking bug for showing mail notification in the Gnome Panel.
Dunno if we'll get to this, but we should certainly document our decision.
Status: NEW → ASSIGNED
Target Milestone: M15
adding seth (he might be interested, and we should try to share code between the
KDE and gnome implementations, if at all possible)
adding ramiro and shaver to the cc list.
Target Milestone: M15 → M17
Do we have existing, working biff code, that could be shared or used as
template?
Depends on: biff
No longer depends on: biff
These was once some doc on www.gnome.org for a biff backend CORBA interface, but
I can't find it anymore :-(.
[FEATURE] bugs past M16 are OUT for this release.  Marking M20.  If you disagree 
with this action, please help me explain it to the PDT.
Target Milestone: M17 → M20
Moving target milestone to "future" to be reviewed at a later time
Target Milestone: M20 → Future
Adding helpwanted.
Keywords: helpwanted
->sspitzer, cc gayatrib for biff issues
Assignee: alecf → sspitzer
Status: ASSIGNED → NEW
Blocks: 11056
*SPAM * change severity to enhancement
Severity: normal → enhancement
No takers for this? This bug has been silent for two (!) years now..
*** Bug 209927 has been marked as a duplicate of this bug. ***
I've written a component which adds a GNOME/KDE system tray icon when new mail
arrives, just like it does on Windows.

Licensing issues are unclear (the files taken from libegg need to be rewritten
as a Mozilla component). Works for me.

Source:
http://iglu.org.il/~future/mozFreeDesktopIntegration.tar.gz
Binary for i386-linux:
http://iglu.org.il/~future/mozFreeDesktopIntegration.xpi

The XPI can be recompiled for other platforms easily. Look into xpi/install.js
for more details on adding new platforms.

It's still missing a Preferences page. If you hide the tray icon, you can
reenable it by going to "about:config" and setting "mail.biff.show_icon" to "true".
I've made a few improvements to the extension:
- Acts as a Thunderbird extension (when installed on Thunderbird).
  Can be enabled/disabled completely and configured through
  the Settings dialog.
- Integrates into Mozilla preferences (Mail & News | Notifications).
  For now, the integration is rather awkward, due to Mozilla's
  inflexibility. (Bug 229451)

Can be installed from the original URLs (see previous comment).
*** Bug 233731 has been marked as a duplicate of this bug. ***
I've updated my Mozilla/Thunderbird extension to work with Mozilla 1.6 / 
Thunderbird 0.4/0.5. 
 
XPI: http://www.iglu.org.il/~future/mozFreeDesktopIntegration-1.0.1.xpi 
Source: http://www.iglu.org.il/~future/mozFreeDesktopIntegration-1.0.1.tar.gz 
Have just tried the above extension with Mozilla/5.0 (X11; U; Linux i686; en-US;
rv:1.6) Gecko/20040119 but it causes Mozilla to crash out whenever new mail
arrives.  Any tips for uninstalling?

In prefs->m&n->notifications i see massive red XML error text saying <checkbox
id="newMailNotificationShowIcon.. then it goes out of view.
You've tried the latest (1.0.1) version of the extension? 
 
Well, till we sort this out, erase 
'mozilla/components/mozFreeDesktopIntegration.so' to prevent the crashes. 
Blocks: 233462
Taking bug.
Assignee: sspitzer → caillon
Keywords: helpwanted
Status: NEW → ASSIGNED
Target Milestone: Future → mozilla1.8alpha
(In reply to comment #18)
> Taking bug.

YESSSSS
So where's the patch for this?
Right.  So I have had the popup notification thing working for some time... but
I don't yet have the systray stuff working yet for a few reasons, the one main
one being that libeggtray, etc. is both deprecated and has licensing issues (it
is LGPL).  I've been talking to Mark about it a little bit and we are going to
try and come up with some better, though that will likely not happen until next
week.

The other thing is that the current way to do this IMO sucks.  I can post my
brand new platform specific files to do this if so desired, but I'd much rather
merge all the nsMessenger*Integration files into one, split out the systray foo
into an nsISystray that each widget set can choose to implement or not, and have
the integration code call into it.  To do this, I need a Windows environment to
make sure I don't break the existing stuff, and I'll need to sync up with
someone for OS2.  I should have access to a Windows environment next week I
hope, so I'd like to hold off on the real patch unless you really want me to
post my patch so far.
*** Bug 254781 has been marked as a duplicate of this bug. ***
Any chance of sharing the patch you have so far? Preferably against thunderbird 
0.9

Thanks
Er! Sorry - make that 0.7.3 (what was I thinking?!)
Product: Browser → Seamonkey
*** Bug 283915 has been marked as a duplicate of this bug. ***
FYI:
There is an extension that implements this:
http://moztraybiff.mozdev.org/
Blocks: 296683
The component for sliding-in popup alerts is now built for gtk, too (see bug
305375, pending for SeaMonkey as bug 305384). Perhaps it would be a good idea to
implement at least this kind of feedback, and leave aside the notification icon
until the issues with libegg are fixed or a replacement is found?
Whoo, the Alerts service is in for Gtk?! Guess it's time somebody (meself?)
strip nsMessengerWindowsIntegration off the tray icon code and check it in. Then
again, this will prevent my extension (mozTrayBiff) from working since I
wouldn't have the opportunity to provide the biff service any longer.

Next version of Gtk should bring an integrated widget for tray icons (see
http://live.gnome.org/ProjectRidley_2fEggStatusIcon) so we could use it and get
rid of my extension (mozTrayBiff).
Blocks: 325353
The bug has been open for 7 years now !!!

Is there a reason why this is so difficult to have a mail notification icon in system tray in *nix desktop environments ?

The way of doing that is now standardized thanks to freedesktop.org, and the extension doing this exists (MozTrayBiff). Why isn't it in the default Thunderbird package ?
Why has the Windows version more features than the *nix versions ?

There might be a good reason, but at least, please, would you say it in this thread ?
(In reply to comment #29)
> The bug has been open for 7 years now !!!

Welcome to Mozilla's bugzilla! Don't worry, you will get used to it. And patience is a virtue ;)

> Is there a reason why this is so difficult to have a mail notification icon in
> system tray in *nix desktop environments ?

It must be, since there is not even a single patch in this bug report. I don't have any idea how to do it, do you?

> The way of doing that is now standardized thanks to freedesktop.org, and the
> extension doing this exists (MozTrayBiff). Why isn't it in the default
> Thunderbird package ?

I guess it is just that nobody has provided a patch. By the way, the extension is great, kudos, honors and big thanks to Ilya Konstantinov. You can always package Thunderbird with the extension enabled for your GNU/Linux distribution (or asks someone to do it). Next version of Mandriva Linux will surely do it.

> Why has the Windows version more features than the *nix versions ?

Perhaps Thunderbird developers don't use *nix [1][2]... Anyway, don't expect that to change in the next version[3]

Finally, I am writing this because I have made the same mistake: believe that someone else should fix my problems in exchange of nothing. The "No Obligation" paragraph in Bugzilla Etiquette [4] is enlightening on this issue.

[1] https://bugzilla.mozilla.org/attachment.cgi?id=204406
[2] https://bugzilla.mozilla.org/attachment.cgi?id=202312
[3] http://wiki.mozilla.org/Thunderbird2:NewMailAlerts
[4] https://bugzilla.mozilla.org/page.cgi?id=etiquette.html 
I think this depends on bug 325353 rather than blocks it. Let's just wait. Now, that GTK 2.10 has tray icon support out of the box, I hope we can expect this implemented (Thunderbird 3 maybe?)...
No longer blocks: 325353
Depends on: 325353
Assignee: caillon → mail
Status: ASSIGNED → NEW
Priority: P3 → --
QA Contact: lchiang
Target Milestone: mozilla1.8alpha1 → ---
shouldn't also libnotify be used for notification, instead of self-drawn popups?
I am broadening this bug from Gnome only to Gnome and KDE.

It should cover Thunderbird, too. Keeping it at Seamonkey, because does not have any even remotely fitting component.
Assignee: mail → nobody
QA Contact: message-display
Summary: [FEATURE] Gnome integration for new mail notification → [FEATURE] Gnome and KDE integration for new mail notification
Depends on: 478463
Blocks: 140751
I made an example of simple workaround for this using Mailbox Alert, wmctrl and zenity:
http://shmerl.blogspot.com/2010/11/thunderbird-new-mail-notification-for.html
Qt also provides convenient API for working with system tray:
http://doc.qt.nokia.com/4.7/qsystemtrayicon.html#isSystemTrayAvailable
This seems to be working for me with Thunderbird 7.0.1 and KDE 4.6.5 -- the Thunderbird new mail notifications for my primary account show up in my KDE system tray (with a cool looking icon too). Can anyone else confirm?

Doesn't work for secondary accounts but I suppose that is a separate issue.
rocketraman: Which Linux distribution do you use, and what's the name of the tray app (User-visible name or better yet commandline in "ps ax")?
(In reply to Ben Bucksch (:BenB) from comment #39)
> rocketraman: Which Linux distribution do you use, and what's the name of the
> tray app (User-visible name or better yet commandline in "ps ax")?

Its Fedora 14 86_64, KDE 4.6.5, though I am using 32-bit TB. There is no separate tray app in the process list -- its the standard KDE System Tray provided by Plasma as a panel widget.
Oh and BTW, I'm using TB downloaded from mozilla.org -- not the TB from the Fedora repos.
rocketraman, I cannot confirm that. I use Icedove 10.0.3 on Debian testing with KDE 4.7.4, and don't see any way to get a system tray icon. I just reinstalled Firetray to get one.
System tray icon is not shown on Debian testing / KDE with Thunderbird 11.0 from the Mozilla ftp. One needs to use add-ons which launch some externals scripts to show a tray icon. This should really be implemented natively in Thunderbird itself.
As an addition for previous posted workaround - in KDE zenity doesn't work for tray icon. One can use some custom Qt scripts to do it.

Simple example (source: http://blog.ixti.net/development/ruby/2010/06/23/system-tray-icon-with-ruby-and-qt4/ )
-------------

#!/usr/bin/env ruby

require 'Qt4'

app = Qt::Application.new(ARGV)
si  = Qt::SystemTrayIcon.new

std_icon = Qt::Icon.new('/some_path/some_icon.png')
alt_icon = Qt::Icon.new
blinking = true

si.icon  = std_icon
si.show

Qt::Timer.new(app) do |timer|
  timer.connect(SIGNAL('timeout()')) do
    si.icon = (si.icon.isNull ? std_icon : alt_icon) if blinking
  end
  timer.start(700)
end

si.connect(SIGNAL('activated(QSystemTrayIcon::ActivationReason)')) do |reason|
  case reason
    when Qt::SystemTrayIcon::Trigger: app.quit
  end
end

app.exec

There is some extension in development which claims to work even with latest thunderbird versions and on linux
https://github.com/Ximi1970/systray-x/releases

Many of the references here and duplicates are for Thunderbird, so moving this to Thunderbird

Component: MailNews: Message Display → OS Integration
Product: SeaMonkey → Thunderbird
See Also: → 1626161
Summary: [FEATURE] Gnome and KDE integration for new mail notification → [FEATURE] Gnome and KDE integration for new mail notification (linux)
See Also: → 1482674

Why the minimize to tray was implemented only for windows (bug 208923)? Why it is even considered to implement a solution for just a single platform?

There's not a conscious effort here to ding LInux. But there are multiple reasons why they did Windows (mind you, it required someone having a solid idea of how to code the solution) - the top reasons why Windows and not linux are they (Windows and Linux) are fundamentally different technical implementations (there's no two platforms solved with just one patch here), historically for Linux is at least some platforms has distro level folks providing the solution, and lastly because this is far more requested by Windows users than Linux.

I believe making (via an option) the close button to behave like the minimize button and making (again via another related option) TB start minimized at this time would be enough for Linux (and all other Linux-related platforms like the *BSD) which is a low-effort task, but also at the same time it would be something for Linux, not like it's now completely ignored.

(removed - posted in the wrong bug)

Anatoli, this bug is about "new mail notification in tray", not "minimize to tray" feature.

I will happily ignore it since I was annoyed at the idea of having to answer to it ;)
Though, you are raising up a common misconception : "We can't support Linux tray because there are multiple standards".
The truth is, there is only one standard : StatusNotifierItem
https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/
https://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/

This one is used by basically all the DE supporting the "tray" : KDE Plasma, LXQt, Mate, Cinnamon, Xfce, Unity...
Then you have Gnome doing their own thing (basically deprecating the tray) but even them have a sni extension : https://extensions.gnome.org/extension/615/appindicator-support/
Only some older DE/VM do not support sni and still rely on the old systray. This is not an issue. Or maybe TB devs want to support 10 years old DEs ?

Now there are multiple ways to implement StatusNotifierItem support... Any of them but libappindicator is good.
The issue with the libappindicator implementation is that they removed the left click support for ideological reasons and the project is basically dead at this point.
https://blog.tingping.se/2019/09/07/how-to-design-a-modern-status-icon.html
https://github.com/electron/electron/issues/21819

(In reply to Ben Bucksch (:BenB) from comment #51)

(removed - posted in the wrong bug)

Ben, I was not saying that Linux is ignored in general, but in this bug in particular and a couple of other bug fixes and new features (like client certificates from the system store, GPO configuration as an option for remote management with no equivalent for Linux, etc.). IMO if a general bug is fixed or a new feature is introduced, it should work on all 3 major platforms.

Also I agree with Yamashita about the tray support in Linux.

And about the close button, I was not saying to hack it somehow in each DE, but rather to intercept the events related to the close button action to not perform an exit, but rather to minimize or destroy the main window as it's done today by 2 plugins (Keep in Taskbar & Minimize on Close). If even the plugins can do it, the native code can do it easily.

You say 'Clicking "minimize" instead of "close" is not a problem for most Linux users', but there are a lot of office users that don't even realize they are using Linux on a corporate machine and they click on Close and then complain that they are not getting the emails because they are accustomed to clicking it in Outlook.

I'm commenting on this here as the related bugs were marked duplicates of this one or closed with "fixing for Linux? not at all!", so it's sort of a general bug about tray/minimize for Linux (please see the comments 142 & 143 in https://bugzilla.mozilla.org/show_bug.cgi?id=208923#c142).

(In reply to Ben Bucksch (:BenB) from comment #52)

this bug is about "new mail notification in tray", not "minimize to tray" feature.

According to Wayne Mery (:wsmwk):, this bug does cover "minimize to tray" (see bug 1627479 ("Minimize to tray on Linux"))

Could someone update the Summary for this bug accordingly? Or should bug 1627479 be re-opened?

Flags: needinfo?(vseerror)

should bug 1627479 be re-opened?

Without disrespect to Wayne, I think while these are surely related features, they are still different features, so I reopened the other bug. At least that helps focus the discussion.

Yes, they are distinct

Flags: needinfo?(vseerror)
See Also: → 1627479
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.