Notification to stdout daemon
git clone
Log | Files | Refs | README | LICENSE

commit 66c00442e939eaa7ece77508d30a5b480d27725e
parent 72a651c3c832a1f14bd061cce1efa2bccf2018f8
Author: Sweets <>
Date:   Mon, 21 Sep 2020 00:05:29 -0700


Diffstat: | 61++++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 50 insertions(+), 11 deletions(-)

diff --git a/ b/ @@ -3,20 +3,37 @@ 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. -Perhaps you want notifications to be sent to your bar? tiramisu allows you to do that. - -Maybe you want notifications to be redirected to your phone as push notifications? A little bit of elbow grease and some tiramisu would let you do that ;) +<div align="center"><img src=""/></div> -Notifications could be made more accessibility friendly even with TTS. +# Why? -<div align="center"><img src=""/></div> +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. -Thanks to [BanchouBoo]( for helping test tiramisu and providing the gif of it. +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. # Projects Using tiramisu - [polynotifications by alnj]( +# Installation + +Clone the repository and build the project. Then move tiramisu to a location that is specified in `$PATH`. + +``` +$ git clone +$ cd ./tiramisu +$ make + +# cp ./tiramisu /usr/bin/tiramisu +# chmod +x /usr/bin/tiramisu +``` + +#### Note that the use of a pound symbol (#) denotes escalated privileges. +#### On most Linux systems this can be done with the usage of `sudo` + # Usage Redirecting output of tiramisu to the input of another program is the ideal methodology to using @@ -26,17 +43,39 @@ tiramisu. tiramisu | your-application ``` -By default tiramisu outputs notifications in JSON format. By removing the `PRINT_JSON` macro from config.h you can have tiramisu print out notifications straight to STDOUT, with each bit of information being split by a new line (the delimiter can also be changed in config.h) +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. + +### Example of default output ``` $ tiramisu -{ "app_name": "notify-send", "app_icon": "", "replaces_id": 0, "timeout": -1, "summary": "Notification summary", "body": "Notification body" } ``` -also tiramisu can output information in json so it can be easily parsed. +``` +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. +``` -If any specific setting is disabled in the configuration, the line is omitted -from the output (making all of the output one line shorter). +### Example of JSON output + +``` +$ 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."} +``` #### Note that only a single process can claim the org.freedesktop.Notifications name at a given time, so any other running notification daemon must be killed before running tiramisu. +##### Thanks to [BanchouBoo]( for helping test tiramisu and providing the gif of it.