1
0
mirror of https://github.com/moparisthebest/FireTray synced 2024-10-31 15:25:08 -04:00
Commit Graph

335 Commits

Author SHA1 Message Date
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