forked-systray
TypeScript icon, indicating that this package has built-in type declarations

3.0.11 • Public • Published

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: {
        // 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:

https://github.com/zaaack/aria2c-node-gui

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i forked-systray

Weekly Downloads

5

Version

3.0.11

License

MIT

Unpacked Size

27.3 kB

Total Files

21

Last publish

Collaborators

  • christianbundy
  • cryp7ix