Closed salaros closed 4 years ago
@salaros You can still use the actual firetray for thunderbird 50+ by force download the addon & install it manually in the option, I did it for 52.6.0 (64-bit) and it works properly.
@yannours yeah, it worked on versions <= 52, but as you can see I opened this ticker for versions >= 57 If you don't believe me, just try upgrading to Thunderbird 57/58 👍
@salaros Ofc I believe you :) My bad wasn't wondering a 57+ disrupting, no way for me to upgrade so :D
@yannours some massive API changes took place in 52 -> 57/58 transition, with many breaking changes That's why I wanted some to take a look at it, before I got with a rewrite (probably I will have to, right after TB 57/58 goes stable)
Is someone planning to fork this project?
@jonlandrum I'm planning to do it if I fail to find a new maintainer for TB 57+ version here, I already maintain tons of open-source projects (some of them are mine, some were adopted), that's why I'm hesitating and trying to find some help before attempting a rewrite by myself
It will be great for 60+ version too :)
In case anyone is considering a fork or devoting some time into making just any tray add-on for Thunderbird 60+ work again, I am hereby cross-referencing MinTrayR issue 238.
I forked FireTray yesterday (because it seems to be the only minimize-to-tray extension that shows the number of currently unread messages) to see how far I can get (I had no experience with JS yet).
I did some minor updates according to the Thunderbird/Add-ons Guide 57 but ran into the problem that the .xpi file was not unpacked during installation (addon.pack
in XPIInstall.jsm
in line 1858 is not set).
I managed to install the extension using a text file to reference the unpacked extension files as described here. But after the installation of the extension Thunderbird crashes within seconds after every application start.
I was not able to figure out how to properly debug the extension on startup. So my next approach would be to turn the extension into a bootstrapped extension to make debugging easier. I already began the work in the bootstrap branch, but step 6 seems to be a bit more work that I won't have time for in the next few weeks.
@CubicF FYI, I tried your fork (bootstrap and thunderbird_quantion branches), thanks!
I found:
Thunderbird 60, Ubuntu 18.04 with Cinnamon 3.8
@CubicF I also tried your fork. It installed, but it didn't seem to do anything.
There didn't appear to be any configuration menu available from the add-ons menu, and I didn't see any icons in my system tray. I'm not sure what exactly the expected behaviour should be.
Thunderbird 60, Manjaro Linux 17.1.12 with Gnome 3.28.2
@jamesrobb If you tried to install the .xpi file it was presumably not unpacked during installation (at least this was the case for me). Therefore some icons can not be found (as you can see in the error console, which can be found in the "Tools -> developer tools" menu).
As I already mentioned, I tried to circumvent that problem by install the extension via referencing the unpacked sources. But if I do this, Thunderbird crashes at start-up before I can open the error console to see what went wrong.
Despite converting to a boot-strapped extension for better debugging (which would need some time because I have virtually no knowledge of the subject) I'm pretty clueless.
Support for unpacked extension was removed (https://blog.mozilla.org/addons/2018/02/22/removing-support-unpacked-extensions/). This is why "unpack true" will not work anymore. I tried to load native libraries via ctypes from packed xpi file but this always fails (ctypes.open, error 126/file not found).
https://developer.mozilla.org/en-US/docs/Mozilla/js-ctypes/Using_js-ctypes/ctypes.open This page is saying that ctypes.open() will load from xpi/jar but it doesn't work. I checked everything. Packed xpi file is okay, libraries are in there, in correct folder. Path is generated exactly as said in documentiation. But it fails. With "jar:" without "jar:". Any combination. Always fails with "not found" error.
Ugly hack can be implemented (like placing native libraries outside xpi, in some predefined path). This will break instalation process and extra steps will be needed. This solution will be unusable for less experienced users. Using unpacked extension in dev mode (via proxy file) is also ugly/not portable hack.
Even if hacked then this may not work for long. Firefox did kill ctypes already (https://bugzilla.mozilla.org/show_bug.cgi?id=1444502). Also firefox will soon (or already did) drop support for "legacy" extensions. WebExtensions is the future. WebExtensions will not support ctypes either https://discourse.mozilla.org/t/ctypes-possible-in-webextensions/12490. Thunderbird slowly follows this path.
I don't see any way how to fix this issue properly. There is no long term solution.
This issues is hard to fix and fix may not work for long. Firefox/Thunderbird is killing powerful utilities for extensions (because of security). And tray extensions need these powerful utilities to work.
This should by implemented in firefox/thunderbird natively. Great solution for everyone. But it won't happen https://bugzilla.mozilla.org/show_bug.cgi?format=default&id=208923.
So Firefox/Thunderbird will not implement this but they remove support for extensions. Yea... We can't do much. This is about direction what Firefox and Thunderbird is heading...
I hope they will change their mind about native implementation. There is no other way.
Prove me wrong. Please.
I continued what CubicF started and got FireTray up and running. The addon seems to work fine, but I barely used it and didn't try everything.
The changes I made are here: https://github.com/firetray-updates/FireTray/tree/thunderbird-57
@firetray-updates: your version does show an icon with new mail count, but closing the window kills Thunderbird, and minimizing it keeps it on the task bar. (Debian, xfce)
@kilobyte Not having theses issues on Plasma5/SystemTray. Didn't try appindicator. Using it without appindicator prevents you from getting the new mail count though...
@kilobyte FireTray is disabling the chat plugin here because it's not supported, so I missed the firetray.Messaging.Accounts()
there. I updated the code (force-pushed), try it now.
@firetray-updates: yay it works!
@firetray-updates Can confirm! I don't seem to have a way to configure it yet, but the tray icon is indeed back. Thanks!
Tried it on windows 10. Minimizing TB will keep it in taskbar. SysTray icon is visible but I cannot interact with that icon.
@firetray-updates Also can confirm with using XFCE. Thank you for fixing this. Mind publishing this as an official add on?
@ZTHawk I'm sorry, I didn't try this on Windows. I suspect your problem is related to the unpacking issue that CubicF mentioned. I assume it's a Windows specific problem, because I didn't have to do anything special to install the addon.
@Thrilleratplay I'm not planning on supporting this ATM, I just fixed it because I like it and apparently it still needs some changes.
Nice! At least tray icon appears and close to tray works, clicking it also brings back the app which is all I need for this addon.
@firetray-updates, working well on Cinnamon. Thanks!
I wonder if Thunderbird contributors ever use Thunderbird themselves, since apparently this has been a feature request since 2003 and nobody in 15 years got uncomfortable enough to implement this core functionality in the application (I have never seen any other application that has "minimize to tray" functionality implemented as an addon, this is hilarious and absurd). Unfortunately, I am useless here, so, please, if you consider developing a new extension like FireTray, instead consider first implementing this in Thunderbird itself, be it AppIndicator, GtkTrayIcon -- basically, whatever at this point, since it will never be accepted upstream (ticket about this was marked as RESOLVED WONTFIX, also absurd), and we can just compile it ourselves.
@light2yellow: I for one use Thunderbird because of this functionality, and will look for another mail client the moment it stops working (in Debian, TB52 is still in stable and testing, only unstable has 60). The fix by @CubicF and @firetray-updates is great. My use case for Thunderbird is twofold: 1. glorified biff, 2. something to read that HTML mail from a business critter; for anything else I use mutt. No close-to-tray means the first — my main — use is out. And I receive ~1000 text mails per day (LKML is spammy...) vs maybe 12 HTMLs I elect to even open per year.
The only reason for WONTFIX was that "operating systems deprecate system tray". Except that Windows 10 recommendations explicitly list new mail notifications as valid use of the tray, and the only Linux environment that hypocritically deprecates tray despite using it itself is GNOME.
@kilobyte If you found evidence that win10 recommends systray then you should post it on mozilla bug tracker to state the old reason as invalid.
" You are not allowed to make an additional comment on this bug. "
Here's Microsoft docs about notifications and systray icons. It lists Outlook as an example of "Correct" purpose of tray icon, and provides a long list of conditions that are required for a permanent icon to be acceptable, Thunderbird matching them all.
As for Linux: GNOME is a lost cause, and I have nothing but pity for its users. People who use any other environment can, and often want to, use systray.
I think this is definitely something that should be brought up with the Thunderbird developers. I think its hasty to say that system trays are a thing of the past considering the majority of people today still use OSX and Windows, which to date still have system trays. For Linux, I don't think its fair to point out a single DE and use their ever evolving design paradigm as justification for not implementing a very common feature of a mail/messaging client.
I sure would have loved to make some passive-agressive comment about how "and on linux this isn't really a thing" is wrong. The bug report has been closed for wrong reasons and another one should be reopened. Unfortunately I can't be bothered with spearheading a bug report toward such close-minded developers...
I have switched to Evolution (https://wiki.gnome.org/Apps/Evolution). It can show the number of unread messages in the tray icon. That's enough for me already.
For anyone interested, I created Arch AUR package that builds @firetray-updates fork.
I have created a new bug report here: https://bugzilla.mozilla.org/show_bug.cgi?id=1490368
@ZTHawk I have a VM with Windows 10, so yesterday I tried the addon there to see what's going on.
For some reason FireTray is unable to load the images stored inside the xpi. This is the reason why it does nothing on Windows, the addon starts and immediately stops working. Removing bits of code here and there to skip the loading of the images made the addon work. However, everything works fine only for a bunch of seconds, then Thunderbird crashes. I should probably use a debugger to know what's going on, because right now I'm clueless.
@firetray-updates If you could make a compiled .xpi of this so that i can install it even if it is buggy i'd appreciate it.
@hajj3: I don't know how to build the xpi, but if you're on Debian (or a derivative like Ubuntu or Mint), here's a package: https://angband.pl/debian/pool/main/f/firetray/ — built after mindlessly applying the diffs. It uses some mozilla-devscripts scheme that I didn't even look inside. Works perfectly for me.
Still no word from the maintainers; if no one says a word I'll propose a NMU shortly.
@hajj3: I don't know how to build the xpi, but if you're on Debian (or a derivative like Ubuntu or Mint), here's a package: https://angband.pl/debian/pool/main/f/firetray/ — built after mindlessly applying the diffs. It uses some mozilla-devscripts scheme that I didn't even look inside. Works perfectly for me.
Still no word from the maintainers; if no one says a word I'll propose a NMU shortly.
I'm using Windows 10 unfortunately.
Here is the xpi from https://github.com/foudfou/FireTray/issues/238#issuecomment-419705792 (with debug symbols): firetray-0.6.1.xpi.zip
To use, unzip it first (github didn't allow to upload .xpi directly).
Here is the xpi (with debug symbols): firetray-0.6.1.xpi.zip
To use, unzip it first (github didn't allow to upload .xpi directly).
thanks, unfortunately it won't minimize to the tray or close to the tray, i tried changing the options. I tested using thunderbird 60.0 x64 on win 10 x64.
@kilobyte cd src && make
;)
@hajj3 the addon dies as soon as it tries to populate the menu of the tray, which includes the images.
thanks, unfortunately it won't minimize to the tray or close to the tray
It didn't work (i.e. installed and launched correctly, just nothing happens) for me in TB 60 either (Arch Linux, XFCE), although I didn't have much hope about it.
The state of desktop mail clients is quite pathetic. Geary and Evolution have numerous bugs and glitches, and don't implement the standard used in XFCE for tray icons, KMail has a tray icon, but it refused to send an email from Gmail account (which is, like, the essential thing). Something like N1 fork (whatever name it has) requires additional cloud account. Mutt[4e] will just take too much time to figure out. There is no middle ground.
Being broken in Arch+XFCE on TB60 sounds weird — I wouldn't expect Debian's XFCE to be meaningfully different, yet updated firetray (as the package I linked) works fine for me.
So, you said that, and I went digging a little bit further -- just thought it's <=57. Managed to get it working in my environment too. I noticed that while opening the application there was something happening in xfce4-panel's systray: the visual space was allocated for an icon and then instantly deallocated. I gdb'ed the panel and noticed that the icon was the same as the one used for 'notifications' widget.
Then I went to Add-ons -> FireTray and selected a custom icon:
And that fixed it for me. Thanks.
I tried the addons on Windows once more. The problem with the icons not loading is due to the fact that the addon is not unpacked, despite the unpack flag set in install.rdf. Apparently Windows needs an unpacked extension: XPI_unpacking. If I manually extract the addon, everything starts working as expected.
The crash I'm experiencing is instead caused by an access violation related to something attachWndProc() does. If I replace this function with a stub, Thunderbird stops crashing. That function should be needed to handle multiple windows and indeed FireTray only handles the main window after the change, but at least it won't crash the application.
There's something I forgot to mention. The addon is entirely written in JS, the bits of native code are not used. The Makefile simply packages the xpi taking only the files used while stripping all the log.debug()
calls. This means you can just download the source code, rename the src
directory to {9533f794-00b4-4354-aa15-c2bbda6989f8}
and place it in ~/.thunderbird/PROFILE/extensions
(Linux) or %APPDATA%\Roaming\Thunderbird\PROFILE\extensions
(Windows). You'll have all the log.debug()
lines and some extra files, but that's not a big deal. You may have to restart Thunderbird a couple of times, once to let it find the extension and once more to let it load it.
If you want to test the addon on Windows, I suggest you to comment out this. Not ideal, but at least Thunderbird will not crash.
@firetray-updates Would you be willing to take a minute or two to list the step by step for installing this? Running debian 9 but am not quite sure how to use the api to get firetray back up and running after the latest thunderbird 60 update. Thanks
For Debian, you can take it from the official archive: http://ftp.debian.org/debian/pool/main/f/firetray/xul-ext-firetray_0.6.1+dfsg-1.1_all.deb — for now unstable only, but I asked for inclusion in stable updates.
@bryanmc57
git clone https://github.com/firetray-updates/FireTray
cd FireTray/src
make build
ls ../build-*/*.xpi # <-- your xpi, ready to be installed
(you can use a packed extension on Linux, so the xpi is fine)
As I also mentioned in my previous comment, you can just download the source code (even via github), take the src/
directory, rename it to {9533f794-00b4-4354-aa15-c2bbda6989f8}
and place it in ~/.thunderbird/PROFILE/extensions
. The default profile is something like XXXX.default
, read ~/.thunderbird/profiles.ini
for the exact name.
For Debian, you can take it from the official archive: http://ftp.debian.org/debian/pool/main/f/firetray/xul-ext-firetray_0.6.1+dfsg-1.1_all.deb — for now unstable only, but I asked for inclusion in stable updates.
I had firetray working with Thunderbird 52.4 all along. I had xul-ext-firetray (0.6.1+dfsg-1) installed from debian packages. I'm on sid. I had Thunderbird held, unfortunately I didn't have firetray held. Today I did a system upgrade and this new firetray came in and broke my working firetray. I tried reinstalling the old version but it still doesn't work. I'm severely bummed. How do I get it working again, is there a check for versions somewhere I can override?
This message is for contributors (people who fork this repo): please implement mozilla57+ migrations in order to make this addon compatible with TB 57+