A simple GTK based notification daemon for SwayWM
Go to file
2021-11-17 20:44:12 +01:00
assets Panel image is correct image 2021-11-17 20:44:12 +01:00
src Added basic breeze-gtk theme compat 2021-11-10 18:07:29 +01:00
.gitignore Initial PKGBUILD 2021-07-30 18:59:06 +02:00
.uncrustify.cfg Initial commit 2021-07-27 21:58:52 +02:00
COPYING Initial commit 2021-07-27 21:58:52 +02:00
meson.build Bumped swaync version to 0.2 2021-10-13 13:22:17 +02:00
PKGBUILD Bumped swaync version to 0.2 2021-10-13 13:22:17 +02:00
README.md Update README.md 2021-11-16 21:29:21 +01:00

SwayNotificationCenter

A simple notification daemon with a gui built for Sway (potentially any wm with wlroots).

Features

  • Keyboard shortcuts
  • Notification body markup with image support
  • A panel to view previous notifications
  • Show album art for notifications like Spotify
  • Do not disturb
  • Click notification to execute default action
  • Show alternative notification actions
  • Customization through a CSS file
  • Trackpad/mouse gesture to close notification
  • The same features as any other basic notification daemon
  • Basic configuration through a JSON config file
  • Hot-reload config through swaync-client

Planned Features

  • Slick animations 😎
  • Other build scripts than a PKGBUILD (debian and/or RHEL systems)

Install

Arch: The package is available on the AUR

Other:

meson build
ninja -C build
meson install -C build

Sway Usage

# Notification Daemon
exec swaync

# Toggle notification panel
bindsym $mod+Shift+n exec swaync-client -t -sw

Run

To start the daemon (remember to kill any other notification daemon before running)

./build/src/swaync

To toggle the panel

./build/src/swaync-client -t

To reload the config

./build/src/swaync-client -R

Notification Panel Shortcuts

  • Up/Down: Navigate notifications
  • Home: Navigate to the latest notification
  • End: Navigate to the oldest notification
  • Escape/Caps_Lock: Close notification panel
  • Return: Execute default action or close notification if none
  • Delete/BackSpace: Close notification
  • C: Close all notifications
  • D: Toggle Do Not Disturb
  • Buttons 1-9: Execute alternative actions

Configuring

The main config file is located in /etc/xdg/swaync/config.json. Copy it over to your .config/swaync/ folder to customize without needing root access.

To reload the config, you'll need to run swaync-client --reload-config

  • positionX: left or right
  • positionY: top or bottom
  • timeout: uint (Any positive number). The notification timeout for notifications with normal priority
  • timeout-low: uint (any positive number). The notification timeout for notifications with low priority
  • keyboard-shortcuts: Boolean. If control center should use keyboard shortcuts
  • image-visibility: always, when-available or never. Notification image visiblilty

The main CSS style file is located in /etc/xdg/swaync/style.css. Copy it over to your .config/swaync/ folder to customize without needing root access.

Screenshots

Screenshot of desktop notification

Screenshot of panel

I wonder how this would look with some blur 🤔