Commit Graph

499 Commits

Author SHA1 Message Date
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
foudfou 29bf5a42bd attempt to get signals from tray icon using LibGObject
needs refactoring !
2011-07-10 13:41:46 +02:00
foudfou cb26f7fd55 added minimal tooltip (gtk_status_icon_set_tooltip)
TODO: fix warning (?):
Gdk-CRITICAL **: IA__gdk_window_get_root_coords: assertion `GDK_IS_WINDOW (window)' failed
2011-07-10 12:53:00 +02:00
foudfou fded2c2a31 try supporting more applications (Firefox, Thunderbird for now)
export 'Cc' and 'Ci' in common.js module. This helps managing the different
behaviours in FF and TB: TB requires Ci and Cc to be defined explicitly in
overlay.js, and FF fails to load overlay.js silently when Ci and Cc are defined
explicitly (const defined twice ?)...
2011-07-06 02:43:16 +02:00
foudfou 0d25df1d17 * use 'mozt' namespace in .js files
* style: '_' prefix for private attributes (common.js)
2011-07-06 02:14:17 +02:00
foudfou ddf1763b9a cleaning 2011-07-06 01:41:28 +02:00
foudfou 56015e3744 refactor: rename "mozt" to "moztray" 2011-07-06 01:32:36 +02:00
foudfou f6f906efa7 "skipCertError" changed to "moztray" 2011-07-05 11:46:55 +02:00
foudfou e0e0cc81a5 first working version (firefox tray icon) 2011-07-04 14:31:56 +02:00
foudfou c842690051 proof of concept version 2011-07-04 00:00:07 +02:00
foudfou f5e6b887bc Initial commit (skeleton extension derived from SkipCertError) 2011-07-03 20:05:40 +02:00