在 OS X 上创建类似 window 的菜单
Create window-like menu on OS X
我想创建与 this application 类似的托盘菜单。因为它在使用node-webkit/nw.js的应用程序列表中,所以我认为这是可能的。我查看了所有文档,但找不到有关如何实现该目标的任何信息。搜索 Google 也不是很有成果。
也许你们中的一个人以前做过这个,可以告诉我正确的方向吗?
首先你需要防止应用出现在任务栏中
{
"name": "My App",
"version": "1.0.0",
"main": "app.html",
"window": {
"show": false,
"show_in_taskbar": false
}
}
然后你需要创建托盘(顶部栏)菜单:(例子来自他的来源)
tray = new app.node.gui.Tray({
title: '',
icon: 'assets/css/images/menu_icon.png',
alticon: 'assets/css/images/menu_alticon.png',
iconsAreTemplates: false
});
然后需要创建隐藏 window 并在托盘中点击时显示:
// create window
var params = {toolbar: app.devMode, frame: false, transparent: true, resizable: false, show: false};
window = app.node.gui.Window.open('templates/panel.html', params);
function showPopup (x, y) {
window.on('document-end', function()
window.moveTo(x - (window.window.width / 2) - 6, y);
window.show();
window.focus();
});
}
// show panel when click in tray
tray.on('click', function (evt) {
showPopup(evt.x, evt.y);
});
我想创建与 this application 类似的托盘菜单。因为它在使用node-webkit/nw.js的应用程序列表中,所以我认为这是可能的。我查看了所有文档,但找不到有关如何实现该目标的任何信息。搜索 Google 也不是很有成果。
也许你们中的一个人以前做过这个,可以告诉我正确的方向吗?
首先你需要防止应用出现在任务栏中
{
"name": "My App",
"version": "1.0.0",
"main": "app.html",
"window": {
"show": false,
"show_in_taskbar": false
}
}
然后你需要创建托盘(顶部栏)菜单:(例子来自他的来源)
tray = new app.node.gui.Tray({
title: '',
icon: 'assets/css/images/menu_icon.png',
alticon: 'assets/css/images/menu_alticon.png',
iconsAreTemplates: false
});
然后需要创建隐藏 window 并在托盘中点击时显示:
// create window
var params = {toolbar: app.devMode, frame: false, transparent: true, resizable: false, show: false};
window = app.node.gui.Window.open('templates/panel.html', params);
function showPopup (x, y) {
window.on('document-end', function()
window.moveTo(x - (window.window.width / 2) - 6, y);
window.show();
window.focus();
});
}
// show panel when click in tray
tray.on('click', function (evt) {
showPopup(evt.x, evt.y);
});