Repolode
anomalyco

anomalyco/hokum

A freedesktop notification daemon for Wayland compositors, drawing themed notification cards with the Rune Rust UI framework.

Stars
244
Forks
11
Open issues
1
Last commit
5 days ago

What is it?

Hokum is a notification daemon that implements the org.freedesktop.Notifications D-Bus interface for Wayland compositors that support zwlr_layer_shell_v1, such as niri, sway, Hyprland and river. Its cards are drawn with Rune, a Rust UI framework from the same project, and animate with slide-in transitions and spring-based restacking.

A settings window selects a theme and configures behaviour. Eight built-in themes are available, and custom themes can be written in a documented format. All configuration lives in a single config.kdl file that the settings window edits while keeping comments, and hand edits apply on save. Per-app rules control muting, display duration and whether an app can bypass Do not disturb.

The cards support action buttons, click-to-activate with an XDG activation token, progress bars, in-place replacement for volume and brightness popups, and critical notifications that stay until dismissed. Command-line subcommands such as dismiss, invoke and dnd let keybindings and status bars control it, and the service can check for new builds and update itself after a click.

Key features

  • 01Implements the freedesktop notification D-Bus interface on Wayland layer-shell compositors
  • 02Cards drawn with the Rune Rust UI framework, with slide-in and spring animations
  • 03Eight built-in themes plus custom themes in a documented format
  • 04Single config.kdl file edited from the settings window or by hand
  • 05Per-app muting, display duration and Do not disturb exemptions
  • 06Command-line control for dismiss, invoke and Do not disturb, usable from keybindings and bars

Use cases

  • Getting desktop notifications on a tiling Wayland setup such as sway or Hyprland
  • Replacing mako, dunst or swaync with a themeable notification daemon
  • Wiring keybindings or a status bar to dismiss notifications or toggle Do not disturb

Quick start

  1. 1

    Install from the AUR

    paru -S hokum-bin
  2. 2

    Start Hokum with your session and stop other notification daemons holding the name

    systemctl --user enable --now hokum.service
  3. 3

    Open the settings window

    hokum

Things to know

  • Only works on Wayland compositors that support zwlr_layer_shell_v1, such as niri, sway, Hyprland and river.
  • Some desktop shells act as the notification server and must have their own notifications turned off first.
  • By default it checks an update server hourly, and it only updates after you click, unless you disable checks.

In collections

Topics

FAQ

What is hokum?
A freedesktop notification daemon for Wayland compositors, drawing themed notification cards with the Rune Rust UI framework. Hokum is a notification daemon that implements the org.freedesktop.Notifications D-Bus interface for Wayland compositors that support zwlr_layer_shell_v1, such as niri, sway, Hyprland and river. Its cards are drawn with Rune, a Rust UI framework from the same project, and animate with slide-in transitions and spring-based restacking.
Is hokum free to use? What license does it have?
hokum is open source under the MIT license. Check the license terms before using it in commercial products.
Is hokum still maintained?
Actively maintained. The last commit to hokum was on Nov 1, 2026.
What can I use hokum for?
Getting desktop notifications on a tiling Wayland setup such as sway or Hyprland Replacing mako, dunst or swaync with a themeable notification daemon Wiring keybindings or a status bar to dismiss notifications or toggle Do not disturb
How do I install hokum?
Install from the AUR: paru -S hokum-bin Start Hokum with your session and stop other notification daemons holding the name: systemctl --user enable --now hokum.service Open the settings window: hokum
Where can I get hokum?
The source code and installation instructions are on GitHub: https://github.com/anomalyco/hokum

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects