# Tray `Tray`は、オペレーティングシステムの通知エリアでアイコンで表示され、通常コンテキストメニューが付随します。 ```javascript 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 `Tray`は[EventEmitter][event-emitter]です。 ### `new Tray(image)` * `image` [NativeImage](native-image.md) `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:__ `バウンド` 再生はmacOSとWindoesのみで実装されています。 ### イベント: 'right-click' _macOS_ _Windows_ * `event` Event * `altKey` Boolean * `shiftKey` Boolean * `ctrlKey` Boolean * `metaKey` Boolean * `bounds` Object - トレイアイコンのバウンド * `x` Integer * `y` Integer * `width` Integer * `height` Integer トレイアイコンが右クリックされると出力されます。 ### イベント: 'double-click' _macOS_ _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' _macOS_ トレイアイコンでアイテムがドラグアンドドロップされたときに出力されます。 ### イベント: 'drop-files' _macOS_ * `event` * `files` Array - ドロップされたアイテムのフルパス トレイアイコンでファイルがドロップされたときに出力されます。 ### イベント: 'drag-enter' _macOS_ トレイアイコンにドラッグ操作が入ったときに出力されます。 ### イベント: 'drag-leave' _macOS_ トレイアイコンででドラッグ操作が行われたときに出力されます。 ### イベント: 'drag-end' _macOS_ トレイ上でドラッグ操作が終了したか、ほかの場所で終了したときに出力されます。 ## Methods `Tray`モジュールは次のメソッドを持ちます。 **Note:** いくつかのメソッドは、特定のオペレーティングシステム向けに提供され、そのようにラベルで表示します。 ### `Tray.destroy()` ただちにトレイアイコンを終了します。 ### `Tray.setImage(image)` * `image` [NativeImage](native-image.md) トレイアイコンの`image`を設定します。 ### `Tray.setPressedImage(image)` _macOS_ * `image` [NativeImage](native-image.md) macOSで押されたときにトレイアイコンの`image`を設定します。 ### `Tray.setToolTip(toolTip)` * `toolTip` String トレイアイコン用のホバーテキストを設定します。 ### `Tray.setTitle(title)` _macOS_ * `title` String ステータスバーで、トレイアイコンのわきに表示するタイトルを設定します。 ### `Tray.setHighlightMode(highlight)` _macOS_ * `highlight` Boolean トレイアイコンがクリックされた時、トレイアイコンの背景をハイライト(青色)するかどうかを設定します。既定ではTrueです。 ### `Tray.displayBalloon(options)` _Windows_ * `options` Object * `icon` [NativeImage](native-image.md) * `title` String * `content` String トレイバルーンを表示します。 ### `Tray.popUpContextMenu([menu, position])` _macOS_ _Windows_ * `menu` Menu (optional) * `position` Object (optional) - ポップアップ位置 * `x` Integer * `y` Integer トレイアイコンのコンテキストメニューをポップアップします。`menu`が渡されたとき、`menu`はトレイコンテキストメニューの代わりに表示されます。 `position`はWindowsのみで提供され、既定では(0, 0) です。 ### `Tray.setContextMenu(menu)` * `menu` Menu アイコン用のコンテキストメニューを設定します。 [event-emitter]: http://nodejs.org/api/events.html#events_class_events_eventemitter