minimizetotray
If you received an error that contains "Cannot find object dir in
$topobjdir:", most likely, you didn't specify the objdir
correctly. Please check to make sure the objdir in the above
command matches the one specified in the .mozconfig file.
- General
questions
- Current
development, future plans and requested features
- Technical
support
- Help
wanted
- General
Questions
- How
do I minimize Mozilla Firefox or Thunderbird to the tray?
Multiple ways exist for
minimizing Firefox and Thunderbird to the tray. You can use whatever
works best
for you. The most common method is to right-mouse click on the minimize
button in the top right hand corner
of the window. Or you can select from the menu File->Minimize to
Tray. Or you can use the keyboard shortcut for Firefox,
Ctrl+Shift+M. If you want to always have Firefox and Thunderbird
minimized to the tray instead of the
taskbar, select that checkbox in the extension's options. If you want
to minimize all open Firefox windows,
middle click on the minimize button, (or CTRL+right-mouse click for
those without middle buttons).
- What
is -turbo mode and how do I set it up?
Note:
-turbo mode has been disabled while we rework the code to make
it work much more than 10% of the time. :)
- How
do I make Firefox or Thunderbird always minimize to the tray instead of
to the taskbar?
You can select this
setting through the extension's options. Click on
Tools->Extensions, highlight the MinimizeToTray extension,
and click on the Options button. Select the checkbox, and you're set.

- How
do I prevent the minimized tray icon from being periodically hidden in
the inactive area of the tray?
(Note: This does not
apply to Windows 95/98/ME users)
You can change this setting by doing the following:
First, right mouse click on the Start button and select Properties.
This will open a Taskbar and Start Menu Properties window.

At the top, make sure you are in the Taskbar tab. Check the checkbox
labeled "Hide inactive icons" and then click "Customize".

Find your Mozilla application, either in Current Items or Past Items,
and set the Behavior to "Always show". Mozilla Thunderbird users will
probably also want to set the new mail indicator icon to "Always show"
as well (although Windows sometimes seems to forget about that setting
for the new mail icon, so it has to be set again a few times before it
holds). Now click both OK buttons to get about of both windows, and
that's it!
- How
do I minimize multiple Firefox windows to the tray in one click?
There are two ways to
do this. One way is to middle click on the Firefox's minimize button.
This same thing can also be accomplished by CTRL+right-mouse clicking
on Firefox's minimize button. To restore the windows, just left click
on the Firefox tray icon.
- What
versions of Firefox and Thunderbird does this extension support?
We try to stay up to
date on all applications that support extensions. This
includes trunk/nightly builds.
- What
languages does this extension support?
Thanks to the help of
many users, this extension should support:
* Catalan (ca-AD)
* Czech (cs-CZ)
* Danish (da-DK)
* German (de-DE)
* English (en-US)
* Spanish (es-ES)
* Euskara/Basque (eu-ES)
* Finnish (fi-FI)
* French (fr-FR)
* Frisian (fy-NL)
* Hungarian (hu-HU)
* Italian (it-IT)
* Japanese (ja-JP)
* Lithuanian (lt-LT)
* Norwegian (nb-NO)
* Dutch (nl-NL)
* Polish (pl-PL)
* Portuguese (pt-BR)
* Slovenian (sl-SL)
* Russian (ru-RU)
* Slovak (sk-SK)
* Swedish (sv-SE)
* Simplified Chinese (zh-CN)
* Traditional Chinese (zh-TW)
The next version should contain these languages which we already have
translations for:
If any of these languages are not working for you, or you think the
translation is wrong, please email
us.
If you would like this extension translated into another language,
please
see the section on Language
Translation.
- Current
development, future plans and requested features
- What
is the current state of development with this extension?
Development is moving
along well. We have solved many of the major bugs, now we have moved on
to solving other important bugs. At the moment, all energy is
focused on -turbo mode. It's turning out to be more
complicated that we thought.
- Will
this ever support other platforms, such as KDE or GNOME versions for
Linux?
We'd sure love to! The
problem is, we don't have a clue how to do it =). If anyone else is
capable of programming the KDE/GNOME side of
this extension, we would welcome the help.
For now, a good tool for tray minimizing on Linux is KDocker.
It works for all NET WM compliant window managers, including KDE,
GNOME, Xfce and many more.
- Will
Mozilla Sunbird/Calendar ever be supported?
Both are supprted! Calendar will
automatically be
supported if it is installed alongside MinimizeToTray. The
current 0.2 version of Sunbird does not have extension support, but the
new version under development does. We have already tested
this
extension with new Sunbird builds.
If you need to minimize the current 0.2 version of Sunbird to the tray,
you can download and use this small program called SunTray.
- Does
this extension support the Mozilla Suite (Seamonkey)?
Everything in
MinimizeToTray works in the Mozilla Suite with the exception of tray
icon menus. Also, when Mozilla loads for the first time after
the
extension has been installed, an error message appears. After
that, the error message goes away.
- Does
this extension support automatic updates?
Yes. When a new Mozilla
application verison is released and tested, we will update our end so
your
MinimizeToTray extension can be updated as well.
- Are
there plans for Thunderbird's -turbo mode to always have a Thunderbird
icon in the tray, whether it's minimized or not?
This is also high up on
the requested list, but it hasn't worked it's way into the to do list
either.
- Can
this extension change what icon appears in the tray?
No. It's an often
requested feature, but there are too many limitations preventing us
from changing the icon.
However, if you really want to change the icon, there is a way. For
example, lets say the Thunderbird icon really really bugs you. Perhaps
you just don't like it. Or perhaps it look too much like
a blue whig over an envelope instead of a blue bird over an envelope.
And this bugs you so much, that you want to change it to an envelope
icon instead.
If so, you can manually change the icon by following these steps:
1. Go to the Mozilla Application folder (such as C:\Program
Files\Mozilla Firefox\ or C:\Program Files\Mozilla Thunderbird\)
2. Go to folder: chrome\icons\default
3. Replace messengerWindow.ico with an icon of your choice.
If you want, you can use this envelope
icon file.
- Will
this extension ever appear on Mozilla's main extension web page instead
of just on mozdev?
This is in the plans. The extension is
fairly solid
now, and so we hope to get have the extension appear on Mozilla's main
extension web page, so it's easier to find, install and auto
update.
- What
are some other requests for this extension?
Some other requests
we've received are:
* More powerful context tray menus for Thunderbird. Mostly it revolves
around being able to use all of Thunderbird's functionality while
always keeping it minimized. A variation of this is the ability to
hover over the Thunderbird icon and see how many messages are in an
inbox.
* Include an option to automatically add Firefox or Thunderbird to the
list of programs Windows loads on startup.
* Have an option to set -turbo mode as an extension option, rather than
just a command line parameter.
* Have a checkbox option that reads "Always display tray icon even if
not minimized". This will probably get implemented with
-turbo mode.
* Force the tray icon to always show. This can already be set
manually as described here.
* Have an option to change the shortcut keys involved with this
extension.
* Add the ability for shortcut keys to restore
the Mozilla appliation from the tray.
* Add the ability to change profiles from the tray icon menu.
* Have the extension ask for a password before it can be restored
again. This would be particularly helpful in preventing others from
accessing emails from Thunderbird.
* Have the Mozilla application still show up in the Alt+Tab list even
though the window has been minimized. (Note: this is probably not
possible).
* Have an option to prevent a new Firefox window from opening when one
was already minimized. If the Firefox icon is clicked, it would simply
restore your current minimized window.
- I
have other requests not mentioned here, who do I contact?
Have other ideas? We'd
love to hear them. Please send your requests to the project
mailing list.
- Technical
Support
- This
extension isn't working!
There are two main
reasons why this commonly occures. 1) There is a bug, or 2) It was
installed wrong.
First, to determine if there is a bug, the Javascript Console will
inform you if something went wrong. Click on Tools->Javascript
Console,
and when the window opens, click on the Clear button. With that window
open try to minimize your Mozilla application. If there's a problem
the Javascript Console will show it. If you see a JavaScript Console
error, please go to the section I receive
a JavaScript
Console error
whenever I attempt to minimize the application.
Second, if no bug was detected, and the problem doesn't seem to match
anything else found in this FAQ, then most likely, it wasn't installed
right or some strange glitch happened. If so, you may want to uninstall
and start over. If the problem
still
persists, you may want to try the full
blown manual
uninstall and reinstall.
If neither of these solutions apply, then move on to the section My problem isn't listed here, who can I
contact for help?
- I
received this error message:

Most likely, this is due to having a conflict between trunk and aviary
builds. If you were running on a normal version of a Mozilla
app,
and then you downloaded and ran a trunk/nightly build, this error
can pop up. In this scenario, simply uninstall the
extension, and redownload the correct extension for the Mozilla build
you are using.
This error can also occur just after uninstalling. If
so, just
ignore it, this should be the only time this error message will be
displayed.
- I
receive a JavaScript Console error whenever I attempt to minimize the
application.
This Javascript error
will have the following information:
Error: uncaught exception: [Exception... "Component returned failure
code: 0xe0c70005
[trayIWindowHider.minimize]" nsresult: "0xe0c70005 ()"
location: "JS frame :: chrome://minimizetotray/content/core.js ::
anonymous :: line 152" data: no]
This has been fixed. If you're still getting this error,
please update your Mozilla application.
- I
want to manually remove everything associated with this extension. How
do I do that?
Sometimes the need
arises to personally remove everything by hand. If such a need arises,
here are the steps to accomplish it. (Officially, this is not
a
fully recommended method by Mozilla. But it has worked
flawlessy
every time I've done it.)
First, uninstall the extension in your Mozilla application. Restart the
application, go to Tools->Extensions, and verify that it's gone.
When you have verified this, close down the application.
Next, delete out the extension's folder manually. The extension folder
is located in your profile's folder. On most Windows computers, it's
located
in the following path:
C:\Documents and Settings\[your Windows login name]\Application
Data\Thunderbird\Profiles\default\[funky profile name]\extensions\
The folder you want to delete is {31513E58-F253-47ad-86DB-D5F21E905429}
After you've deleted that folder, see if there is a Temp folder in
there. If so, delete it.
That's it, all traces of the extension should be gone.
- My
-turbo mode doesn't seem to work.
We've disabled turbo mode to rewrite this feature.
- I
think I found a bug, what do I do now?
If nothing else, report
it. But, please be kind to us and investigate the bug before emailing
us. Check to see if we haven't yet made
mention of the bug in our list
of bugs.
Also, carefully observe the behavior of the bug many times so you are
sure you have a handle on what's going on.
When you send a bug report, carefully describe the steps you took to
produce the bug, the unexpected behavior it caused,
and what should have happened if the extension worked correctly.
One great way to investigate is through the Javascript Console. Click
on Tools->Javascript Console, and when the window comes up,
click on Clear.
Then, go to your Mozilla application, and duplicate the bug. If
anything appears in the Javascript Console, that's pay dirt for us.
Another way to investigate is to try to duplicate the bug on another
computer. If it can be duplicated on more than one computer,
then it's likely we will be able to duplicate it as well.
Again, if this is too complicated or confusing, just report what you
can. Please send any bug reports to the project
mailing list.
- My
problem isn't listed here, who can I contact for help?
You can email us at the project
mailing list.
- Help
wanted
- Language
translation.
We currently support these
languages.
If anyone wants to help us support other languages, please send us a
translation for the following words:
* Minimize To Tray
* Restore 3 Windows
* Restore Window
* Open New Window
* View Downloads
* Close Window
* Exit Quick Launch
* Restore Thunderbird
* Get All Messages
* Compose New Message
* View Address Book
* Close Thunderbird
* Minimize To Tray Options
* Always minimize to the tray instead of to the taskbar
* Require a double click to restore from the tray
* Minimize to the tray on close
* Minimizes Mozilla windows into the system tray
- What
technical areas of help are needed?
* Offers to port to other platforms welcome (such as GNOME and KDE for
Linux).
* Fixes for any bugs which we haven't figured out yet. =)
- Who
do I contact to get involved?
You can email us at the project
mailing list.
- How
do I compile this extension?
These notes were written by helix400 on 7/17/2005 to
help
him with building the extension.
This extension in effect needs to be compiled once (to get the
extension's internal .dll), and then it needs to be packaged
together (to put all the files in an .xpi file).
If you want to work on the C++ code, you will need to be able to
compile. If you do not have a compiler, you will
not be
able to compile a .dll for yourself. However, you can still
code the Javascript and XUL portion and
package
together the extension. If you have a working MinimizeToTray
.xpi
file, from it you can extract the .dll file and the
minimizetotray.xpt file to easily package up the remaining files into
an .xpi file. So if you just want to work on javascript, XUL,
or
new locales, then packaging the .xpi file is the best scenario for you.
Of course, you will need to first get the MinimizeToTray source code
using CVS. If you do not have a way to check out code via
CVS,
please install Cygwin (which should come with a CVS package).
To
check out the MinimizeToTray source code, I found it necessary to run
these commands from the command prompt:
SET HOME=./
cvs -d :pserver:guest@mozdev.org:/cvs login
Enter this password: guest
cvs -z3 -d :pserver:guest@mozdev.org:/cvs co
minimizetotray/src/minimizetotray
Building the .dll
and
packaging the .xpi file:
In order to build the .dll file needed for the .xpi file, I found it
necessary to do the following:
You first have to get a Mozilla app compiled. (In my case, I compiled
Firefox). You cannot make the .dll file without having first
compiled a Mozilla app. Mozilla.org has some good
instructions on
how to get the environment set up properly. For a proper
build,
you'll need Microsoft Visual C++ 6.0, vs6sp5.exe (the service pack),
vcpp5.exe, Cygwin, and junction.exe. If you choose to compile
your Mozilla app
and extension with a newer Microsoft compiler or with gcc, the
extension may not work with normal Mozilla app releases.
Mozilla
app releases are compiled with Microsoft Visual C++ 6.0, and so to have
the extension's .dll work best, you should compile the extension with
the same compiler. If you compile the extension with newer
Microsoft tools, then the .dll will not work with normal Mozilla apps
releases unless you have msvcr71.dll in your application path or your
system path. If you compile the extension with gcc, then the
.dll
will only work if you use it with a Mozilla app compiled with gcc.
Also, before you being compiling, you will want to get the source code
for the Mozilla app you want to test your extension with. As
of
the time of this writing (July 17, 2005) we had to compile the aviary
builds to get a .dll that worked with aviary releases, and we had to
compile trunk builds to get a .dll that worked with trunk
releases. In the following example, I work with the trunk
builds.
Finally, before you compile the Mozilla app, your .mozconfig file MUST
have an
objdir specified. You can find more about the objdir here.
For this example, the objdir line added to the .mozconfig
file
is:
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-i686-pc-cygwin
Once you have built a Mozilla app (in my case, the trunk source for
Firefox), then you've done 90% of the work. The rest is
relatively easy and quick.
Now you can start building the .dll file. (In this example,
I
downloaded the Firefox source to
C:\MOZILLA\mozilla-src-firefox-trunk\. I also had my
minimizetotray files in c:\Mozilla\minimizetotray\.)
Run this from a command prompt: (Path varies according to
where
the Mozilla source is and where the MnimizeToTray source is.
Also, if you do not have the needed junction.exe, you'll need to
download it first.)
junction
C:\MOZILLA\mozilla-src-firefox-trunk\mozilla\extensions\minimizetotray
C:\MOZILLA\minimizetotray\src\minimizetotray
Run this command from the minimizetotray\src\minimizetotray\build\
directory. (You will need to modify the pathnames for
your Mozilla source, and put a "trunk" or an "aviary" according to
what mozilla app you are building it with.):
perl make.pl -V 0.0.1 -t
/cygdrive/C/MOZILLA/mozilla-src-firefox-trunk/mozilla -o
/cygdrive/C/MOZILLA/mozilla-src-firefox-trunk/mozilla/obj-i686-pc-cygwin
-s trunk
If it appeared to work, go check the
minimizetotray\src\minimizetotray\obj
directory. You should have a .dll in there. If you
received
an
error that contains "Cannot find object dir in $topobjdir:", most
likely, you
didn't specify the objdir correctly. Please check to make sure the
objdir in
the above command matches the one specified in the .mozconfig file.
Go back to the minimizetotray\src\minimizetotray\build\
folder.
Run this command: (Again, put a "trunk" or a "aviary" according to what
mozilla app you are building it with. Also, package.pl will
check
for the first .dll it finds in the obj directory, so if you have built
before, and you have more than one .dll in there, you'll need to clear
out the unwanted ones.):
perl package.pl -V 0.0.1 -s trunk
Packaging the
.xpi file if you
do not want to build the .dll:
In order to run the package script, you will need to be able to run
perl from the command line. If you do not have it, you can
download it with Cygwin. Cygwin installs the perl
package by
default. If not, you can find more about it here: http://www.mozilla.org/build/win32.html.
Next, go to minimizetotray\src\minimizetotray\. Create a new
obj
directory here. This is where your packaged .xpi files will
be
placed.
Open up a working minimizetotray .xpi file. (.xpi files are
simply .zip files. I personally use WinZip to open
them).
Extract the .dll file and minimizetotray.xpt file to this obj
directory.
Next, go to the minimizetotray\src\minimizetotray\build\
folder.
Run this command: (Note: Put a "trunk" or a "aviary" according to
what mozilla app you are building it with. Also, package.pl
will
check for the first .dll it finds in the obj directory, so if you have
built before, and you have more than one .dll in there, you'll need to
clear out the unwanted ones.)
perl package.pl -V 0.0.1 -s trunk
Finally, go to the minimizetotray\src\minimizetotray\obj\
folder.
You should see some new files in here, including a new .xpi
file.
That's it! Test out the .xpi file to see if it works!