Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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)