SNot/README.md
2024-09-26 16:27:48 +05:30

39 lines
1.7 KiB
Markdown

# SNot: Simple NOTification
A simple [desktop notification](https://wiki.archlinux.org/title/Desktop_notifications) server/daemon using the [`dbus`](https://dbus.freedesktop.org/doc/dbus-tutorial.html) protocol. SNot listens for notifications on the [`org.freedesktop.Notifications`](https://specifications.freedesktop.org/notification-spec/latest/basic-design.html) interface, and prints them to the console.
Inspired by [`tiramisu`](https://github.com/Sweets/tiramisu)
## Features
- Prints desktop notifications to the console(or a file, if you redirect it) as text
- Do one thing and do it well([DOTADIW](https://en.wikipedia.org/w/index.php?title=Unix_philosophy&useskin=vector#Do_One_Thing_and_Do_It_Well)) & [KISS](https://en.wikipedia.org/wiki/KISS_Principle) principle: no extra complicated features
- (Not really a feature) Written in [`rust`](https://www.rust-lang.org/) using the [`zbus`](https://docs.rs/zbus/latest/zbus/) crate
## Usage
```bash
snot --help
Usage: snot [-f <format>] [-v]
Print desktop notifications
Options:
-f, --format select output format: r(rson), j(json, default), p(plain)
-v, --verbose verbose mode
--help display usage information
```
## Supported formats
- Plain text - Print the output text. (✓ Just print it)
- [`json`](https://json.org) - This output can be parsed by other programs
- [`rson`](https://github.com/rson-rs/rson) - A more sensible alternative to json
## Upcoming feature
- Better handling of `json` and `rson` data
- Better ways to work with other programs
## Why this project?
- Something simple to work with [`EWW`](https://github.com/elkowar/eww) widgets
- I'm learning Rust