1
0
mirror of https://github.com/moparisthebest/FireTray synced 2024-11-16 13:55:00 -05:00
Commit Graph

460 Commits

Author SHA1 Message Date
foudfou
42a8dac1ed cleaning 2014-02-06 23:02:12 +01:00
foudfou
705b0ffb59 don't cache and update windows[wid].visible, windowsCount, visibleWindowsCount
Because the number of windows will generally be small, this is not worth the
effort.
2014-02-06 00:17:28 +01:00
foudfou
7a0ff56cd1 show/hide mechanism in place: clicking on tray icon or closing a window.
NOTE: a WndProc on each mozilla window is not needed for this.
2014-02-05 22:48:14 +01:00
foudfou
8f8fad3afc * adapt to Log4Moz -> Log renaming (FF 27+)
* fix typo (Cu.reportError)
2014-01-22 22:39:31 +01:00
foudfou
b453b4fa74 * actually use a WndProc on moz windows
* include winnt files to .xpi

WndProc crashes, mentioned in bugs 598679 and 671266, were recently fixed by
915613 (thx bholley!).
2014-01-19 23:06:02 +01:00
foudfou
40cf41e97d fix SendMessage'ing to any window
still crashes for FF windows with our hook registered
2013-12-04 23:49:50 +01:00
foudfou
258ddbfbe0 failed attempt to use a hook (WH_CALLWNDPROC) instead of a window procedure.
This works well until we try to SendMessage from our proxy window to Firefox
windows. SendMessage crashes when sending to a Firefox window with our hook
registered, or to *any* window (tested on our proxy window and arbitrary
launched programs).
2013-12-02 00:31:45 +01:00
foudfou
2e234064bb * refactoring
* attempt to set our WndProc on Moz windows
* store window Id as a string

Calling CallWindowProc or ctypes.FuncType from a WNDPROC added to a Firefox
window crashes. See
https://bugzilla.mozilla.org/show_bug.cgi?id=598679
https://bugzilla.mozilla.org/show_bug.cgi?id=671266

The problem does not seem to occur on non-Firefox windows (for ex. a a hidden
window that we created).

We'll try to test Hooks instead of WndProcs.
2013-12-01 18:26:36 +01:00
foudfou
d52245cc87 * un-/register windows (begin) => refactoring
* filter icon events (begin)
2013-11-24 14:25:57 +01:00
foudfou
5eaf647633 fix icon definition 2013-11-23 02:04:18 +01:00
foudfou
8e78f45d56 destroy tray icon, hidden window and window class on shutdown 2013-11-23 01:37:57 +01:00
foudfou
083304cd56 * refactor testing code
* create hidden proxy window (corresponding to our unique tray icon)
2013-11-22 23:05:43 +01:00
foudfou
d358416414 fix NOTIFYICONDATAW, NOTIFYICONDATAW_Vx_SIZE definitions 2013-11-19 01:00:51 +01:00
foudfou
02e849c602 * a step forward: actually create the icon (Shell_NotifyIcon)
* cleaning

The icon gets created but GetLastError always returns
ERROR_INVALID_WINDOW_HANDLE, at least under win7.

We should be fine with callbacks' ABI as they are defined outside ctypes-utils.
2013-11-17 23:11:17 +01:00
foudfou
bcb7764b8f first step to porting to Windows
Does nothing particular, except get few informations from the registeredwindow.
ctypes-utils.jsm needs to be ironed out (ABI used for .so version and lib type
for .dll), and we'll probably have problems when declaring callbacks
(ctypes.stdcall_abi on 32bits ?).
2013-11-16 15:56:42 +01:00
foudfou
3b80f4b618 Merge branch 'master' of github.com:foudfou/FireTray 2013-11-12 21:17:58 +01:00
Florian Haftmann
03b9007c0d new de-DE localization 2013-11-12 17:49:07 +01:00
foudfou
1c76f1c1f9 * update preferences-system.svg for DFSG-compatibility
* add check for loglevel in Makefile
2013-11-06 22:23:36 +01:00
foudfou
402eb46c38 deprecation cleaning 2013-11-04 21:23:50 +01:00
foudfou
0f28d23f71 * add mail_urgency_hint pref
* fix options' window size
2013-11-03 15:38:15 +01:00
foudfou
ee7e691dae update it fr locales (thx Underpass!) 2013-11-03 11:46:57 +01:00
foudfou
595dcf42b7 bump version to 0.4.8 2013-11-03 03:12:24 +01:00
foudfou
088f7f56e4 cleaner observer for accountmanager.accounts
We also need to start observing the mail.accountmanager.accounts pref *after*
it's fully built.
2013-11-03 02:09:07 +01:00
foudfou
6d2bd81053 fix bogus import in Firefox 2013-11-01 15:28:06 +01:00
foudfou
eda4302ba5 * remove calls to old/deprecated interfaces (reported by AMO)
* reset logging level
2013-10-27 23:05:25 +01:00
foudfou
1fc3b93bd7 fix Accounts() generator (bug introduced in 65d175) 2013-10-27 18:35:33 +01:00
foudfou
590c257788 inject scm revision into built install.rdf 2013-10-27 16:09:09 +01:00
foudfou
05a9d401b1 bump version to 0.4.7 2013-10-27 15:23:06 +01:00
foudfou
65d17531ec * fix detection of account deletion/addition (see b3869630)
* cleaning (use fixIterator on MailServices.accounts)

thx mailInstrumentation !
2013-10-26 02:21:31 +02:00
foudfou
30772d56de add locales for preferences item in popup menu 2013-10-26 01:49:58 +02:00
foudfou
c96ff01ebd add preferences item to popup menu 2013-10-25 17:49:01 +02:00
foudfou
80b0384397 new es-AR fr it nl zh-TW locales
thx BabelZillians profediego, Goofy, Jojaba, nico, Underpass, markh,
Velociraptor !
2013-10-25 16:51:42 +02:00
foudfou
8d8395b946 better remember_desktop.label string 2013-10-10 22:24:42 +02:00
foudfou
28c0932e57 comment on restoring minimized windows when hides_on_minimize 2013-10-10 22:16:19 +02:00
foudfou
4bbb66cde8 broader detection of the iconify event
Revert using getXWindowStates() instead of gdk_window_get_state(). Xfce only
sets_NET_WM_STATE_HIDDEN after iconify.
2013-10-10 22:01:29 +02:00
foudfou
6459bc6e4f * revert to using setVisibility() instead of baseWin.visibility=false on
* startupHide cleaning

It looks like setting baseWin.visibility=false removes the possibility to
restore the app by calling it from the command line. This is why we use
setVisibility() instead if start_hidden.
2013-10-07 21:44:34 +02:00
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
d8536d8127 fix error catching when accounts not yet initialized 2013-09-19 16:49:07 +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
2749816a4d Merge branch 'fade'
Conflicts:
	src/modules/linux/FiretrayChatStatusIcon.jsm
2013-07-24 15:38:17 +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
91792afe0b tune pref tooltip for mail_change_trigger 2013-07-22 11:40:42 +02:00
foudfou
35ed1efb6f * handle chat_icon_blink and chat_icon_enable prefs properly
* better use of ChatStatusIcon timers
2013-06-23 21:45:15 +02:00
foudfou
2875aaa7ba remove experimental fade feature for AMO review 2013-06-18 22:48:23 +02:00
foudfou
7070794fcd cleaning 2013-06-18 09:55:40 +02:00
foudfou
8aaf2cfda7 fix: add long-living references to timers for ChatStatusIcon blinking 2013-06-17 23:45:38 +02:00
foudfou
97ef0cb65f fix ChatStatusIcon blinking 2013-05-31 15:43:34 +02:00
foudfou
9b190f20bd attempt to address the the compatibility warning "Some JS modules were moved
from resource:/// and resource://gre/ to resource://app/"

https://blog.mozilla.org/addons/2013/04/26/compatibility-for-firefox-21/
2013-05-30 23:15:32 +02:00
foudfou
5ddf23a59d * fix merge: ChatStatusIcon.stopCrossFading() was defined twice
* fix: ChatStatusIcon.dropPixBuf() at right time
* cleaning
2013-05-30 22:52:01 +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
c439efb036 Merge branch 'startup' into v0.4.6rc2 2013-05-01 15:45:35 +02:00
foudfou
2e064cae99 use |yield| in addition to nested timers for ChatStatusIcon fading
http://syzygy.st/javascript-coroutines/ is worth mentioning
2013-05-01 15:44:52 +02:00
foudfou
5882e3b9c5 use nested timers to mimic sleep()
thread.processNextEvent() is prohibited in Firefox (though used in
mozmill/util.js). Nested timers are a bit twisted and ugly. Need to check
|yield| and generators: http://unixpapa.com/js/sleep.html, dactyl/base.jsm
(K. Maglione)
2013-04-29 02:10:04 +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
c4c5a3425b address compatibility warnings from AMO
https://addons.mozilla.org/en-US/developers/addon/firetray/file/203468/validation.
Not sure if we should not just drop compatibility...  We should be able to
support back to Gecko 4.0 but ctypes-utils.jsm uses features introduced in 7.0.
2013-04-19 22:09:40 +02:00
foudfou
55bd8ce670 bump version to 0.4.6 2013-04-14 16:07:36 +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
31149d40ad bump Zotero version to 4.* 2013-04-08 00:46:38 +02:00
foudfou
d43e992ed4 * use a pool of conversations for handling attention calling
* ignore messages from self (can be sent from other application)
2013-04-08 00:42:51 +02:00
foudfou
837901c301 Merge branch 'twitter-blink' into icon-blink
Conflicts:
	src/modules/FiretrayChat.jsm
2013-04-07 21:50:57 +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
208db6f906 implement experimental cross-fading for blinking chat icon 2013-04-01 02:58:15 +02:00
foudfou
4360e3f499 cleaning 2013-03-30 14:27:05 +01:00
foudfou
f3a988444e do chat icon blinking ourselves
gtk_status_icon_set_blinking() deprecated deprecated since version 2.22,
removed in GTK+ 3
2013-03-30 12:29:38 +01:00
foudfou
3aca4f64f1 support urgency hint 2013-03-30 01:12:35 +01:00
foudfou
53e3421a51 refactor startIconBlinkingMaybe() 2013-03-28 16:22:28 +01:00
foudfou
6b1bd0cfe6 cleaning 2013-03-21 08:57:17 +01: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
d91bfd1259 fix negative message count bug 2013-03-21 00:33:09 +01:00
foudfou
2b2812aee6 cleaning 2013-03-16 16:04:07 +01:00
foudfou
1765258679 cleaning 2013-03-11 17:02:07 +01:00
foudfou
1a90dbe179 add support for Zotero app 2013-03-11 16:03:49 +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
4b01f24e94 add '-debug' to build dirname when applicable 2013-03-10 20:51:26 +01:00
foudfou
a7c753e5b3 keep long living references to timers 2013-03-10 17:29:32 +01:00
foudfou
b8b3b838cb add git rev to build dirname 2013-03-10 16:31:42 +01:00
foudfou
18c35bdf81 added locale sk-SK. thx Slavko slavino.sk 2013-02-22 23:58:11 +01:00
foudfou
2bbab71230 fix options' filepickers (#82)
Not sure as why the filepicker callback passed to |open()| is working in all
Mozilla's code without having an explicite |done| method...
2013-02-10 21:52:53 +01:00
foudfou
730a67939c slpash page when version change is now release-notes 2013-01-28 10:49:08 +01:00
foudfou
245ba3c66c bump to v0.4.5 2013-01-28 10:31:50 +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
601554a63f oops, forgot FiretrayHandler.jsm in nsISupportsArray replaced by nsIArray 2012-12-30 22:47:43 +01:00
foudfou
6441cef235 nsISupportsArray replaced by nsIArray (Bug 820377) 2012-12-30 22:43:42 +01:00
foudfou
2215aa43d1 address v0.4.4 reviewer comments about namespace pollution 2012-12-20 13:38:38 +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
5dce03778d make firetray.Utils.timer() API more readable 2012-12-13 19:34:49 +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
f039a3b427 bump version to v0.4.4 2012-11-26 21:38:48 +01:00
foudfou
e312714c73 fix hidePrefPane() 2012-11-16 17:38:20 +01:00
foudfou
d17bcf9721 use filePicker.open() instead of deprecated show() - see Bug 731307 2012-11-09 13:26:48 +01:00
foudfou
4ff8e81d90 rename content logger to avoid collisions 2012-11-09 13:07:18 +01:00
foudfou
630b36b05e Merge branch 'gtk-version' 2012-10-19 22:11:46 +02:00
foudfou
b20db43bdd appropriate way of determining if a conversation is currently shown 2012-10-19 21:06:35 +02:00
foudfou
cab57e62c5 fix finding if chat tab selected and conversation active 2012-10-15 23:13:20 +02:00