electron/docs/api/tray.md

193 lines
4.3 KiB
Markdown
Raw Normal View History

2014-06-02 03:47:22 +00:00
# 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');
2014-06-02 03:47:22 +00:00
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', checked: true },
{ label: 'Item4', type: 'radio' }
]);
appIcon.setToolTip('This is my application.');
appIcon.setContextMenu(contextMenu);
});
2014-06-02 03:47:22 +00:00
```
__Platform limitations:__
* On Linux app indicator will be used if it is supported, otherwise
`GtkStatusIcon` will be used instead.
* On Linux distributions that only have app indicator support, you have to
install `libappindicator1` to make tray icon work.
* 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.
2014-06-02 03:47:22 +00:00
## Class: Tray
2014-08-20 02:53:20 +00:00
`Tray` is an [EventEmitter][event-emitter].
2014-06-02 03:47:22 +00:00
### new Tray(image)
2015-02-12 05:52:28 +00:00
* `image` [NativeImage](native-image.md)
2014-06-02 03:47:22 +00:00
Creates a new tray icon associated with the `image`.
### Event: 'clicked'
2015-07-29 06:27:32 +00:00
* `event` Event
* `altKey` Boolean
* `shiftKey` Boolean
* `ctrlKey` Boolean
2015-07-29 06:44:08 +00:00
* `metaKey` Boolean
* `bounds` Object - the bounds of tray icon
* `x` Integer
* `y` Integer
* `width` Integer
* `height` Integer
2014-06-02 03:47:22 +00:00
Emitted when the tray icon is clicked.
2015-08-10 05:00:15 +00:00
__Note:__ The `bounds` payload is only implemented on OS X and Windows.
2015-07-15 12:13:59 +00:00
### Event: 'right-clicked'
2015-07-29 06:27:32 +00:00
* `event` Event
* `altKey` Boolean
* `shiftKey` Boolean
* `ctrlKey` Boolean
2015-07-29 06:44:08 +00:00
* `metaKey` Boolean
2015-07-15 12:13:59 +00:00
* `bounds` Object - the bounds of tray icon
* `x` Integer
* `y` Integer
* `width` Integer
* `height` Integer
Emitted when the tray icon is right clicked.
__Note:__ This is only implemented on OS X and Windows.
2015-07-15 12:13:59 +00:00
2014-09-09 11:50:50 +00:00
### Event: 'double-clicked'
2015-07-29 06:27:32 +00:00
* `event` Event
* `altKey` Boolean
* `shiftKey` Boolean
* `ctrlKey` Boolean
2015-07-29 06:44:08 +00:00
* `metaKey` Boolean
* `bounds` Object - the bounds of tray icon
* `x` Integer
* `y` Integer
* `width` Integer
* `height` Integer
2015-07-29 03:28:20 +00:00
Emitted when the tray icon is double clicked.
__Note:__ This is only implemented on OS X and Windows.
### Event: 'balloon-show'
Emitted when the tray balloon shows.
__Note:__ This is only implemented on Windows.
2014-11-28 11:23:13 +00:00
### Event: 'balloon-clicked'
Emitted when the tray balloon is clicked.
__Note:__ This is only implemented on Windows.
### Event: 'balloon-closed'
Emitted when the tray balloon is closed because of timeout or user manually
closes it.
__Note:__ This is only implemented on Windows.
2014-09-09 11:50:50 +00:00
### Event: 'drop-files'
* `event`
* `files` Array - the file path of dropped files.
Emitted when dragged files are dropped in the tray icon.
__Note:__ This is only implemented on OS X.
2014-11-28 10:06:51 +00:00
### Tray.destroy()
Destroys the tray icon immediately.
2014-06-02 03:47:22 +00:00
### Tray.setImage(image)
2015-02-12 05:52:28 +00:00
* `image` [NativeImage](native-image.md)
2014-06-02 03:47:22 +00:00
Sets the `image` associated with this tray icon.
### Tray.setPressedImage(image)
2015-02-12 05:52:28 +00:00
* `image` [NativeImage](native-image.md)
2014-06-02 03:47:22 +00:00
Sets the `image` associated with this tray icon when pressed on OS X.
2014-06-02 03:47:22 +00:00
### Tray.setToolTip(toolTip)
* `toolTip` String
2014-09-09 11:50:50 +00:00
Sets the hover text for this tray icon.
### Tray.setTitle(title)
* `title` String
Sets the title displayed aside of the tray icon in the status bar.
__Note:__ This is only implemented on OS X.
2014-09-09 11:50:50 +00:00
### Tray.setHighlightMode(highlight)
* `highlight` Boolean
2014-09-09 11:50:50 +00:00
Sets whether the tray icon is highlighted when it is clicked.
__Note:__ This is only implemented on OS X.
2014-09-09 11:50:50 +00:00
2014-11-28 11:23:13 +00:00
### Tray.displayBalloon(options)
* `options` Object
2015-02-12 05:52:28 +00:00
* `icon` [NativeImage](native-image.md)
2014-11-28 11:23:13 +00:00
* `title` String
* `content` String
Displays a tray balloon.
__Note:__ This is only implemented on Windows.
2015-08-10 05:00:15 +00:00
### Tray.popUpContextMenu([position])
2015-07-16 03:53:13 +00:00
* `position` Object - The pop position
* `x` Integer
* `y` Integer
The `position` is only available on Windows, and it is (0, 0) by default.
__Note:__ This is only implemented on OS X and Windows.
2014-06-02 03:47:22 +00:00
### Tray.setContextMenu(menu)
* `menu` Menu
Sets the context menu for this icon.
2014-09-09 11:50:50 +00:00
2014-06-02 03:47:22 +00:00
[event-emitter]: http://nodejs.org/api/events.html#events_class_events_eventemitter