Package Exports
- systray
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (systray) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
node-systray
SysTray library for nodejs using systray-portable (a portable version of the go systray library).
Install
npm i systray
# or
yarn add systrayUsage
import SysTray from 'systray'
const systray = new SysTray({
menu: {
// you should using .png icon in macOS/Linux, but .ico format in windows
icon: "<base64 image string>",
title: "标题",
tooltip: "Tips",
items: [{
title: "aa",
tooltip: "bb",
// checked is implement by plain text in linux
checked: true,
enabled: true
}, {
title: "aa2",
tooltip: "bb",
checked: false,
enabled: true
}, {
title: "Exit",
tooltip: "bb",
checked: false,
enabled: true
}]
},
debug: false,
copyDir: true, // copy go tray binary to outside directory, useful for packing tool like pkg.
})
systray.onClick(action => {
if (action.seq_id === 0) {
systray.sendAction({
type: 'update-item',
item: {
...action.item,
checked: !action.item.checked,
},
seq_id: action.seq_id,
})
} else if (action.seq_id === 1) {
// open the url
console.log('open the url', action)
} else if (action.seq_id === 2) {
systray.kill()
}
})
For more API info please see https://zaaack.github.io/node-systray/
Here is also a demo project you might want to check out, it shows how to integrate this library with opn, node-notifier and node-packer:
License
MIT