forked-systray
SysTray library for nodejs using ssbc/systrayhelper (a portable version of the go systray library).
forked why?
The original version built by zaaack contianed the compiled helper binaries inside the npm package. I didn't like this approach and therefore added a prebuild fetcher as a npm postinstall hook.
Install
npm i forked-systray
Usage
import SysTray from 'forked-systray'
const systray = new SysTray({
menu: {
icon: "<base64 image string>",
title: "标题",
tooltip: "Tips",
items: [{
title: "aa",
tooltip: "bb",
checked: true,
enabled: true
}, {
title: "aa2",
tooltip: "bb",
checked: false,
enabled: true
}, {
title: "Exit",
tooltip: "bb",
checked: false,
enabled: true
}]
},
debug: false,
copyDir: true,
})
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) {
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:
https://github.com/zaaack/aria2c-node-gui
License
MIT