Notification

Last updated Dec 26, 2023
Get notified of shell actions.

Hilbish features a simple notification system which can be used by other plugins and parts of the shell to notify the user of various actions. This is used via the hilbish.message interface.

A message is defined as a table with the following properties:

  • icon: A unicode/emoji icon for the notification.
  • title: The title of the message
  • text: Message text/body
  • channel: The source of the message. This should be a unique and easily readable text identifier.
  • summary: A short summary of the notification and message. If this is not present and you are using this to display messages, you should take part of the text instead.

The hilbish.message interface provides the following functions:

  • send(message): Sends a message and emits the hilbish.notification signal. DO NOT emit the hilbish.notification signal directly, or the message will not be stored by the message handler.
  • read(idx): Marks message at idx as read.
  • delete(idx): Removes message at idx.
  • readAll(): Marks all messages as read.
  • clear(): Deletes all messages.

There are a few simple use cases of this notification/messaging system. It could also be used as some “inter-shell” messaging system (???) but is intended to display to users.

An example is notifying users of completed jobs/commands ran in the background. Any Hilbish-native command (think the upcoming Greenhouse pager) can display it.