Notifications (ins notify)
ins notify is the instantOS notification center. It replaces the old instantNOTIFY/instantnotify implementation and stores notifications sent through the standard desktop notification interface without taking over from the notification daemon. Dunst or mako still displays the popup; ins notify records and manages the history.
Open the notification center
# Open in the current terminal
ins notify
# Open in a dedicated GUI terminal window
ins notify --guiOn instantWM, it can also be opened with Super + right-click on the desktop or window bar, or with Super+Ctrl + left-click on the status text. The current compiled instantWM defaults do not bind Super+G.
Selecting a notification marks it as read and opens its detail view. From there it can be marked unread or deleted. The Options menu provides Do Not Disturb, bulk read/delete operations, filtering by application or keyword, and the history-size setting.
If capture is not running, the notification center shows an Enable and start notification capture action. Nothing is enabled merely by opening the TUI; the service is changed only after selecting that action.
Do Not Disturb controls the active notification daemon: dunstctl is used for dunst and makoctl for mako.
Start notification capture
Notifications are only stored while the capture daemon is running. Packaged instantOS installations provide a systemd user service for it:
# Enable login autostart and start capture now
ins notify enable
# Inspect the live daemon and autostart state
ins notify status
# Stop capture and disable autostart
ins notify disableTo run the capture process directly, for example when using a standalone instantCLI binary:
ins notify daemonOnly one capture daemon can run per user. Transient notifications are not stored. The history database is private to the user and retains 1,000 entries by default; the limit can be changed from the notification center's Options menu.
ins notify daemon intentionally stays in the foreground. A self-forking --bg mode would lose systemd's supervision, restart policy, logging, and clean session shutdown. Use ins notify enable for background operation.
Command-line access
The same history can be queried and managed without the interactive interface:
# List history, or only unread entries
ins notify list
ins notify list --unread-only
# Print the unread count
ins notify count
# Mark one entry, or every entry, as read
ins notify read 42
ins notify read all
# Mark one entry as unread
ins notify unread 42
# Delete exactly one selection criterion at a time
ins notify delete --id 42
ins notify delete --app Firefox
ins notify delete --keyword update
ins notify delete --read
ins notify delete --all
# Toggle Do Not Disturb
ins notify dnd
# Manage supervised background capture
ins notify enable
ins notify status
ins notify disableUse the global --output json option with list or count for scripts:
ins --output json notify list
ins --output json notify countNotifications with actions
Applications can attach actions to a notification, such as accepting or rejecting a Bluetooth pairing request. ins notify records their labels and whether the original notification is still live, but it deliberately does not replay them from history.
An action is a live callback to the application that sent the notification. The desktop notification protocol invalidates it when the notification closes, so a stored Pair button would not be a durable command. Invoke these actions through dunst or mako while the original popup is visible.
For dunst, configure a normal click to invoke the default action and another button to open its dmenu-compatible action chooser:
# ~/.config/dunst/dunstrc.d/90-actions.conf
[global]
mouse_left_click = do_action,close_current
mouse_middle_click = context,close_currentThe context action uses dunst's configured dmenu command. Reload the configuration with dunstctl reload.
Mako invokes the default action on a left click by default. A menu for notifications with several actions can be configured like this:
# ~/.config/mako/config
on-button-left=invoke-default-action
on-button-middle=exec makoctl menu -n "$id" -- wmenu -p 'Select action: 'Reload it with makoctl reload.
Opening ins notify --gui from a separate key binding is useful for browsing history. It should not replace the daemon's action-click binding, because doing so would discard the live application callback.