Иконка в системном трее приложения Electron пуста на Windows, отлично работает на ОС Ma c - PullRequest
3 голосов
/ 16 января 2020

Я работаю над добавлением иконки в системном трее в свое приложение Electron. На ОС Ma c значок работает как положено. Значок отображается в системном трее и может взаимодействовать по назначению. На Windows функциональность иконки в системном трее есть (например, есть место для иконки, я могу щелкнуть правой кнопкой мыши по иконке и правильно взаимодействовать с выпадающим меню), но фактическая иконка отсутствует в место, где оно должно быть.

Вот код для этого:

let tray
let iconPath
let trayIcon
let contextMenu

function createTray(){

    iconPath = path.join(__dirname, '../public/img/trayicon.png');
    trayIcon = nativeImage.createFromPath(iconPath);
    trayIcon = trayIcon.resize({ width: 16, height: 16 });
    tray = new Tray(trayIcon);
    contextMenu = Menu.buildFromTemplate([
      { label: 'Toggle Chronos', click(){ toggleMainWindow(); } },
      { label: 'Quit', click() { app.quit() } }
    ]);
    tray.setContextMenu(contextMenu);
}

Снимок экрана с пустым значком в системном трее на Windows

Скриншот того, как это выглядит на Ma c OS

Я пытался поменять иконку на .ico, надеясь, что просто Windows не сможет отобразить PNG в системный трей, но это только ломает его на ОС Ma c, не исправляя его на Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...