Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bzglve/rustyfications
Rusty notification daemon for Wayland.
https://github.com/bzglve/rustyfications
daemon dbus gtk gtk-layer-shell gtk4 gtk4-layer-shell notification rust wayland
Last synced: 21 days ago
JSON representation
Rusty notification daemon for Wayland.
- Host: GitHub
- URL: https://github.com/bzglve/rustyfications
- Owner: bzglve
- License: mit
- Created: 2024-08-24T19:55:54.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-09-12T09:35:39.000Z (2 months ago)
- Last Synced: 2024-10-04T21:59:37.671Z (about 1 month ago)
- Topics: daemon, dbus, gtk, gtk-layer-shell, gtk4, gtk4-layer-shell, notification, rust, wayland
- Language: Rust
- Homepage:
- Size: 330 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rustyfications
Rusty notification daemon for Wayland.
---
![screenshot](assets/screenshot.png)![inline-reply](assets/inline-reply.png)
![rickroll](assets/rickroll.png)
`Rust` | `Gtk4` | `gtk4-layer-shell`
---
## Running
Currently you need to run it manually. Be sure that no other notification daemons is running
```bash
cargo run --release
```in case it throws `NameTaken` error
```bash
# check what other notification daemon is running
# example output
# org.freedesktop.Notifications 432884 DAEMONNAME USERNAME :1.6094 [email protected] - -
busctl --user list | grep org.freedesktop.Notifications# kill it
killall DAEMONNAME
```### Automation
You can create a file `/usr/share/dbus-1/services/com.bzglve.rustyfications.service`
put the following in it
```conf
[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/bin/rustyfications
```and of course copy binary to bin directory
```bash
sudo cp target/release/rustyfications /usr/bin/rustyfications
```From now you don't need to manually start daemon. It will be activated automatically on any client request
## Configuration
Default configuration provided in example [config.ron](examples/config/config.ron). It should be placed in user config dir either systems ( `~/.config/rustyfications/config.ron` / `/etc/xdg/rustyfications/config.ron` )
## Planning
- configuration
- more capabilities and hints support
- styling customization
- ipc like stuff to call already running daemon
- [SwayNotificationCenter](https://github.com/ErikReider/SwayNotificationCenter)-like sidebar window
- packaging## Motivation
Practice myself and write something that I will use every day.
Other tools don't quite meet my needs.
Highly inspired by [SwayNotificationCenter](https://github.com/ErikReider/SwayNotificationCenter)