when clicking on the tray icon, if all windows visible, activate last
registered window
This commit is contained in:
parent
776d3acddf
commit
97dcbc8ca5
|
@ -131,16 +131,16 @@ firetray.StatusIcon = {
|
|||
need to abandon 'this' in PopupMenu.popup() */
|
||||
this.callbacks.menuPopup = gtk.GCallbackMenuPopup_t(firetray.PopupMenu.popup);
|
||||
gobject.g_signal_connect(this.trayIcon, "popup-menu",
|
||||
firetray.StatusIcon.callbacks.menuPopup, firetray.PopupMenu.menu);
|
||||
firetray.StatusIcon.callbacks.menuPopup, firetray.PopupMenu.menu);
|
||||
this.callbacks.onScroll = gtk.GCallbackOnScroll_t(firetray.StatusIcon.onScroll);
|
||||
gobject.g_signal_connect(this.trayIcon, "scroll-event",
|
||||
firetray.StatusIcon.callbacks.onScroll, null);
|
||||
firetray.StatusIcon.callbacks.onScroll, null);
|
||||
|
||||
F.LOG("showHideAllWindows: "+firetray.Handler.hasOwnProperty("showHideAllWindows"));
|
||||
this.callbacks.iconActivate = gtk.GCallbackStatusIconActivate_t(
|
||||
firetray.Handler.showHideAllWindows);
|
||||
let handlerId = gobject.g_signal_connect(firetray.StatusIcon.trayIcon,
|
||||
"activate", firetray.StatusIcon.callbacks.iconActivate, null);
|
||||
"activate", firetray.StatusIcon.callbacks.iconActivate, null);
|
||||
F.LOG("g_connect activate="+handlerId);
|
||||
},
|
||||
|
||||
|
|
|
@ -201,7 +201,8 @@ firetray.Window = {
|
|||
|
||||
// after show
|
||||
firetray.Window.restoreDesktop(xid);
|
||||
firetray.Window.activate(xid);
|
||||
if (firetray.Utils.prefService.getBoolPref('show_activates'))
|
||||
firetray.Window.activate(xid);
|
||||
|
||||
firetray.PopupMenu.hideSingleWindowItemAndSeparatorMaybe(xid);
|
||||
firetray.Handler.showHideIcon();
|
||||
|
@ -330,8 +331,6 @@ firetray.Window = {
|
|||
* raises window on top and give focus.
|
||||
*/
|
||||
activate: function(xid) {
|
||||
if (!firetray.Utils.prefService.getBoolPref('show_activates'))
|
||||
return;
|
||||
gtk.gtk_window_present(firetray.Handler.gtkWindows.get(xid));
|
||||
F.LOG("window raised");
|
||||
},
|
||||
|
@ -582,7 +581,10 @@ firetray.Handler.showHideAllWindows = function(gtkStatusIcon, userData) {
|
|||
F.LOG("windowsCount="+firetray.Handler.windowsCount);
|
||||
let visibilityRate = firetray.Handler.visibleWindowsCount/firetray.Handler.windowsCount;
|
||||
F.LOG("visibilityRate="+visibilityRate);
|
||||
if ((0.5 < visibilityRate) && (visibilityRate < 1)
|
||||
if (visibilityRate === 1) {
|
||||
for(var key in firetray.Handler.windows);
|
||||
firetray.Window.activate(key);
|
||||
} else if ((0.5 < visibilityRate) && (visibilityRate < 1)
|
||||
|| visibilityRate === 0) // TODO: should be configurable
|
||||
firetray.Handler.showAllWindows();
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue