https://github.com/crabvk/notify-call
Command-line tool to send desktop notifications and handle actions
https://github.com/crabvk/notify-call
desktop-notifications notify-send
Last synced: 3 months ago
JSON representation
Command-line tool to send desktop notifications and handle actions
- Host: GitHub
- URL: https://github.com/crabvk/notify-call
- Owner: crabvk
- License: mit
- Created: 2020-12-11T19:44:13.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-01-20T19:13:06.000Z (over 2 years ago)
- Last Synced: 2025-07-10T21:55:52.601Z (11 months ago)
- Topics: desktop-notifications, notify-send
- Language: Rust
- Homepage:
- Size: 13.7 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TODO
- random IDs => fixes bug
- optionally close notification after successful action command execution
# notify-call
A command-line tool to send desktop notifications and handle actions via D-Bus on Linux.
It's similar to [notify-send](https://www.mankier.com/1/notify-send) with additional features.
## Install
On ArchLinux https://aur.archlinux.org/packages/notify-call/
## Additional to notify-send features
- Replace notification by ID
- Use a temporary file to store and replace notification
`-R, --replace-file ` saves notification ID and replaces notification on next run.
It stores files in `XDG_RUNTIME_DIR` (usually /run/user/1000) or /tmp if `XDG_RUNTIME_DIR` is not set. You can also specify an absolute path.
- Set default and custom notification actions
```shell
notify-call -d 'echo example' -o 'echo action1:one' -o 'echo action2:two' hello actions
```
The default action is usually triggered on the left click.
## How it's different from [notify-send.sh](https://github.com/vlevit/notify-send.sh)
- It is faster, which matters with multiple sequential calls (like when you increase or decrease system volume)
- Can handle actions several times until you close the notification
## Build
Download [latest release](https://github.com/crabvk/notify-call/releases) and
```shell
cargo build --release --locked
```
will build target/release/notify-call.
## Desktop Notifications Specification
- https://specifications.freedesktop.org/notification-spec/latest/ar01s09.html
- https://developer.gnome.org/notification-spec/