diff --git a/src/modules/FiretrayMessaging.jsm b/src/modules/FiretrayMessaging.jsm index a4687db..f7dddb8 100644 --- a/src/modules/FiretrayMessaging.jsm +++ b/src/modules/FiretrayMessaging.jsm @@ -61,7 +61,6 @@ firetray.Messaging = { /* removes removed accounts from excludedAccounts pref. NOTE: Can't be called at shutdown because MailServices.accounts no longer available */ cleanExcludedAccounts: function() { - try { F.LOG("* cleaning *"); let mailAccounts = firetray.Utils.getObjPref('mail_accounts'); let excludedAccounts = mailAccounts["excludedAccounts"]; @@ -71,12 +70,12 @@ firetray.Messaging = { let accountServerKeys = []; for (let i=0, len=accounts.Count(); i= 0) newExcludedAccounts.push(excludedAccount); else @@ -88,7 +87,6 @@ firetray.Messaging = { let prefObj = {"serverTypes":mailAccounts["serverTypes"], "excludedAccounts":newExcludedAccounts}; firetray.Utils.setObjPref('mail_accounts', prefObj); } - } catch(x) { F.ERROR(x); } }, /* http://mxr.mozilla.org/comm-central/source/mailnews/base/public/nsIFolderListener.idl */ diff --git a/src/modules/ctypes/linux/gtk.jsm b/src/modules/ctypes/linux/gtk.jsm index 2ae8d3b..5dfd936 100644 --- a/src/modules/ctypes/linux/gtk.jsm +++ b/src/modules/ctypes/linux/gtk.jsm @@ -93,7 +93,6 @@ function gtk_defines(lib) { lib.lazy_bind("gtk_image_menu_item_set_image", ctypes.void_t, this.GtkImageMenuItem.ptr, this.GtkWidget.ptr); lib.lazy_bind("gtk_menu_shell_append", ctypes.void_t, this.GtkMenuShell.ptr, this.GtkWidget.ptr); lib.lazy_bind("gtk_menu_shell_prepend", ctypes.void_t, this.GtkMenuShell.ptr, this.GtkWidget.ptr); - lib.lazy_bind("gtk_widget_show_all", ctypes.void_t, this.GtkWidget.ptr); lib.lazy_bind("gtk_menu_popup", ctypes.void_t, this.GtkMenu.ptr, this.GtkWidget.ptr, this.GtkWidget.ptr, this.GtkMenuPositionFunc_t, gobject.gpointer, gobject.guint, gobject.guint); lib.lazy_bind("gtk_status_icon_position_menu", ctypes.void_t, this.GtkMenu.ptr, gobject.gint.ptr, gobject.gint.ptr, gobject.gboolean.ptr, gobject.gpointer); lib.lazy_bind("gtk_separator_menu_item_new", this.GtkWidget.ptr); @@ -113,6 +112,7 @@ function gtk_defines(lib) { lib.lazy_bind("gtk_widget_hide_on_delete", gobject.gboolean, this.GtkWidget.ptr); lib.lazy_bind("gtk_widget_hide", ctypes.void_t, this.GtkWidget.ptr); lib.lazy_bind("gtk_widget_show", ctypes.void_t, this.GtkWidget.ptr); + lib.lazy_bind("gtk_widget_show_all", ctypes.void_t, this.GtkWidget.ptr); lib.lazy_bind("gtk_widget_get_events", gobject.gint, this.GtkWidget.ptr); lib.lazy_bind("gtk_widget_get_events", gobject.gint, this.GtkWidget.ptr); lib.lazy_bind("gtk_widget_add_events", ctypes.void_t, this.GtkWidget.ptr, gobject.gint); diff --git a/src/modules/linux/FiretrayPopupMenu.jsm b/src/modules/linux/FiretrayPopupMenu.jsm index 233d7fa..391ca48 100644 --- a/src/modules/linux/FiretrayPopupMenu.jsm +++ b/src/modules/linux/FiretrayPopupMenu.jsm @@ -146,7 +146,7 @@ firetray.PopupMenu = { showAllWindowItemsOnlyVisibleWindows: function() { for (let xid in firetray.Handler.windows) - if (!firetray.Handler.windows[xid].visibility) + if (!firetray.Handler.windows[xid].visible) this.showSingleWindowItem(xid); }, diff --git a/src/modules/linux/FiretrayWindow.jsm b/src/modules/linux/FiretrayWindow.jsm index 1bfd942..cf8f401 100644 --- a/src/modules/linux/FiretrayWindow.jsm +++ b/src/modules/linux/FiretrayWindow.jsm @@ -322,7 +322,13 @@ firetray.Window = { }, setVisibility: function(xid, visibility) { - firetray.Handler.windows[xid].baseWin.visibility = visibility; + F.WARN("setVisibility="+visibility); + let gtkWidget = ctypes.cast(firetray.Handler.gtkWindows.get(xid), gtk.GtkWidget.ptr); + if (visibility) + gtk.gtk_widget_show_all(gtkWidget); + else + gtk.gtk_widget_hide(gtkWidget); + firetray.Handler.windows[xid].visible = visibility; firetray.Handler.visibleWindowsCount = visibility ? firetray.Handler.visibleWindowsCount + 1 : @@ -490,14 +496,6 @@ firetray.Window = { let winStates, isHidden; switch (xany.contents.type) { - case x11.UnmapNotify: - F.LOG("UnmapNotify"); - if (firetray.Handler.windows[xwin].visible) { - winStates = firetray.Window.getXWindowStates(xwin); - isHidden = winStates & FIRETRAY_XWINDOW_HIDDEN; - } - break; - case x11.PropertyNotify: let xprop = ctypes.cast(xev, x11.XPropertyEvent.ptr); if (firetray.Handler.windows[xwin].visible &&