71 lines
1.7 KiB
Markdown
71 lines
1.7 KiB
Markdown
# tray
|
|
|
|
A `Tray` represents an icon in operating system's notification area, it is
|
|
usually attached with a context menu.
|
|
|
|
```javascript
|
|
var app = require('app');
|
|
var Menu = require('menu');
|
|
var Tray = require('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', clicked: true },
|
|
{ label: 'Item4', type: 'radio' },
|
|
]);
|
|
appIcon.setToolTip('This is my application.');
|
|
appIcon.setContextMenu(contextMenu);
|
|
});
|
|
|
|
```
|
|
|
|
__Platform limitations:__
|
|
|
|
* On OS X `clicked` event will be ignored if the tray icon has context menu.
|
|
* On Linux app indicator will be used if it is supported, otherwise
|
|
`GtkStatusIcon` will be used instead.
|
|
* App indicator will only be showed when it has context menu.
|
|
* When app indicator is used on Linux, `clicked` event is ignored.
|
|
|
|
So if you want to keep exact same behaviors on all platforms, you should not
|
|
rely on `clicked` event and always attach a context menu to the tray icon.
|
|
|
|
## Class: Tray
|
|
|
|
`Tray` is an [EventEmitter][event-emitter].
|
|
|
|
### new Tray(image)
|
|
|
|
* `image` [Image](image.md)
|
|
|
|
Creates a new tray icon associated with the `image`.
|
|
|
|
### Event: 'clicked'
|
|
|
|
Emitted when the tray icon is clicked.
|
|
|
|
### Tray.setImage(image)
|
|
|
|
* `image` [Image](image.md)
|
|
|
|
Sets the `image` associated with this tray icon.
|
|
|
|
### Tray.setPressedImage(image)
|
|
|
|
* `image` [Image](image.md)
|
|
|
|
Sets the `image` associated with this tray icon when pressed.
|
|
|
|
### Tray.setToolTip(toolTip)
|
|
|
|
* `toolTip` String
|
|
|
|
### Tray.setContextMenu(menu)
|
|
|
|
* `menu` Menu
|
|
|
|
[event-emitter]: http://nodejs.org/api/events.html#events_class_events_eventemitter
|