mirror of
https://github.com/ErikReider/SwayNotificationCenter.git
synced 2024-10-27 09:57:32 +03:00
37142fcb37
* Close control center when clearing all notifications * make hide on clear configurable, disabled by default
107 lines
3.1 KiB
Markdown
107 lines
3.1 KiB
Markdown
# SwayNotificationCenter
|
|
|
|
A simple notification daemon with a GTK gui for notifications and the control center
|
|
|
|
## 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](https://aur.archlinux.org/packages/swaync-git/)
|
|
|
|
Other:
|
|
|
|
```zsh
|
|
meson build
|
|
ninja -C build
|
|
meson install -C build
|
|
```
|
|
|
|
## Sway Usage
|
|
|
|
```ini
|
|
# Notification Daemon
|
|
exec swaync
|
|
|
|
# Toggle control center
|
|
bindsym $mod+Shift+n exec swaync-client -t -sw
|
|
```
|
|
|
|
## Run
|
|
|
|
To start the daemon (remember to kill any other notification daemon before running)
|
|
|
|
```zsh
|
|
./build/src/swaync
|
|
```
|
|
|
|
To toggle the panel
|
|
|
|
```zsh
|
|
./build/src/swaync-client -t
|
|
```
|
|
|
|
To reload the config
|
|
|
|
```zsh
|
|
./build/src/swaync-client -R
|
|
```
|
|
|
|
## Control Center 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`, `right` or `center`
|
|
- `positionY`: `top` or `bottom`
|
|
- `timeout`: uint (Any positive number). The notification timeout for notifications with normal priority
|
|
- `timeout-low`: uint (any positive number without decimals). The notification timeout for notifications with low priority
|
|
- `timeout-critical`: uint (any positive number without decimals, 0 to disable). The notification timeout for notifications with critical priority
|
|
- `keyboard-shortcuts`: `true` or `false`. If control center should use keyboard shortcuts
|
|
- `image-visibility`: `always`, `when-available` or `never`. Notification image visiblilty
|
|
- `transition-time`: uint (Any positive number, 0 to disable). The notification animation duration
|
|
- `notification-window-width`: uint (Any positive number). Width of the notification in pixels
|
|
- `hide-on-clear`: bool. Hides the control center after pressing "Clear All"
|
|
|
|
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](./assets/desktop.png)
|
|
|
|
![Screenshot of panel](./assets/panel.png)
|
|
|
|
I wonder how this would look with some blur 🤔
|