Oleh
Путь к картинке верный?
Anonymous
конечно
Anonymous
тогда бы ошибка была
Oleh
попробуй сделать без contextMenu
Oleh
Сразу делай типо
tray.setContextMenu(Menu.buildFromTemplate([
{ label: 'Настройки', type: 'normal' },
{ type: 'separator' },
{ label: 'Проверить обновления', type: 'normal' },
{ label: 'Dev mode', type: 'checkbox' },
{ type: 'separator' },
{ label: 'Выход', type: 'normal', click: () => { process.exit(); } },
]))
Anonymous
а пикча
Anonymous
а нет
Anonymous
я это убирал и ничего\
Anonymous
попробую
Anonymous
все еще ет
Oleh
Тогда ты его пытаешься возможно зарендерить не в правильном месте. До инициализации приложения
Anonymous
так так
Oleh
app.on('ready', () => {
// попробуй тут
})
Anonymous
минуткуconst createWindow = () => {
// Create the browser window.
const mainWindow = new BrowserWindow({
alwaysOnTop: false,
width: 800,
height: 600,
resizable: false,
maximizable: false,
frame: false,
title: 'SVworld',
icon: path.join(__dirname, 'assets\\img\\icon.ico'),
webPreferences: {
nodeIntegration: true,
},
});
// disable menu
Menu.setApplicationMenu(null);
// and load the index.html of the app.
mainWindow.loadFile(path.join(__dirname, 'index.html'));
// Open the DevTools.
mainWindow.webContents.openDevTools();
// Move window to top.
// app.show();
// TODO: tray
// tray
const tray = new Tray(path.join(__dirname, 'assets\\img\\icon.ico'));
tray.setContextMenu(Menu.buildFromTemplate([
{ label: 'Настройки', type: 'normal' },
{ type: 'separator' },
{ label: 'Проверить обновления', type: 'normal' },
{ label: 'Dev mode', type: 'checkbox' },
{ type: 'separator' },
{ label: 'Выход', type: 'normal', click: () => { process.exit(); } },
]));
tray.setToolTip('SVworld');
tray.setIgnoreDoubleClickEvents(true);
tray.on('click', () => { mainWindow.show(); });
};
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on('ready', createWindow);
Oleh
можешь пожалуйста отформатировать, если не сложно?
Anonymous
так вот, я тула положил что бы mainWindow.show(); работать
Oleh
Или на гист залить
сложно читать
Anonymous
как?
Oleh
Да, вроде бы все правильно
Anonymous
нет
Oleh
Не, я не про форматирование
Oleh
А про это
app.on('ready', createWindow);
Anonymous
так что там делать
Oleh
Я не знаю, выглядит правильно
Oleh
А окно вообще появляется?
Anonymous
да
Oleh
Погоди, ты меня запутал
Oleh
Ты отключил меню зачем-то
Oleh
А теперь пытаешься его рендерить в tray
Oleh
Попробуй закоментрировать эту строку - Menu.setApplicationMenu(null);
Anonymous
все еще нет
Oleh
я не уверен что в tray можно добавлять { type: 'separator' },
Oleh
и type
Anonymous
можно
Anonymous
Oleh
Я понимаю
Oleh
Я не могу найти этого в доке, для меню это все есть
Oleh
Для трея не уверен
Anonymous
по подсказкам нашел
Anonymous
и в другой проге работало
Anonymous
но по нец проблему не нашел
Oleh
Давай оставим пока что-то по проще
Oleh
Например у тебя нет checked: true или false для type: "checkbox"
Oleh
tray.setContextMenu(Menu.buildFromTemplate([
{ label: 'Проверить обновления' },
]));
Anonymous
неа
Anonymous
все еще нет
Anonymous
ну ок
Anonymous
удачи мне
Sultan
Всем привет
Sultan
тут как то мало людей
Sultan
и так вопрос как подключить jquery ui на свой electron проект?
Maksim
Sultan
через require()?
Electron.js releases
v9.1.2
https://github.com/electron/electron/releases/tag/v9.1.2
v9.1.2
Anonymous
// tray
tray = new Tray(path.join(__dirname, 'assets\\img\\icon.ico'));
const contextMenu = Menu.buildFromTemplate([
{
label: 'Настройки',
type: 'normal',
submenu: [
{
label: 'Проверить обновления',
type: 'normal',
},
{
label: 'Dev mode',
type: 'checkbox',
},
{
label: 'Память',
type: 'normal',
submenu: [
{
label: '1',
type: 'radio',
checked: true,
},
{
label: '2',
type: 'radio',
checked: false,
},
{
label: '3',
Anonymous
submenu не работает
Vadim
Nizam для получения помощи стоит придерживаться правил. Подобный первым сообщениям флуд не поможет.
Vadim
// tray
tray = new Tray(path.join(__dirname, 'assets\\img\\icon.ico'));
const contextMenu = Menu.buildFromTemplate([
{
label: 'Настройки',
type: 'normal',
submenu: [
{
label: 'Проверить обновления',
type: 'normal',
},
{
label: 'Dev mode',
type: 'checkbox',
},
{
label: 'Память',
type: 'normal',
submenu: [
{
label: '1',
type: 'radio',
checked: true,
},
{
label: '2',
type: 'radio',
checked: false,
},
{
label: '3',
Ты создал меню, а применил его?
Anonymous
да, применил
Vadim
Так, там контекстное меню и трей
Vadim
Как они связаны?
Anonymous
контекстное меню трея, открывается при нажатии
Vadim
// tray
tray = new Tray(path.join(__dirname, 'assets\\img\\icon.ico'));
const contextMenu = Menu.buildFromTemplate([
{
label: 'Настройки',
type: 'normal',
submenu: [
{
label: 'Проверить обновления',
type: 'normal',
},
{
label: 'Dev mode',
type: 'checkbox',
},
{
label: 'Память',
type: 'normal',
submenu: [
{
label: '1',
type: 'radio',
checked: true,
},
{
label: '2',
type: 'radio',
checked: false,
},
{
label: '3',
tray.setContextMenu(contextMenu)
Vadim
Вызывал?
Anonymous
да
Anonymous
меню есть, пролемы только с submenu
Anonymous
Anonymous
ну что?
Anonymous
ну ок
Vadim
Сверни лишнее
Vadim
Покажи полное использование
Oleh
Oleh
и submenu не было в предыдущий раз
Anonymous
да
Anonymous
я просто забыл поставить let tray = null; перед треем
Anonymous
оно было в другом месте пока копировал и я не заметил
Anonymous
трей теперь работает
Oleh
Понятно, попробуй убрать type: "normal"
Anonymous
да спасибо
Anonymous
работает