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

发布于 2022-09-03 07:27:18 字数 1442 浏览 26 评论 0

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;
    

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

铃予 2022-09-10 07:27:18
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();
});  
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文