首页 > nwjs开发的客户端,在mac点击“X”关闭,如何将window最小化到taskbar?

nwjs开发的客户端,在mac点击“X”关闭,如何将window最小化到taskbar?

nwjs 0.12.6开发的客户端,在mac点击“X”关闭,如何将window最小化到taskbar?

如果不监听window的close时间,点击“X”关闭窗口后,应用会关闭退出。

监听close时间,做如下处理后,在windows运行,点击关闭,窗口会最小化到tray;在mac中运行,点击taskbar中应用的图标后,窗口没有显示,代码如下:

var _tray = undefined;

var win = gui.Window.get();

var trayMenu = new gui.Menu();
trayMenu.append(new gui.MenuItem({
    type: 'normal',
    icon: './yliyun_16.png',
    label: '打开云盘网页版',
    tooltip: '打开云盘网页版',
    click: function() {
        gui.Shell.openExternal(cache.baseUrl + '/login.html');
    }
}));

trayMenu.append(new gui.MenuItem({
    type: 'normal',
    icon: './ios7-paperplane-outline-16.png',
    label: '在线升级',
    tooltip: '在线升级',
    click: function() {
        $log.debug(TAG, 'upgrade clicked');
        win.show();
        upgrade.showUpgradeView();
    }
}));

win.on('close', function() {
    if (global.tray) {
        win.hide();
    } else {
        win.close(true);
        gui.App.quit();
    }
});

trayMenu.append(new gui.MenuItem({
    type: 'separator'
}));

trayMenu.append(new gui.MenuItem({
    type: 'normal',
    icon: './off_black_16.png',
    label: '退出',
    tooltip: '退出',
    click: function() {
        win.close(true);
    }
}));

_tray = new gui.Tray({
    icon: $rootScope.isMac ? './yliyun_16.png' : './yliyun_64.png',
    tooltip: $rootScope.appName,
    menu: trayMenu
});

_tray.on('click', function() {
    win.show();
});

global.tray = window.tray = _tray;
    

win.on('close', function(event) {
    if (global.tray && event != 'quit') {
        win.hide();
    } else {
        win.close(true);
        gui.App.quit();
    }
});

 gui.App.on('reopen', function(cmd) {
    win.show();
});  
【热门文章】
【热门文章】