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