void Tray::OnClicked(const gfx::Rect& bounds, int modifiers) {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
- EmitCustomEvent("clicked",
+ EmitCustomEvent("click",
ModifiersToObject(isolate(), modifiers), bounds);
}
void Tray::OnDoubleClicked(const gfx::Rect& bounds, int modifiers) {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
- EmitCustomEvent("double-clicked",
+ EmitCustomEvent("double-click",
ModifiersToObject(isolate(), modifiers), bounds);
}
void Tray::OnRightClicked(const gfx::Rect& bounds, int modifiers) {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
- EmitCustomEvent("right-clicked",
+ EmitCustomEvent("right-click",
ModifiersToObject(isolate(), modifiers), bounds);
}
}
void Tray::OnBalloonClicked() {
- Emit("balloon-clicked");
+ Emit("balloon-click");
}
void Tray::OnBalloonClosed() {
{app, ipcMain, deprecate} = require 'electron'
{EventEmitter} = require 'events'
-BrowserWindow = process.atomBinding('window').BrowserWindow
+{BrowserWindow} = process.atomBinding 'window'
BrowserWindow::__proto__ = EventEmitter.prototype
BrowserWindow::_init = ->
+{deprecate} = require 'electron'
{EventEmitter} = require 'events'
-{Tray} = process.atomBinding 'tray'
+{Tray} = process.atomBinding 'tray'
Tray::__proto__ = EventEmitter.prototype
+Tray::_init = ->
+ # Deprecated.
+ deprecate.rename this, 'popContextMenu', 'popUpContextMenu'
+ deprecate.event this, 'clicked', 'click'
+ deprecate.event this, 'double-clicked', 'double-click'
+ deprecate.event this, 'right-clicked', 'right-click'
+ deprecate.event this, 'balloon-clicked', 'balloon-click'
+
Tray::setContextMenu = (menu) ->
@_setContextMenu menu
@menu = menu # Keep a strong reference of menu.
-# Keep compatibility with old APIs.
-Tray::popContextMenu = Tray::popUpContextMenu
-
module.exports = Tray
# Deprecate an event.
deprecate.event = (emitter, oldName, newName, fn) ->
warned = false
- emitter.on newName, ->
+ emitter.on newName, (args...) ->
if @listenerCount(oldName) > 0 # there is listeners for old API.
unless warned or process.noDeprecation
warned = true
deprecate.warn "'#{oldName}' event", "'#{newName}' event"
- fn.apply this, arguments
+ if fn?
+ fn.apply this, arguments
+ else
+ @emit oldName, args...
# Print deprecate warning.
deprecate.warn = (oldName, newName) ->
* On Linux distributions that only have app indicator support, you have to
install `libappindicator1` to make the tray icon work.
* App indicator will only be shown when it has a context menu.
-* When app indicator is used on Linux, the `clicked` event is ignored.
+* When app indicator is used on Linux, the `click` event is ignored.
If you want to keep exact same behaviors on all platforms, you should not
-rely on the `clicked` event and always attach a context menu to the tray icon.
+rely on the `click` event and always attach a context menu to the tray icon.
## Class: Tray
**Note:** Some events are only available on specific operating systems and are
labeled as such.
-### Event: 'clicked'
+### Event: 'click'
* `event` Event
* `altKey` Boolean
__Note:__ The `bounds` payload is only implemented on OS X and Windows.
-### Event: 'right-clicked' _OS X_ _Windows_
+### Event: 'right-click' _OS X_ _Windows_
* `event` Event
* `altKey` Boolean
Emitted when the tray icon is right clicked.
-### Event: 'double-clicked' _OS X_ _Windows_
+### Event: 'double-click' _OS X_ _Windows_
* `event` Event
* `altKey` Boolean
Emitted when the tray balloon shows.
-### Event: 'balloon-clicked' _Windows_
+### Event: 'balloon-click' _Windows_
Emitted when the tray balloon is clicked.