.\" Generated by scdoc 1.11.3 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "swaync" "1" "2024-08-04" .PP .SH NAME .PP swaync - A simple notification daemon with a GTK gui for notifications and the control center .PP .SH USAGE .PP \fBswaync\fR [option] .PP .SH OPTIONS .PP \fB-h, --help\fR .RS 4 Show help options .PP .RE \fB-v, --version\fR .RS 4 Prints version .PP .RE \fB-s, --style\fR .RS 4 Use a custom Stylesheet file .PP .RE \fB-c, --config\fR .RS 4 Use a custom config file .PP .RE .SH Control Center Keyboard Shortcuts .PP \fBUp/Down\fR: Navigate notifications .PP \fBHome\fR: Navigate to the latest notification .PP \fBEnd\fR: Navigate to the oldest notification .PP \fBEscape/Caps_Lock\fR: Close notification panel .PP \fBReturn\fR: Execute default action or close notification if none .PP \fBDelete/BackSpace\fR: Close notification .PP \fBShift+C\fR: Close all notifications .PP \fBShift+D\fR: Toggle Do Not Disturb .PP \fBButtons 1-9\fR: Execute alternative actions .PP \fBLeft click button / actions\fR: Activate notification action .PP \fBRight click notification\fR: Close notification .PP .SH CONFIGURATION .PP The main config file is located in \fB/etc/xdg/swaync/config.\&json\fR.\& Copy it over to your \fB~/.\&config/swaync/\fR folder to customize without needing root access.\& .PP To reload the config, you'\&ll need to run \fBswaync-client --reload-config\fR .PP For information on the config file format, see \fBswaync\fR(5) .PP .PP .SH Scripting .PP Scripting rules and logic: .PP .PD 0 .IP 1. 4 \fBOnly one\fR script can be fired per notification .IP 2. 4 Each script requires `exec` and at least one of the other properties .IP 3. 4 All listed properties must match the notification for the script to be ran .IP 4. 4 If any of the properties doesn'\&t match, the script will be skipped .IP 5. 4 If a notification doesn'\&t include one of the properties, that property will be skipped .PD .PP Notification information can be printed into a terminal by running \fBG_MESSAGES_DEBUG=all swaync\fR (when a notification appears).\& .PP Config properties: .PP .nf .RS 4 { "scripts": { "example-script": { "exec": "Your shell command or script here\&.\&.\&.", "app-name": "Notification app-name Regex", "summary": "Notification summary Regex", "body": "Notification body Regex", "urgency": "Low or Normal or Critical", "category": "Notification category Regex" } } other non scripting properties\&.\&.\&. } .fi .RE .PP \fBconfig.\&json\fR example: .PP .nf .RS 4 { "scripts": { // This script will only run when Spotify sends a notification containing // that exact summary and body "example-script": { "exec": "~/\&.config/swaync/myRickRollScript\&.sh", "app-name": "Spotify" "summary": "Never Gonna Give You Up", "body": "Rick Astley - Whenever You Need Somebody" } } other non scripting properties\&.\&.\&. } .fi .RE .PP .SS Disable scripting .PP To completely disable scripting, the project needs to be built like so: .PP .nf .RS 4 meson build -Dscripting=false ninja -C build meson install -C build .fi .RE .PP .SH Waybar Example .PP This example requires \fBNotoSansMono Nerd Font\fR to get the icons looking right .PP Waybar config .PP .nf .RS 4 "custom/notification": { "tooltip": false, "format": "{icon}", "format-icons": { "notification": "", "none": "", "dnd-notification": "", "dnd-none": "", "inhibited-notification": "", "inhibited-none": "", "dnd-inhibited-notification": "", "dnd-inhibited-none": "" }, "return-type": "json", "exec-if": "which swaync-client", "exec": "swaync-client -swb", "on-click": "swaync-client -t -sw", "on-click-right": "swaync-client -d -sw", "escape": true }, .fi .RE .PP Waybar css file .PP .nf .RS 4 #custom-notification { font-family: "NotoSansMono Nerd Font"; } .fi .RE