2017-01-15 6 views
2

私はElectronを使用しており、トレイ(メニューバー)アプリケーションを開発しようとしています。テーマ(ノーマルまたは暗い)に応じて色が変わります暗いテーマに応じて電子トレイのアイコンが変わりますか?

const {Tray} = require('electron') 
appIcon = new Tray('/path/to/my/icon') 

はどうやってアイコンを作成(または別のいずれかを選択)することができます

enter image description here

私はアイコンを設定する方法を知っていますユーザーが選択した?

上記の例では、暗いテーマを使用しているため、白いアイコンを作成できますが、ユーザーが通常の白いテーマを持っているとどうなりますか?

答えて

2

あなたはテンプレート画像(黒のみとクリア色)を使用する必要があります:MacOSのは、自動的に通常のテーマに黒、そして時に暗いテーマに白であるためにあなたのトレイアイコンを調整https://github.com/electron/electron/blob/master/docs/api/native-image.md#template-image

その方法。

ファイル名の末尾がTemplate.pngであることを確認してください。そうしないと、動作しません。 hi-dpiデバイスをターゲットにしている場合は、@2x.pngバージョンも含めてください。あなたのmain.jsに続いて

. 
├── main.js 
├── IconTemplate.png 
└── [email protected] 

だからあなたのフォルダは次のようになり

const {Tray} = require('electron') 
appIcon = new Tray('./IconTemplate.png') 
+0

を、あなたはこれらの画像が作成されるべきかに関するいかなるより多くの情報を持っていますか?彼らはある種のスプライトマップですか?寸法? – ajames

+1

普通の '.png'ファイルです。黒と透明の色だけを使用してください。私のMacでは、通常のdpiの22pxとhi-dpiの44pxはうまくいくようですが、自分でテストしてください。 –

関連する問題