Commit Graph

158 Commits

Author SHA1 Message Date
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 25aa1f535b add testing C files 2012-01-01 19:51:31 +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