1.0.2 • Published 1 year ago

electron-topper v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

electron-topper

A simple Electron.js tool for creating and managing system notifications.

This package also provides custom timeout notifications (which isn't possible with the default API).

Supported systems

  • Mac
  • Windows
  • WSL
  • Linux

Quick start

Install the package with NPM:

npm install electron-topper

And to save it to your dependencies:

npm install electron-topper --save

And now import it into your project:

const topper = require("electron-topper");

Now you are ready to use it!

Examples

To send a system notification using electron-topper:

topper.notify("This is the title", "This is the message");

To send a system notification with a custom icon:

topper.notify("This is the title", "This is the message", "/path/to/icon.png");

Please also read the full requirements for an icon in Electron notifications.

To send a system notification with a custom icon and custom close button:

topper.notify("This is the title", "This is the message", "/path/to/icon.png", "Close notification");

To send a system notification with a custom timeout:

// Timeout is in milliseconds (ms)
topper.timeout(3000, "This is the title", "This is the message");

To send an advanced notification:

topper.notify({
  title: "This is the title",
  subtitle: "This is the subtitle",
  body: "This is the message",
  icon: "/path/to/icon.png",
  button: "Close notification",
  silent: false,
  options: {
    "Option 1": function() {
      console.log("Option 1 was chosen");
    },
    "Option 2": function() {
      console.log("Option 1 was chosen");
    }
  }
});

To dynamically close a specific notification:

// Store the notification id
let notification = topper.notify("This is the title", "This is the message", "/path/to/icon.png", "Close notification");

// Somewhere else in your code
topper.close(notification);

To dynamically close all notifications:

topper.closeAll();

All methods

  • notify: function notify(title | options: string | object, body: string, icon: string, button: string)

    • Sends a system notification. The "title" parameter can also be an object with advanced options.
    • Supported systems: Mac, Windows, Linux └ param: options: { title: string, subtitle: string, body: string, icon: string, button: string, silent: boolean, options: object } └ param: options.options: Supported systems: Mac
  • timeout: function timeout(timeout: number, title | options: string | object, body: string, icon: string, button: string)

    • Sends a system notification with a timeout. Timeout is in milliseconds (ms). The "title" parameter can also be an object with advanced options.
    • Supported systems: Mac, Windows, Linux └ param: options: { title: string, subtitle: string, body: string, icon: string, button: string, silent: boolean, options: object }
  • close: function close(id: string)

    • Closes an opened notification.
    • Supported systems: Mac, Windows, Linux
  • closeAll: function closeAll()

    • Closes all opened notifications.
    • Supported systems: Mac, Windows, Linux

Shortcuts

All methods have a shortcut-function to minimize code. For example, .notify has the shortcut .n. Here are all of the shortcuts:

topper.n(...) // Same as topper.notify()
topper.t(...) // Same as topper.timeout()
topper.c(...) // Same as topper.close()
topper.x(...) // Same as topper.closeAll()

License

MIT

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago