tiramisu is a notification daemon based on dunst that outputs notifications to STDOUT in order to allow the user to process notifications any way they prefer.
By allowing users to determine what is done with notifications, there is infinitely more possibilities presented to the end-user than a simple notification daemon that displays a block of text on the screen and nothing more.
Users could have notifications display in a pre-existing bar, make a control panel of some sort that shows notifications, push notifications to their phone if their computer has been idle for an amount of time, make notifications more accessible with text-to-speech, and so much more.
Clone the repository and build the project. Then move tiramisu to a location that is specified in $PATH
.
$ git clone https://github.com/Sweets/tiramisu
$ cd ./tiramisu
$ make
# cp ./tiramisu /usr/bin/tiramisu
# chmod +x /usr/bin/tiramisu
Redirecting output of tiramisu to the input of another program is the ideal methodology to using tiramisu.
tiramisu | your-application
By default tiramisu outputs notifications in a psuedo-key-value line format.
You can supply the -j
flag to output notification data in JSON format.
$ tiramisu
app_name: evolution-mail-notification
app_icon: evolution
replaces_id: 0
timeout: -1
hints:
desktop-entry: org.gnome.Evolution
urgency: 1
actions:
Show INBOX: default
summary: New email in Evolution
body: You have received 4 new messages.
$ tiramisu -j
{"app_name": "evolution-mail-notification", "app_icon": "evolution", "replaces_id": 0, "timeout": -1, "hints": {"desktop-entry": "org.gnome.Evolution", "urgency": 1}, "actions": {"Show INBOX": "default"}, "summary": "New email in Evolution", "body": "You have received 4 new messages."}