Commit Graph

68 Commits

Author SHA1 Message Date
foudfou ef30cd16e2 * fix: correct launch of app-started event in Thunderbird when windows not
actually mapped (or "mapped" to another desktop)
* check app started if -firetrayShowHide or -firetrayPresent

We can't base the app-started event solely on MapNotify, at least because the
app could be started on another desktop (not mapped). The app-started event in
Thunderbird is not based on mail-startup-done events. We might have to consider
implementing a watchdog for unexpected cases...
2013-10-07 00:24:29 +02:00
foudfou f6508616e6 Merge branch 'urgency'
Conflicts:
	src/modules/FiretrayChat.jsm
	src/modules/linux/FiretrayChatStatusIcon.jsm
2013-07-24 15:46:12 +02:00
foudfou 6615219f95 use 'focus-in' event for unsetting urgency hint
Unsetting urgency hint can't be base on MapNotify when working on a single
desktop.
2013-07-23 23:35:21 +02:00
foudfou 419ac2d0f0 set urgency hint on all windows for new messages 2013-07-22 17:23:33 +02:00
foudfou 9472fe22a2 Merge branch 'cross-fade' into v0.4.6rc2
Conflicts:
	src/modules/FiretrayChat.jsm
	src/modules/linux/FiretrayChatStatusIcon.jsm
2013-05-30 22:22:08 +02:00
foudfou 08bd79a1c9 * add chat_icon_blink, chat_icon_blink_style options
* fix MailChatPrefListener unregistering
* use GDK_INTERP_BILINEAR for gdk_pixbuf_composite
2013-05-10 15:33:50 +02:00
foudfou 08828ce825 for Thunderbird, base startup event on the last restored window's map.
Unfortunately there is not equivalent "sessionstore-windows-restored" in TB
yet.  Many events related to windows are issued before windows are fully
realized. "mail-startup-done"/"mail-tabs-session-restored" are issued by *each*
window. "console-api-log-event" is not reliable and can be issued at relatively
early stage on heavy configs. So that the best solution is probably to count
restored windows ourselves...
2013-04-21 14:17:29 +02:00
foudfou 2c5a99c159 fix start_hidden by hiding only when app not started
base startup event on "sessionstore-windows-restored" and
"console-api-log-event", instead of the first "before-first-paint", reverting
some of 29de64e5
2013-04-14 15:55:20 +02:00
foudfou 7af80d0119 handle blinking on new messages for twitter accounts
No 'new-directed-incoming-message' event is issued on new messages for twitter
accounts, which seem to be considered chatrooms (instead of private
conversations).
2013-04-07 16:45:17 +02:00
foudfou 8c1ae188b2 don't actually use libfirtray (nor display gtk version)
this would lead to shipping compiled version for multiple platforms...
2013-03-21 01:13:41 +01:00
foudfou 270807380d example of using libfirtray to display gtk version 2013-03-21 01:09:08 +01:00
foudfou 2b2812aee6 cleaning 2013-03-16 16:04:07 +01:00
foudfou bd83ca9304 * display popup menu window items for all application, not only browsers
* cleaning
2013-03-10 22:21:02 +01:00
foudfou 6fb8a15f22 * more accurate startup event detection
* when start_hidden, hide window on first x11.MapNotify instead of hiding all
  windows short after the "startup event".

  This prevents having visibility falsely corrected for windows that are
  displayed after the "startup event", and thus having to click twice on the
  tray icon to actually restore windows.
2013-03-10 21:39:34 +01:00
foudfou d77724d46b yet another attempt to fix restore maximized window. This is tricky because it
can break restore minimized (hides_on_minimize off)
2013-01-16 23:48:25 +01:00
foudfou 6c4d21d4b3 attempt to fix restore maximized window 2012-12-20 13:36:24 +01:00
foudfou 7d0a22364c add -firetrayPresent command-line switch 2012-12-13 19:55:30 +01:00
foudfou 29de64e51f base the startup event on the first 'before-first-paint'
That lets the windows get well realized before we can hide them
(start_hidden). This is especially true for heavy configurations with numerous
addons (Lightning with multiple remote calendars for instance).
2012-12-13 19:11:58 +01:00
foudfou c622e61e9d fix start_hidden again.
The wisest seems to let the window get fully realized, before hiding it.
2012-12-10 23:02:05 +01:00
foudfou 18fb980d49 add gtk version check + revert to gdk_window_get_toplevel() 2012-10-15 13:25:28 +02:00
foudfou 90ee9f834b option to hide only last window (#24) 2012-09-10 15:00:25 +02:00
foudfou 97e488e232 fix comment about gnome-shell/mutter 2012-09-10 14:15:28 +02:00
foudfou 5d9e0b4ef8 fix chat icon blink forever with gnome-shell 3.4.1 (#61) 2012-09-10 13:34:48 +02:00
foudfou 8516409607 * fix TB crash when mail.chat.enabled is false (#58)
* fix item menu titles for Seamonkey
* fix middle-click (activate) to show window when hidden
2012-09-09 01:29:51 +02:00
foudfou 39f3c20fa8 correct visibility state when hidden application called from command line 2012-09-07 16:47:47 +02:00
foudfou 22de1d3fcc * fix Makefile for including .svg into xpi
* minor fixes
2012-09-07 15:06:01 +02:00
foudfou 78dc65c77e Merge branch 'ff17-missing-unmap' 2012-09-05 13:54:29 +02:00
foudfou c7562bdcdf cleaning 2012-09-05 13:48:27 +02:00
foudfou ee1eac01b3 fix wrong xid provision ("missing UnmapNotify") 2012-09-05 13:45:02 +02:00
foudfou d0e2259e96 restrict logging to our addon 2012-09-04 17:48:54 +02:00
foudfou de2a756fc8 enable Chat only in Thunderbird (not Seamonkey!) 2012-09-04 10:50:17 +02:00
foudfou ae0f41e1e4 Merge branch 'im'
Conflicts:
	src/defaults/preferences/prefs.js
	src/modules/FiretrayHandler.jsm
	src/modules/FiretrayMessaging.jsm
	src/modules/VersionChange.jsm
	src/modules/commons.js
	src/modules/linux/FiretrayStatusIcon.jsm
	src/modules/linux/FiretrayWindow.jsm
2012-09-04 00:25:29 +02:00
foudfou ebe8ee37ba address comments from last review by Kris Maglione, mainly:
* rename commande line flag '-showHide' to '-firetray-showHide'
* drop use of AddonLogging.jsm in variable F, and use log4moz instead
* do not remove String.prototype.trim

Regarding String.prototype.trim tough, it's unclear why its fallback definition
should be removed: MDN says it was introduced in JavaScript 1.8.1, but it seems
available in 1.7...
2012-09-03 01:51:32 +02:00
foudfou 06349f15f4 * rename all IM/Chat-related modules consistently with "Chat" keyword
* stopIconBlinkingMaybe() only when acknowledgeOnFocus.must
2012-08-25 19:18:33 +02:00
foudfou 5c12abb1ee * fix non-import of IM stuff in Firefox
* add minimal tooltip for Chat icon
* fix findActiveWindow() — gtk_window_is_active() not reliable
2012-08-25 19:02:14 +02:00
foudfou 9f46ef6343 IM icon blinking when private message or cited in channel 2012-08-21 22:10:56 +02:00
foudfou 9611f1443e cleaning 2012-08-21 15:44:47 +02:00
foudfou d81c0d51ac fix iconify-after-show trap 2012-08-21 15:40:40 +02:00
foudfou 525fdd96dd radical attempt to fix iconify-after-show trap 2012-08-20 16:07:46 +02:00
foudfou 83a11def65 (failed) attempt to fix iconify-after-show trap 2012-08-17 23:53:26 +02:00
foudfou 82fae974d1 ctypes libs are tracked by firetray.Handler.
(sub)modules using ctypes libs just need to declare opened libs, which will be
ultimately closed by the Handler. Not only is this fancier, but also useful in
situations where we want to init()/shutdown() modules without closing libs used
by others (ex: IMStatusIcon)
2012-08-07 23:37:32 +02:00
foudfou 3c572aa5fc Merge branch 'native-handle' 2012-07-28 15:19:04 +02:00
foudfou 2fe1c2b687 cleaning (Moz Bug 760802, our patch accepted into mainline 9dcd7470dc0b) 2012-07-27 02:15:59 +02:00
foudfou 4fb215ce82 fix start_hidden which was based on 'resize' events.
"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.
2012-07-24 02:00:44 +02:00
foudfou 3bb6d15fbc show how to find GtkWindow from GdkWindow 2012-06-29 17:34:20 +02:00
foudfou 28f639d3d1 failed attempt to use baseWindow.nativeHandle (bug 760802 and bug760802.patch)
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...
2012-06-13 22:38:18 +02:00
foudfou e0f60f2981 cleaning 2012-06-13 22:24:07 +02:00
foudfou f443116088 if all windows visible, middle click on the tray icon activates last registered
window, shows all windows otherwise.

reverts 97dcbc8c
2012-05-13 16:01:41 +02:00
foudfou 767f9487d0 cleaning 2012-05-12 16:45:04 +02:00
foudfou 97dcbc8ca5 when clicking on the tray icon, if all windows visible, activate last
registered window
2012-05-12 16:36:51 +02:00