Tray

Trayは、オペレーティングシステムの通知エリアでアイコンで表示され、通常コンテキストメニューが付随します。

const electron = require('electron');
const app = electron.app;
const Menu = electron.Menu;
const Tray = electron.Tray;

var appIcon = null;
app.on('ready', function(){
  appIcon = new Tray('/path/to/my/icon');
  var contextMenu = Menu.buildFromTemplate([
    { label: 'Item1', type: 'radio' },
    { label: 'Item2', type: 'radio' },
    { label: 'Item3', type: 'radio', checked: true },
    { label: 'Item4', type: 'radio' }
  ]);
  appIcon.setToolTip('This is my application.');
  appIcon.setContextMenu(contextMenu);
});

プラットフォームの制限:

  • Linuxでは、サポートしている場合アプリインディケーターが使われ、サポートされていなければ代わりにGtkStatusIconが使われます。
  • アプリインディケーターを持っているLinuxディストリビューションでは、トレイアイコンを動作させるためにlibappindicator1をインストールする必要があります。
  • コンテキストメニューがあるときは、インディケーターのみが表示されます。
  • アプリインディケーターがLinuxで使われると、clickイベントは無視されます。

すべてのプラットフォームで正確に同じ挙動を維持したい場合は、clickイベントに依存せず、常にトレイアイコンにコンテキストメニューを付随させるようにします。

クラス: Tray

TrayEventEmitterです。

new Tray(image)

imageで新しいトレイアイコンを作成します。

イベント

Trayモジュールは次のイベントを出力します。

Note: いくつかのイベントは、特定のオペレーティングシステム向けに提供され、そのようにラベルで表示します。

イベント: 'click'

  • event Event
    • altKey Boolean
    • shiftKey Boolean
    • ctrlKey Boolean
    • metaKey Boolean
  • bounds Object - トレイアイコンのバウンド
    • x Integer
    • y Integer
    • width Integer
    • height Integer

トレイアイコンがクリックされたときに出力されます。

Note: バウンド 再生はOS XとWindoesのみで実装されています。

イベント: 'right-click' OS X Windows

  • event Event
    • altKey Boolean
    • shiftKey Boolean
    • ctrlKey Boolean
    • metaKey Boolean
  • bounds Object - トレイアイコンのバウンド
    • x Integer
    • y Integer
    • width Integer
    • height Integer

トレイアイコンが右クリックされると出力されます。

イベント: 'double-click' OS X Windows

  • event Event
    • altKey Boolean
    • shiftKey Boolean
    • ctrlKey Boolean
    • metaKey Boolean
  • bounds Object - トレイアイコンのバウンド
    • x Integer
    • y Integer
    • width Integer
    • height Integer

トレイアイコンがダブルクリックされたら出力されます。

イベント: 'balloon-show' Windows

トレイバルーンを表示したときに出力されます。

イベント: 'balloon-click' Windows

トレイバルーンがクリックされたときに出力されます。

イベント: 'balloon-closed' Windows

タイムアウトもしくはユーザーの操作で閉じて、トレイバルーンがクロースされたときに出力されます。

イベント: 'drop' OS X

トレイアイコンでアイテムがドラグアンドドロップされたときに出力されます。

イベント: 'drop-files' OS X

  • event
  • files Array - ドロップされたアイテムのフルパス

トレイアイコンでファイルがドロップされたときに出力されます。

イベント: 'drag-enter' OS X

トレイアイコンにドラッグ操作が入ったときに出力されます。

イベント: 'drag-leave' OS X

トレイアイコンででドラッグ操作が行われたときに出力されます。

イベント: 'drag-end' OS X

トレイ上でドラッグ操作が終了したか、ほかの場所で終了したときに出力されます。

Methods

Trayモジュールは次のメソッドを持ちます。

Note: いくつかのメソッドは、特定のオペレーティングシステム向けに提供され、そのようにラベルで表示します。

Tray.destroy()

ただちにトレイアイコンを終了します。

Tray.setImage(image)

トレイアイコンのimageを設定します。

Tray.setPressedImage(image) OS X

OS Xで押されたときにトレイアイコンのimageを設定します。

Tray.setToolTip(toolTip)

  • toolTip String

トレイアイコン用のホバーテキストを設定します。

Tray.setTitle(title) OS X

  • title String

ステータスバーで、トレイアイコンのわきに表示するタイトルを設定します。

Tray.setHighlightMode(highlight) OS X

  • highlight Boolean

トレイアイコンがクリックされた時、トレイアイコンの背景をハイライト(青色)するかどうかを設定します。既定ではTrueです。

Tray.displayBalloon(options) Windows

  • options Object

トレイバルーンを表示します。

Tray.popUpContextMenu([menu, position]) OS X Windows

  • menu Menu (optional)
  • position Object (optional) - ポップアップ位置
    • x Integer
    • y Integer

トレイアイコンのコンテキストメニューをポップアップします。menuが渡されたとき、menuはトレイコンテキストメニューの代わりに表示されます。

positionはWindowsのみで提供され、既定では(0, 0) です。

Tray.setContextMenu(menu)

  • menu Menu

アイコン用のコンテキストメニューを設定します。