Предоставить различные значки Dock и Tray для приложения на базе Electron для Ma c? - PullRequest
0 голосов
/ 21 февраля 2020

Я немного искал и пока нашел только ресурсы по шаблонным изображениям, но не определенное руководство. Я создаю приложение Electron (Electron 8.0). У меня есть настроенные значки для темного и обычного режимов.

Я знаю, что могу предоставить значки с высоким разрешением, например:

  • tray_icon.png
  • tray_icon@2.png

Аналогично в файле icns для значка Dock. Мне было интересно, могу ли я сделать то же самое для темных и обычных значков режима.

Как мне нужно подготовить / присвоить названия моим значкам, чтобы macOS Catalina подбирала разные значки для лотка, а также для док-станции? он работает в обычном или в темном режиме?

Нужно ли реализовывать некоторые логи c для программного переключения значков? Как будет работать такая логика c, когда мое приложение Electron не запущено, но тема переключена?

1 Ответ

0 голосов
/ 22 февраля 2020

Программно, это может быть легко реализовано

const { nativeTheme } = require('electron')

nativeTheme.on('updated', function theThemeHasChanged () {
  updateMyAppTheme(nativeTheme.shouldUseDarkColors)
})

// set tray & dock images here
function updateMyAppTheme(isDark) {
  tray.setImage(isDark? darkTrayImagePath : lightTrayImagePath)
  dock.setIcon(isDark? darkDockImagePath : lightDockImagePath)
}

Соответствующие документы:

...