用一个 Tray
来表示一个图标,这个图标处于正在运行的系统的通知区 ,通常被添加到一个 context menu 上.
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);
});
平台限制:
GtkStatusIcon
代替.libappindicator1
来让 tray icon 执行.MenuItem
起效,需要再次调用 setContextMenu
.例如:contextMenu.items[2].checked = false;
appIcon.setContextMenu(contextMenu);
如果想在所有平台保持完全相同的行为,不应该依赖点击事件,而是一直将一个 context menu 添加到 tray icon.
Tray
是一个 事件发出者.
new Tray(image)
image
NativeImage创建一个与 image
相关的 icon.
Tray
模块可发出下列事件:
注意: 一些事件只能在特定的os中运行,已经标明.
event
EventaltKey
BooleanshiftKey
BooleanctrlKey
BooleanmetaKey
Booleanbounds
Object - tray icon 的 bounds.x
Integery
Integerwidth
Integerheight
Integer当tray icon被点击的时候发出事件.
注意: bounds
只在 OS X 和 Windows 上起效.
event
EventaltKey
BooleanshiftKey
BooleanctrlKey
BooleanmetaKey
Booleanbounds
Object - tray icon 的 bounds.x
Integery
Integerwidth
Integerheight
Integer当tray icon被鼠标右键点击的时候发出事件.
event
EventaltKey
BooleanshiftKey
BooleanctrlKey
BooleanmetaKey
Booleanbounds
Object - tray icon 的 bounds.x
Integery
Integerwidth
Integerheight
Integer当tray icon被双击的时候发出事件.
当tray 气泡显示的时候发出事件.
当tray 气泡被点击的时候发出事件.
当tray 气泡关闭的时候发出事件,因为超时或人为关闭.
当tray icon上的任何可拖动项被删除的时候发出事件.
event
files
Array - 已删除文件的路径.当tray icon上的可拖动文件被删除的时候发出事件.
当一个拖动操作进入tray icon的时候发出事件.
当一个拖动操作离开tray icon的时候发出事件. Emitted when a drag operation exits the tray icon.
当一个拖动操作在tray icon上或其它地方停止拖动的时候发出事件.
Tray
模块有以下方法:
Note: 一些方法只能在特定的os中运行,已经标明.
Tray.destroy()
立刻删除 tray icon.
Tray.setImage(image)
image
NativeImage让 image
与 tray icon 关联起来.
Tray.setPressedImage(image)
OS Ximage
NativeImage当在 OS X 上按压 tray icon 的时候, 让 image
与 tray icon 关联起来.
Tray.setToolTip(toolTip)
toolTip
String为 tray icon 设置 hover text.
Tray.setTitle(title)
OS Xtitle
String在状态栏沿着 tray icon 设置标题.
Tray.setHighlightMode(highlight)
OS Xhighlight
Boolean当 tray icon 被点击的时候,是否设置它的背景色变为高亮(blue).默认为 true.
Tray.displayBalloon(options)
Windowsoptions
Objecticon
NativeImagetitle
Stringcontent
String展示一个 tray balloon.
Tray.popUpContextMenu([menu, position])
OS X Windowsmenu
Menu (optional)position
Object (可选) - 上托位置.x
Integery
Integer从 tray icon 上托出 context menu . 当划过 menu
的时候, menu
显示,代替 tray 的 context menu .
position
只在 windows 上可用,默认为 (0, 0) .
Tray.setContextMenu(menu)
menu
Menu为这个 icon 设置 context menu .