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
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