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
a9cc299259 extract from StatusIcon to GtkIcons code to share with IMStatusIcon 2012-08-04 14:58:58 +02:00
foudfou
b3869630c2 * observe "account-added", "account-removed", at last ! (see 75636723 and 8d0917ab)
* auto-start InstantMessaging when needed
2012-08-04 14:02:42 +02:00
foudfou
ee86eeed16 ignore 'im' server types for now, we'll be handling them later. 2012-08-03 23:52:38 +02:00
foudfou
c608058971 add 'im' to mail server types and have VersionChange hooks applied synchronously
This forces us to hard code the addon version :(
2012-08-03 15:53:36 +02:00
foudfou
d8448f421b refactor VersionChange handling 2012-08-03 13:53:40 +02:00
foudfou
5df98adf6a Makefile: target 'all' becomes 'build' 2012-08-01 13:15:22 +02:00
foudfou
5aac8c2592 cleaning 2012-07-28 15:25:33 +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
ee9f484b0d oops forgot libfiretray.jsm 2012-06-13 23:18:46 +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
Roland Tapken
906e64d253 Move check for excluded folders flag
The check for excluded_folders_flag was moved from countMessages
to unreadMsgCountIterate and newMsgCountIterate. This should fix
https://github.com/foudfou/FireTray/issues/44
2012-06-07 13:10:46 +02:00
Roland Tapken
5557e80939 Added preferences flag only_favorite_folders
If enabled, only folders marked as 'favorite' will be regarded.
2012-06-06 13:17:58 +02:00
foudfou
9b124d237f add menu item to reset the icon
TODO: might be interesting to add a mouse click handler also.
2012-06-01 13:05:41 +02:00
foudfou
13a76686f6 refactor firetray.PopupMenu.init() 2012-06-01 13:01:54 +02:00
foudfou
8c362f89f2 cleaning 2012-05-25 08:04:18 +02:00
foudfou
de08f67324 * refactor SeniorSpielbergo's work
* keep only one mail trigger on msg count change
* refactor FiretrayMessaging.jsm
* cleaning
2012-05-25 01:18:28 +02:00
foudfou
5a591834cc Merge branch 'master' of https://github.com/SeniorSpielbergo/FireTray into SeniorSpielbergo-master 2012-05-24 19:21:38 +02:00
foudfou
701796855f nsIPrefBranch2 to be removed 2012-05-14 12:07:27 +02:00
David Wille
8cdb609369 run "no new script only" if old msg count > 0 2012-05-14 07:35:31 +02:00
David Wille
51edcf4377 added functions to run scripts on new / no new mail... should be working 2012-05-13 21:35:42 +02:00
David Wille
496dce296c added default values and prefs are stored and restored 2012-05-13 20:15:08 +02:00
David Wille
7834f1013a added new textboxes for new / no new mail scripts and functions stubs for update methods 2012-05-13 19:53:35 +02:00
foudfou
b95f645653 fix Makefile 2012-05-13 17:44:11 +02:00
foudfou
89566bc9b6 fix cmd-line handler 2012-05-13 17:05:50 +02:00
foudfou
33a78716b4 remove hard-coded keyboard shortcut for hiding windows 2012-05-13 16:39:46 +02:00
foudfou
dd4770a632 Merge branch 'cmd-line'
Conflicts:
	README.md
2012-05-13 16:24:47 +02:00
foudfou
137e6896ac complete command-line handling (show/hide windows) 2012-05-13 16:18:52 +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
foudfou
776d3acddf bump to v0.4.2 2012-05-12 15:42:55 +02:00
foudfou
2b2ce871a0 fix start_hidden bug introduced in f86a3ac 2012-05-12 15:24:14 +02:00
foudfou
4174095780 Merge branch 'minimize-detect'
Conflicts:
	src/modules/linux/FiretrayWindow.jsm
2012-04-30 22:25:06 +03:00
foudfou
f86a3ac794 use Gtk gtk_widget_show/hide instead of Moz BaseWindow.visibility. This ensures
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.
2012-04-23 00:32:01 +02:00
foudfou
8d0917ab62 fix cleanExcludedAccounts() 2012-04-21 16:15:43 +02:00
foudfou
a1f0980b2a check window's event-masks with XGetWindowAttributes.
NOTE: if we'd need to *set* event-masks, it should be safer to do it with
gdk.gdk_window_set_events() to preserve the gdkWindow's state.
2012-04-21 15:27:36 +02:00
foudfou
31881fa3f5 make sure window is subscribed to mandatory event-masks
TODO: we should do this with xlib.
2012-04-18 00:51:50 +02:00
foudfou
229fd20b5e catch minimize event with PropertyNotify also.
TODO: maybe this is not needed, and we just need to be sure windows are
subscribed to StructureNotifyMask (UnmapNotify)
2012-04-11 11:50:25 +02:00
foudfou
b2f270687d attempt to catch minimize event that would be issued in Ubuntu 11.10 2012-04-10 22:42:06 +02:00
foudfou
1f480af971 * fix pref UI: disable themed icon names if not selected
* refactoring
2012-04-09 01:01:01 +02:00
foudfou
e679619f19 Merge branch 'themable-icons'
Conflicts:
	src/chrome/content/options.js
	src/chrome/content/options.xul
	src/modules/FiretrayHandler.jsm
	src/modules/commons.js
	src/modules/linux/FiretrayStatusIcon.jsm
2012-04-07 23:06:54 +02:00
foudfou
b313970781 add ability to exclude virtual forlders from message count 2012-04-05 21:34:36 +02:00
foudfou
d07c2a5ee5 bump *minVer* to 7.0
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)
2012-04-02 13:07:59 +02:00
foudfou
f5e56dab81 * revert a7516e partly:
* 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
2012-03-30 23:20:47 +02:00
foudfou
13f9b31ed9 experimental command-line handling
will be useful to have a command for toggling windows that can be linked to the
wm keyboard shortcut mapping.

TODO: find out why helpInfo not working
2012-03-30 14:39:16 +02:00
foudfou
746ab759f7 fix tooltip warning 2012-03-28 19:37:08 +02:00
foudfou
c0479d1683 fix MenuItem initialization 2012-03-28 17:57:02 +02:00
foudfou
756367230c periodically clean prefs by removing removed accounts from excludedAccounts 2012-03-20 22:06:19 +01:00
foudfou
e19930b654 * refactoring
* fix consistence in preference UI (filepickers' disabling)

We still need to find out why the order in g_themed_icon_new_from_names is not
respected.
2012-03-15 18:24:38 +01:00
foudfou
2e65e07029 add ui preference functionality for new-mail themed icon
NOTES:
* we need to find out why for ex. ["glade", "mail-message-new"] gives
  "mail-message-new" where "glade" is expected (first in the list).
* we need to handle defaults better (avoid things like
  newMailIconNames.push("mail-unread")).
* be consistent in preference UI when disabling (or not) the filename inputs
  along with their related radio button.
2012-03-13 16:10:23 +01:00
foudfou
43bbfb09b6 fix libgio ABI 2012-03-13 12:57:29 +01:00
foudfou
175f48661e add themable icon names to options 2012-03-13 12:51:40 +01:00
foudfou
f1960bbed8 fix path of emebedded new-mail icon 2012-03-12 01:07:28 +01:00
foudfou
095fa07c0c use themable icons (names still hard-coded) 2012-03-12 01:01:09 +01:00
foudfou
b6b8d5dca0 * refactor appinfo initializations
* fix icon tooltip when unread messages
2012-03-09 13:27:49 +01:00
foudfou
98cfa3eee1 browser.tabs.warnOnClose set to false temporarily 2012-03-09 10:06:04 +01:00
foudfou
d4c1da59fa remove warnings from VersionChange 2012-03-09 00:16:06 +01:00
foudfou
8763567ac3 bump to 0.4.1 2012-03-09 00:01:42 +01:00
foudfou
bfb9f30b4a cleaning 2012-03-08 23:52:07 +01:00
foudfou
c6be061070 document why browser.tabs.warnOnClose set to false 2012-03-08 23:40:26 +01:00
foudfou
508a002af4 * fix openBrowserTab
* make hides_single_window default to true, and remember_desktop to false
2012-03-08 23:16:44 +01:00
foudfou
1009fb9bab fix VersionChange 2012-03-08 22:11:17 +01:00
foudfou
a7516e379e wrap "loose" variables and functions within a JavaScript object 2012-03-08 22:04:16 +01:00
foudfou
6c94d75dc2 better remember_desktop option description 2012-03-07 18:44:04 +01:00
foudfou
b47e960755 activate window with gtk_window_present instead of
XSendClientMessgeEvent(_NET_ACTIVE_WINDOW)
2012-03-07 14:41:05 +01:00
foudfou
56b0fe6332 fix tooltip for count type 'new messages' 2012-03-06 23:28:52 +01:00
foudfou
45b56329c8 bump to v0.4.0 2012-03-05 21:27:51 +01:00
foudfou
9c39db6023 * fix Makefile to include themable icons
* drop 32x32 application icons
2012-03-05 15:00:20 +01:00
foudfou
8ac08dab9e set main status icon from Gtk theme (and add search path) 2012-03-05 13:58:08 +01:00
foudfou
1a41c25d2a typo 2012-03-05 00:12:30 +01:00
foudfou
3d89441747 add 'remember_desktop' option 2012-03-04 23:41:01 +01:00
foudfou
1b7aef50ce use built-in unread msg count 2012-03-04 23:16:57 +01:00
foudfou
354abdf32c * option to include subfolders (notably needed for new messages count)
* preference UI fixing
2012-03-04 22:19:35 +01:00
foudfou
6c6e267b40 cleaning 2012-03-04 15:31:58 +01:00
foudfou
69f9f312c4 drop use of bogus getNumNewMessages() in favor of folder.hasNewMessages 2012-03-04 15:29:12 +01:00
foudfou
f9c81f0a84 fix declaration 2012-03-04 15:14:43 +01:00
foudfou
da2c98633b when upgrading, correct mail_notification_type if msg count type is 'new messages' 2012-03-02 11:11:47 +01:00
foudfou
803143a535 Merge branch 'start_hidden' 2012-02-21 00:22:41 +01:00
foudfou
0fa7b30674 prevent usage of msg count with type 'new messages'
There seems to be no consistent way to count new messages. Tried with
'BiffState', 'NumNewBiffMessages', 'NewMessages'... either the proper event is
not fired, or the count is incorrect at a specific event... It was even
non-trivial to display an accurate biff.
2012-02-21 00:09:40 +01:00
foudfou
7efe604b9c showSingleWindow() and hideSingleWindow() now defined per window (needed for start_hidden) 2012-02-20 15:34:51 +01:00
foudfou
2789844b06 minor refactoring: firetray.Window.setVisibility() 2012-02-19 15:36:16 +01:00
foudfou
c5a66ae05d fix getWindowInterface() for nsIXULWindow + revert to v0.4.0b3 2012-02-17 23:29:09 +01:00
foudfou
ca9496d3e3 actually fix new message count update when biff becomes false
Looks like a Thunderbird bug: on an Imap folder, when switching to another
folder, that is after having visited that folder, "OnItemBoolPropertyChanged
NewMessages for folder Inbox was true became false" ...but getNumNewMessages
still returns 1 (?!)
2012-02-15 00:00:00 +01:00
foudfou
d1e32bb8d7 fix new message count update when biff becomes false 2012-02-14 13:30:56 +01:00
foudfou
23cf34ea9f fix start_hidden: do not save+restore unrealized position and size.
NEEDS REFACTORING
2012-02-13 23:55:01 +01:00
foudfou
ba674bf1e1 cleaning 2012-02-09 15:58:59 +01:00
foudfou
6daf73fe44 reorganize and clean 2012-02-09 15:39:33 +01:00
foudfou
868106ff61 bump to v0.4.0b3 + fix option cleaning 2012-02-09 12:44:00 +01:00
foudfou
aec7766bb0 Merge branch 'new-messages' 2012-02-09 12:19:56 +01:00
foudfou
0e55f142d3 Merge branch 'screens' 2012-02-09 12:19:14 +01:00
foudfou
15dace0b32 * add 'message_count_type' option for counting unread or new messages.
* minor change to UI of mail preferences
* split pref 'mail_notification' into 'mail_notification_enabled',
  'mail_notification_type'

previous 'mail_notification' pref will be erased.
2012-02-09 00:03:29 +01:00
foudfou
35463b302c revert detection inexisting file in setIconImage()
we want the user to know that the path he provided is wrong.
2012-02-07 18:50:54 +01:00
foudfou
771d6df3b3 detect inexisting file in setIconImage() 2012-02-07 18:42:27 +01:00
foudfou
e96699d530 fix restoreWindowPositionAndSize on dual-screen 2012-02-04 14:18:20 +01:00
foudfou
c2203c063f Merge branch 'raised' 2012-02-04 12:28:58 +01:00
foudfou
616025d5de add option to activate windows when showing
This is the closest behaviour to "raise on top", because most window managers
do not honor XRaiseWindow()/gtd_window_raise().
http://sourceforge.net/tracker/?func=detail&aid=3020907&group_id=35398&atid=413960
2012-02-04 01:15:36 +01:00
foudfou
e62b23acf8 typo + bump maxVersion for seamonkey 2012-02-03 22:25:40 +01:00
foudfou
2a313d907a option for ensuring windows are restored on top 2012-02-03 22:24:47 +01:00
foudfou
74f7f263d1 actually take the scroll_hides pref into account 2012-02-01 22:39:21 +01:00
foudfou
414bbf42aa begin attempt to restore windows to their correct screen (dual-head) 2012-01-30 22:07:21 +01:00
foudfou
61a307ad73 bump to v0.4.0b2 2012-01-30 21:40:54 +01:00
foudfou
11b60bf5d2 fix buggy options window (introduced in fc51dca3) 2012-01-30 21:22:56 +01:00
foudfou
f45f8f08c3 refactor VersionChange 2012-01-30 21:10:26 +01:00
foudfou
d116bdd473 onVersionChange, add version to URL of opened tab 2012-01-29 23:32:40 +01:00
foudfou
80e8f8caba bump maxVersion to 12.0a1 2012-01-28 15:52:52 +01:00
foudfou
2cbe738398 fix quit from popup menu actually everywhere 2012-01-26 12:00:10 +01:00
foudfou
c3b3276348 fix: crash when quitting from popup menu 2012-01-26 11:37:41 +01:00
foudfou
9dcd5faa4a * rename pref 'scroll_to_hide' to 'scroll_hides'
* refactoring of FiretrayVersionChange.jsm
2012-01-26 07:37:08 +01:00
foudfou
d0e1d072c6 fix keyboard shortcut 2012-01-23 13:15:54 +01:00
foudfou
eb8ce310f4 * extract FiretrayPopupMenu.jsm from FiretrayStatusIcon.jsm
* fix visibilityRate
* fix: have only one prefListener
* refactor PopupMenu functions
* clean
2012-01-23 04:04:05 +01:00
foudfou
fc51dca3fe * fix setPopupMenuWindowItemLabel call
* bump to v0.4.0b1
* refactoring
2012-01-23 01:13:27 +01:00
foudfou
b4b9813d25 refactoring 2012-01-21 09:14:03 +01:00
foudfou
a803ceff17 * fix UI updating when toggling hides_single_window, show_icon_on_hide
* add popup menu items for hidden windows to be shown individually

I'm not quite satisfied with the global design/partitioning of the code accross
namespaces. Some ideas to explore: extract code related to the popup menu,
don't "wrap" window-related function into the Handler.
2012-01-20 23:44:57 +01:00
foudfou
d0b9d9e45f fix version change handling 2012-01-19 00:13:40 +01:00
foudfou
9d2c74ce13 handle version changes
For now, display a web page for release notes on install, upgrade and re-install.
2012-01-18 22:13:32 +01:00
foudfou
785f2dad77 oops... forgot to add pangocairo.jsm needed since ctypes-utils.jsm change 2012-01-18 15:29:08 +01:00
foudfou
f6549e4211 handle scroll-event on icon 2012-01-16 23:53:27 +01:00
foudfou
2ee8fc1a91 * begin scroll-event handling on icon
* polish timer definitions
* set FIRETRAY_BROWSER_NEW_WINDOW_DELAY_MILLISECONDS = 0
2012-01-16 23:52:23 +01:00
foudfou
2d62194e86 add option for showing icon only when some windows are hidden to tray 2012-01-15 23:57:35 +01:00
foudfou
6fc5ff1a05 "Grab the latest iteration of ctypes-utils.jsm" from messagingmenu-extension 2012-01-15 22:47:00 +01:00
foudfou
ec57aa0c8c * fix pref pane (UIOptions)
* addon shutdown (close ctypes libs) on xpcom-will-shutdown
* ctypes libs that import glib also export it so it can be closed later
2012-01-15 20:47:47 +01:00
foudfou
0952430996 add icons to new menu items 2012-01-15 11:11:23 +01:00
foudfou
24941550c0 * fix openBrowserWindow() when called from GtkMenuItem
* add openMailMessage() to popup menu
* add start_hidden option
* fix getXWindowDesktop()
2012-01-15 11:10:06 +01:00
foudfou
24a5344bbf attempt to add a popup menu item to open new browser window 2012-01-14 03:55:25 +01:00
foudfou
5e4eaea614 restore window to its previous virtual desktop 2012-01-09 22:13:27 +01:00
foudfou
4c3a1cfc89 better for loops
http://stackoverflow.com/questions/5349425/whats-the-fastest-way-to-loop-through-an-array-in-javascript
2012-01-07 22:16:17 +01:00
foudfou
8786fbf56b * refactoring in FiretrayWindow.jsm
* minor refactoring in options.js
2012-01-07 16:06:10 +01:00
foudfou
90e8d8e852 * fix .xpi packaging
* move ctypes related modules to modules/ctypes/
2012-01-02 18:35:02 +01:00
foudfou
075131f46c * add hides_on_minimize functionality
* fix options UI

Revert back to X11/EWMH to detect minimize event more accurately. Still have to
fix the incorrect saved window state (STATE_MINIMIZED) when hiding from another
virtual desktop.
2012-01-01 22:31:16 +01:00
foudfou
1e4254b26f * fix gdk declarations + typo in FiretrayWindow.jsm
* unsuccessful attempt to catch a real minimize event with Gtk
  'window-state-event'

The problem is that GDK_WINDOW_STATE_ICONIFIED is fired on virtual desktop
change... even both e->changed_mask and e->new_window_state get
GDK_WINDOW_STATE_ICONIFIED ! Gdk obviously relies on WM_STATE, which may not
be up-to-date. We better try to check _NET_WM_STATE at X11 level. See ex:
http://trac.wxwidgets.org/ticket/10973
2012-01-01 19:25:56 +01:00
foudfou
4cf525b692 * revert back to BaseWindow functionality (from pure Gdk) for show-/hiding
windows. Rationale: better visual results (surprisingly), and better
  portability (hopefully).
* restore window state when showing window
* help cursor only on pref window

Globally we're at the same stage we were before wanting to drop X11 and Gecko
window-cooking (f1789077), but with a much more robust/modular/cleaner design.
Hopefully.
2012-01-01 17:32:12 +01:00
foudfou
389bb317cc * catch RangeError when ctypesMap overflows
* store appName in its original form (not lower-cased)
2012-01-01 13:30:51 +01:00
foudfou
1d0c8ad6f7 display help cursor when tooltiptext 2012-01-01 03:33:28 +01:00
foudfou
bdfdf5294c * cleaner fix to binding problem for options also
* improve "hides" options behaviour
2012-01-01 03:01:01 +01:00
foudfou
aadf727816 * complete per-window registration and show/hide handeling
* fix storage of Gdk-/GtkWindows pointers (ctypesMap.jsm)
2012-01-01 01:45:48 +01:00
foudfou
6b4fd546d2 cleaner fix to binding (unload eventListeners) problem
« We need a separate namespace for the chrome because the chrome namespace
objects are repeated for each window, while the module namespace objects are
unique for all windows. » see:
https://developer.mozilla.org/en/XUL_School/JavaScript_Object_Management
Otherwise, by using firetray.Main=, we would be re-defining it with each
window, and for *all* other windows. So that, by closing the last window, we'd
remove objects attached to it (like the 'window' object), thus leaving other's
references pending. See:
https://groups.google.com/group/mozilla.dev.extensions/browse_thread/thread/e89e9c2a834ff2b6#
2011-12-29 23:49:06 +01:00
foudfou
a050115a18 * another way to preserve unload eventListeners
* cleaning
2011-12-29 21:15:54 +01:00
foudfou
4c72b1fcbd * fix unload event listeners (and thus unregistration of windows)
* add hides_single_window preference
* revert to JS handeling of 'delete-event' (rely on onclose rather than GTK)

WORK IN PROGESS
2011-12-23 16:44:09 +01:00
foudfou
8ec4d995b8 * pass current window to onLoad() and onQuit() in order to register/unregister
window properly
* "delete-event" callbacks use GdkEventWindowState (not GdkEvent)
* begin implementation of window position/size/state save/restore

NOTE: this revision is *very* unstable. I think I should drop the GTK
"delete-event" handling and revert back to onClose().
2011-12-22 17:19:59 +01:00
foudfou
79e043e9a4 * add unregisterWindow()
* cleaning
2011-12-18 19:39:56 +01:00
foudfou
88bf1451e0 * extract FiretrayWindow.jsm out of FiretrayStatusIcon.jsm
* new windows get registered (onLoad)
* basic show/hide fonctionality

WORK IN PROGRESS
2011-12-17 04:15:02 +01:00
foudfou
6bf568bcc7 Firetray.IconLinux renamed to gtk2/Firetray.StatusIcon 2011-12-17 01:21:10 +01:00
foudfou
bdb921bb78 fix typo 2011-12-17 01:14:42 +01:00
foudfou
02c4f1d769 cleaning 2011-12-16 18:08:18 +01:00
foudfou
a13437891c MAJOR RE-DESIGN: drop X11 and Gecko window-cooking, and solely rely on GTK.
WORK IN PROGRESS
2011-12-15 19:43:26 +01:00
foudfou
f178907781 isolate logging functionality into logging.jsm
LOG, WARN, ERROR still exported by commons.js for convenience
2011-12-14 22:00:01 +01:00
foudfou
c00d69b1ad refactoring 2011-12-14 17:07:22 +01:00
foudfou
0ade38b267 successful interception of _NET_WM_STATE_HIDDEN
for minimize event interception (WORK IN PROGRESS)
2011-12-14 16:29:24 +01:00
foudfou
f260c6bd0a cleaning 2011-12-14 02:24:05 +01:00
foudfou
ec9a59af4d use a fixed-sized array in XGetWindowProperty() 2011-12-12 12:38:18 +01:00
foudfou
6dfc854293 cleaning 2011-12-11 22:12:24 +01:00
foudfou
b3b6d77c5b another unsuccessful attempt to detect minimize event (failed interpreting
XGetWindowProperty result)
2011-12-11 21:44:39 +01:00
foudfou
cced2289f6 * rename NOTIFICATION_* to FT_NOTIFICATION_* for disambiguation
* declare Cc,Ci,Cu locally instead of exporting them from common.js
  THIS BREAKS THE JS CONSOLE ! (among other things) as of Gecko-8 at least
2011-12-11 05:32:36 +01:00
foudfou
0acd053155 unsuccessful attempt to detect minimize event (XGetWindowProperty)
at this stage:
- we need to take the virtyal workspace into account
- JS console disappeared
2011-12-11 04:46:15 +01:00
foudfou
57b443037d * add x11.jsm + test code (NOW ABLE TO ADD A WINDOW FILTER !)
* use init() everywhere instead of enable()
* fix constant definitions in gdk.jsm, pango.jsm
* add testing/xtypes.c for displaying sizeof X types
2011-12-05 02:53:41 +01:00
foudfou
04c5f06142 update README/TODO about disbabling newmailalerts for excluded accounts 2011-11-28 03:52:41 +01:00
foudfou
d1b05deb95 update README/TODO + bump maxVersion to 10.* for FF and TB 2011-11-24 23:12:13 +01:00
foudfou
27360545d3 * options UI: show folder exceptions as "not included"
* bump maxVersion for seamonkey to 2.6.*
2011-11-24 22:56:25 +01:00
foudfou
e8556522b9 bump to v0.4.0a5 2011-11-24 21:36:27 +01:00
foudfou
052d813502 options UI: use boradcaster for disabling UI when notification disabled 2011-11-24 21:27:23 +01:00
foudfou
9718b72232 options UI: when notification disabled, disable excluded folders and accounts 2011-11-24 20:54:55 +01:00
foudfou
5e25025de3 * acutally incude *.gif during build
* fix typo
* updateUnreadMsgCount() does nothing if NOTIFICATION_DISABLED
2011-11-22 19:37:31 +01:00
foudfou
f0b8b854d0 update version to v0.4.0a4 2011-11-22 02:15:09 +01:00
foudfou
aac28deff7 keep only one pref for excluded_folders : flags 2011-11-22 01:56:57 +01:00
foudfou
9ffd3543f6 * make FLDR_UNINTERESTING customizable
* fix actual skipping of uninteresting folders
2011-11-22 01:37:52 +01:00
foudfou
04af43779e refactor fix buggy restore when window was maximized (restore size and
window state also)
2011-11-20 22:28:16 +01:00
foudfou
ba864dbec8 temporary fix to buggy restore when window was maximized 2011-11-20 19:42:19 +01:00
foudfou
dd718c16bd also remember size of windows when hiding/showing 2011-11-19 01:22:28 +01:00
foudfou
c1b4bc8cb6 fix enum definitions + begin GdkFilterFunc implementation 2011-11-07 22:29:35 +01:00
foudfou
9242e07206 * options: ability to choose fixed 'newmail' icon
* fix actual color update after icon text color pick
2011-11-06 23:53:04 +01:00
foudfou
919d9fe3df option: ability to choose 'newmail' icon 2011-11-06 20:56:26 +01:00
foudfou
2fabe37d0c * refactoring: Icon management exposed only through firetray.Handler
* fix mailSessionListener removal
2011-11-06 19:32:46 +01:00
foudfou
3c881dbb9d * options: make icon text color a preference
* options: possibility to disable icon notification
2011-11-06 17:42:43 +01:00
foudfou
164c43453f options: UI for notification preferences 2011-11-06 16:28:39 +01:00
foudfou
8ec5451c94 * fixes in UIOptions (onQuit(), populateTreeAccountsOrServerTypes(), missing
cbox-disabled.gif)
* start implementing upcoming options
2011-11-04 01:02:36 +01:00
foudfou
61b8e305ad Merge branch 'UIOptions'
Conflicts:
	src/modules/FiretrayIconLinux.jsm
	src/modules/gdk.jsm
2011-11-03 22:49:52 +01:00
foudfou
96776fe9e5 options: cleaning more precise 2011-11-03 21:55:07 +01:00
foudfou
0d2017d410 options: fix unread message count when (un-)checking account 2011-11-03 21:04:03 +01:00
foudfou
a9920de294 options: fix interaction btw. mail server types and accounts 2011-11-03 17:14:59 +01:00
foudfou
4646612fae * options: fix Order preference sync
* options: display server types according to Order
* cleaning
2011-11-03 02:51:43 +01:00
foudfou
903f99f006 options: finished interaction btw. mail server types and accounts 2011-11-03 01:32:46 +01:00
foudfou
92180a9146 * cleaning
* options: prepare disabling rows (styling)
2011-11-02 19:57:17 +01:00
foudfou
5ad5b3c3d4 * re-introduce dumpObj() useful for DOM elements
* merge server_types and excluded_accounts into one mail_accounts pref

This is visually more intuitive. So do we use the same tree for both. But we
store them into 2 different "branches" of the corresponding preference
object. We need to keep track of them separately because of account
creation/deletion.
2011-11-02 01:48:41 +01:00
foudfou
4d4c21b9f9 * drop dumpObj() in favour of LOG(JSON.stringify())
* UIoptions: add accounts to server types tree. WORK IN PROGRESS
2011-11-01 01:42:30 +01:00
foudfou
6607b641a6 options' UI light rework 2011-10-29 23:35:35 +02:00
foudfou
d8ef0882cc options: remove static tree for mail_account_types_exclude 2011-10-29 22:42:21 +02:00
foudfou
aa9e13a366 refactoring + make server_type a preference 2011-10-29 22:27:55 +02:00
foudfou
b6a54fb005 refactoring + remove EventListeners on quitting options 2011-10-29 15:16:07 +02:00
foudfou
83ed4a34e1 cleaning 2011-10-29 14:10:56 +02:00
foudfou
143ca92fc0 tree for options: cleaning + limit input to digits. WORK IN PROGRESS 2011-10-22 19:47:25 +02:00
foudfou
1357e3a817 tree in option panel: SOMETHING WORKING ! but stil WORK IN PROGRESS 2011-10-22 14:10:54 +02:00
foudfou
8414d7a914 correct minVersion according to the provision of Services.jsm 2011-10-15 14:36:15 +02:00
foudfou
077528763b drop gdk_visual_get_depth() only available since GTK 2.22
As of 2011-09, Debian Squeeze shipped with GTK 2.20
2011-10-03 11:19:21 +02:00
foudfou
64a7e2f65d use TypeError() instead of custom cooking 2011-10-03 10:44:17 +02:00
foudfou
69746ffc86 option panel rework (trees...) WORK IN PROGRESS 2011-10-03 10:39:25 +02:00
foudfou
2c25e98d9a remove mail server type definition checks 2011-09-27 01:47:20 +02:00
foudfou
10e8bb01cf fix mail server sorting 2011-09-27 01:46:45 +02:00
foudfou
1aa9e809de add chatzilla icon for standalone chatzilla support (not tested yet) 2011-09-27 01:22:16 +02:00
foudfou
f8a66ac2a5 minor refactoring for mail server types 2011-09-27 01:21:30 +02:00
foudfou
4acc9bcefc add order to mail server types 2011-09-27 00:55:13 +02:00
foudfou
9f324d18ff * add QueryInterfaces() helper
* add roadmap details in TODO
2011-09-26 10:02:51 +02:00
foudfou
1fff179304 dropped (planned) support for:
* Sunbird ("[Sunbird 1.0 beta1] is the last public Sunbird release by the
  Calendar Project. We recommend upgrading to [...] Lightening 1.0")
* Songbird (Linux support dropped since 2010:
  http://blog.songbirdnest.com/2010/04/02/songbird-singing-a-new-tune/)
2011-09-24 13:47:49 +02:00
foudfou
ad680a6477 fix options' UI 2011-09-24 13:15:38 +02:00
foudfou
d3b07c348d FireTray v0.4.0a2 2011-09-24 12:00:31 +02:00
foudfou
92e5a49a77 v0.1.2 2011-09-23 17:02:07 +02:00
foudfou
dccc716af3 sort mail servers in accounts_to_exclude option 2011-09-23 16:18:44 +02:00
foudfou
3d0aaae494 drop overly complicated exludeCondition for Accounts iterator 2011-09-23 00:47:48 +02:00
foudfou
acbbff4f7b refactoring: use Accounts iterator 2011-09-23 00:41:02 +02:00
foudfou
33fd0b47f7 add pref to exclude mail servers from checking 2011-09-22 20:13:43 +02:00
foudfou
fcab487297 added _getGdkWindowFromGtkWindow() and illustration code 2011-09-21 11:52:14 +02:00
foudfou
ee9a0b6089 first attempt to get a window handle (GdkWindow*) from a nsIDOMWindow.
Elegant solution lifted from Nils Maier (MiniTrayR).
We need now to work on GdkWindows (instead of GtkWindows) to be able to
gdk_window_add_filter().
2011-09-20 17:44:12 +02:00
foudfou
a02129828c cleaning 2011-09-20 10:43:02 +02:00
foudfou
835f4055aa fix gdk get visual depth 2011-09-20 09:58:15 +02:00
foudfou
bb048d490c v0.1.1 2011-09-19 18:35:53 +02:00
foudfou
0ccfb11cfc finish text icon implementation for displaying unread messages count in mail
applications
2011-09-19 18:33:45 +02:00
foudfou
74f9cf7da3 * replace Components.utils.reportError() with ERROR()
* prepare implementation of text icon
* prepare support of other Mozilla apps (Seamonkey)
2011-09-13 22:08:06 +02:00
foudfou
b62cdf9b78 continue implementation for text icon 2011-09-10 01:47:26 +02:00
foudfou
6737a670e5 convert lib declarations to use ctypes-utils.jsm (Chris Coulson)
grabbed from Mike Conley's messagingmenu extension
2011-09-10 01:03:35 +02:00
foudfou
d31f927830 begin implementation for text icon 2011-09-09 22:15:48 +02:00
foudfou
581036156b skip non-mail accounts for msg count 2011-09-08 11:33:34 +02:00
foudfou
0afe494dbf really fix icon path (xpi needs to be unpacked) 2011-09-08 01:49:33 +02:00
foudfou
11a238f21b fix icon path (retrieved from chrome-registery) 2011-09-08 00:55:34 +02:00
foudfou
25644e0a88 * rewrite LibGtkStatusIcon.jsm with XPCOMUtils (will need to watch for
xpcom-shutdown for closing libs !)
* icon handling moved to MoztIconLinux.jsm
* tray icon changes (icon+tooltip) according to unreadMsgCount
* strings (localization) provided by commons.js
2011-09-07 23:50:18 +02:00
foudfou
7ee2fddddd cleaning 2011-09-07 17:55:11 +02:00
foudfou
8986ca9cf7 add unread messages counting facility (messaging-related) 2011-09-07 16:24:14 +02:00
foudfou
8ab870aadb * add Quit functionallity to item in popupMenu
* fix Makefile for stripping LOG() calls
2011-09-03 01:07:14 +02:00
foudfou
4d19bb51d3 * dropped mozt.Debug in favour of AddonLogging.jsm
* start l10n
2011-09-02 22:41:03 +02:00
foudfou
7c30cd4714 cleaning 2011-08-29 02:42:37 +02:00
foudfou
b3835a7c8b add popup menu to tray icon (work in progress) 2011-08-29 02:40:14 +02:00
foudfou
f5b279298e * refactor handeling of 'close_hides': eventListeners("close") never removed
from windows. Pros: reads much simpler. Cons: unnecessary eventListeners (but
  not harmful either).
* experimental kb shortcut for hiding all windows (whatever the value of
  'close_hises')
* bumped to version 8.* (FF, TB)
2011-08-28 03:37:19 +02:00
foudfou
18e555d10d attempt to stabilize options' behaviour ('close_hides' for now)
Damn js refs ! Anyway, almost there... still have to get around the "about
closing multiple tabs"
2011-08-27 21:52:19 +02:00
foudfou
c7a89df4f0 add new icons 2011-08-27 19:52:01 +02:00
foudfou
5021a9bd31 cleaning 2011-08-27 17:40:27 +02:00
foudfou
e76f9bd4e6 correct libgtk-x11 name 2011-08-17 23:42:04 +02:00
foudfou
6e2ce65512 * remember and correct window positions when hiding/showing
* fix: prevent multiple handler/icon creations
* closing a window hides all windows
* add option for 'close_hides' (work in progress)
2011-08-15 22:39:25 +02:00
foudfou
46e0e2c5b6 * minimal platform check (work in progress)
* best practice try: remove event listeners
* minor refactoring
2011-08-14 15:38:20 +02:00
foudfou
ef190af251 singleton tray icon handler (avoid creation of multiple icons when new windows
created)

https://developer.mozilla.org/en/Using_JavaScript_code_modules
http://stackoverflow.com/questions/2275882/setting-a-preference-at-startup-in-firefox/2276772#2276772
2011-08-08 04:32:52 +02:00
foudfou
98ee40353e use Services.jsm and renamed modules to .jsm 2011-08-08 03:41:18 +02:00
foudfou
8e4e14c8f6 Merge branch 'hide'
Conflicts:
	src/chrome/content/overlay.js
	src/modules/LibGtkStatusIcon.js
2011-08-03 15:56:06 +02:00
foudfou
890c4579c3 Revert "new version of LibGtkStatusIcon.js with XPCOMUtils.defineLazyGetter()"
This reverts commit d85edced00.

First, it'll be easier to merge with hide/show feature. Then we prefer to keep
2 examples of js-ctypes libs: we still aren't clear about when/how to call
lib.close()...
2011-08-03 15:48:56 +02:00
foudfou
e9321f534b * enable show/hide from tray icon ! thx Neil !!
* fix Makefile
* use closures for GCallback_t

BUG: windows aren't restored at the same position, or with the same z-order
https://developer.mozilla.org/en/nsIWindowMediator#getZOrderXULWindowEnumerator%28%29

BUG: new window creates a new tray icon
2011-07-25 02:27:30 +02:00
foudfou
7a614a38a3 define GtkWidget struct with a 'parent' pointer pointer to itself - thx Benjamin Smedberg 2011-07-18 22:29:41 +02:00
foudfou
f2245d1ca0 * add LibC for logging to stderr
* try different approaches for hiding windows:
  - gather toplevel windows from nsIWindowMediator, but then unable to get
    NativeParentWindow (GdkWindow) in order to apply gdk_window_hide - damn it !
  - gather toplevel GdkWindows, but don't know exactly how to find out which
    belong to the application...
  - gather toplevel GtkWindows, but seem to get too many windows from
    gtk_window_list_toplevels()...
* problems understanding js-ctypes:
  - arguments passed to callbacks (see FunctionType), for ex: implementation of
    GFunc
  - definition of recursive structures, for ex: GtkWidget
2011-07-18 00:58:03 +02:00
foudfou
1b68487af8 add debug() facility to print to terminal stderr 2011-07-13 01:23:58 +02:00
foudfou
d85edced00 new version of LibGtkStatusIcon.js with XPCOMUtils.defineLazyGetter() 2011-07-11 18:59:12 +02:00
foudfou
7cac32441e use newer gtk_status_icon_set_tooltip_text() 2011-07-11 18:01:52 +02:00