"Too small window" bug with Lightning installed.
start_hidden is not so easy to achieve since:
- we can't rely on appStarted (window displayed in between)
- we can't rely on 'load' event (window not fully realized - position, size)
- we can't rely on 'resize' event (window displayed/shown/resized a variable
number of times)
Besides, nsIBaseWindow.visibility remains the surest way to hide windows at
startup.
Although we can re-construct a gdk.GdkWindow.ptr from natvieHandle (address of
the actual GdkWindow), we can't seem to be able to use it. For ex.,
gdk_window_get_user_data(), which should return a pointer to the corresponding
GtkWindow, returns strange adresses with our re-constructed pointer (0x11,
0x19, 0x0, ...)
...and despite the fact that both the "original" gdk.GdkWindow.ptr and the
re-constructed one do point to the same address, and that GDK_IS_WINDOW (macro
here wrapped into an embedded lib) is returning true for both pointers...
Thunderbird to be shown, when launched from the command line, while already
running.
NOTE: gdk_window_show/hide also works, but we'd lose the ability to resize and
move the windows before showing it when restoring.
ctypes-utils.jsm was modified to handle Components.utils.unload, introduced in
Gecko 7.0. It would be too costly to try to mainain an addon that would work
for all versions from 4.0 to current. This could be achieved though with
multiple entries in chrome.manifest:
resource firetray modules-4.0/ appversion<7.0
resource firetray modules-7.0/ appversion>=7.0
but would force us to maintain 2 versions of the same files... (preprocessor
pointless)
* support icedove/iceweasel/iceape (appId's are equivalent with FF, TB, SM)
* have a nice "F" mandatory wrapper object (instead of the long "firetray")
* fix version anchor on the firetray splash page when opening a tab