Создать оконное меню в OS X
Я хотел бы создать такое же меню в трее, как это приложение. Поскольку это находится в списке приложений, которые используют node-webkit/nw.js, я думаю, что это возможно. Я просмотрел всю документацию и не смог ничего найти, как этого добиться. Поиск в Google также не был действительно плодотворным.
Может, один из вас, ребята, делал это раньше и мог направить меня в правильном направлении?
1 ответ
Решение
Во-первых, вы должны предотвратить появление приложения на панели задач.
{
"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
});
Затем нужно создать скрытое окно и показать его по нажатию в трее:
// 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);
});