ramble-daemon

Native Linux desktop-notification daemon for Ramble. Rust + D-Bus.

Rust MIT created updated
readme · slastra/ramble-daemon

Ramble Daemon

Native Linux desktop notifications for Ramble - an ephemeral, RAM-based chat application.

What It Does

Ramble Daemon provides desktop notifications for chat messages while you're away from the web app. It intelligently suppresses notifications when you're actively using Ramble, so you only get notified when needed.

Installation

Prerequisites

  • Linux with D-Bus notification support (dunst, mako, notification-daemon, etc.)
  • Rust 1.70+ for building from source

Build and Install

git clone https://github.com/yourusername/ramble-daemon.git
cd ramble-daemon
cargo build --release
cp target/release/ramble-daemon ~/.local/bin/

Or use the install script:

./install.sh

Configuration

Create ~/.config/ramble/config.toml:

username = "your-username"
server_url = "https://ramble.chat"
local_port = 9001
log_level = "info"
reconnect_delay = 5
notification_timeout = 5

Or run the setup wizard:

ramble-daemon setup

Usage

Start the daemon:

ramble-daemon

Auto-Start with Systemd

Create ~/.config/systemd/user/ramble-daemon.service:

[Unit]
Description=Ramble Daemon
After=network.target

[Service]
Type=simple
ExecStart=%h/.local/bin/ramble-daemon
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target

Enable and start:

systemctl --user enable --now ramble-daemon

How It Works

The daemon connects to the Ramble server via Server-Sent Events (SSE) to receive real-time messages. The web app communicates its activity status to the daemon via HTTP on localhost. Notifications only appear when the web app is inactive and the message is from someone else.

License

MIT

Contributing

Contributions are welcome. Please open an issue or pull request.