swaync(1) General Commands Manual swaync(1)

swaync - دیمن ساده اعلان با رابط گرافیکی GTK برای اعلان‌ها و مرکز کنترل

swaync [option]

-h, --help

نمایش گزینه‌های راهنما

-v, --version

چاپ نسخه

-s, --style <CSS file>

استفاده از یک فایل شیوه‌نامه (Stylesheet) سفارشی

--replace

جایگزین کردن نمونه در حال اجرای SwayNotificationCenter

--skip-system-css

صرف‌نظر از تجزیه فایل شیوه‌نامه ارائه‌شده همراه بسته. مناسب برای اشکال‌زدایی CSS

--custom-system-css

انتخاب یک فایل CSS سفارشی برای استفاده به‌عنوان CSS «سیستمی». مناسب برای اشکال‌زدایی CSS

-c, --config <Config file>

استفاده از یک فایل پیکربندی سفارشی

Up/Down: پیمایش اعلان‌ها

Home: رفتن به جدیدترین اعلان

End: رفتن به قدیمی‌ترین اعلان

Escape/Caps_Lock: بستن پنل اعلان‌ها

Return: اجرای کنش پیش‌فرض یا در صورت نبود، بستن اعلان

Delete/BackSpace: بستن اعلان

Shift+C: بستن تمام اعلان‌ها

Shift+D: تغییر وضعیت «مزاحم نشوید» (Do Not Disturb)

Buttons 1-9: اجرای کنش‌های جایگزین

Left click button / actions: فعال‌سازی کنش اعلان

Middle/Right click notification: بستن اعلان

فایل پیکربندی اصلی در مسیر /etc/xdg/swaync/config.json قرار دارد. آن را به پوشه ~/.config/swaync/ خود کپی کنید تا بدون نیاز به دسترسی مدیر سیستم (root) بتوانید آن را سفارشی‌سازی کنید.

برای بارگذاری مجدد پیکربندی، باید دستور swaync-client --reload-config را اجرا کنید.

برای دریافت اطلاعات درباره ساختار فایل پیکربندی، swaync(5) را ببینید.

قوانین و منطق اسکریپت‌نویسی:

1.
به ازای هر اعلان تنها یک اسکریپت می‌تواند اجرا شود
2.
هر اسکریپت نیازمند `exec` و دست‌کم یکی از ویژگی‌های دیگر است
3.
برای اجرا شدن اسکریپت، تمام ویژگی‌های فهرست‌شده باید با اعلان مطابقت داشته باشند
4.
اگر هر یک از ویژگی‌ها مطابقت نداشته باشد، اسکریپت نادیده گرفته خواهد شد
5.
اگر اعلانی فاقد یکی از ویژگی‌ها باشد، آن ویژگی نادیده گرفته می‌شود

اطلاعات اعلان را می‌توان با اجرای دستور G_MESSAGES_DEBUG=all swaync در ترمینال چاپ کرد (هنگامی که یک اعلان ظاهر می‌شود).

ویژگی‌های پیکربندی:

{
	"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...
}

مثال config.json:

{
	"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...
}

برای غیرفعال کردن کامل اسکریپت‌نویسی، پروژه باید به این صورت ساخته شود:

meson build -Dscripting=false
ninja -C build
meson install -C build

این مثال برای نمایش صحیح نشانک‌ها به NotoSansMono Nerd Font نیاز دارد

پیکربندی Waybar:

"custom/notification": {
	"tooltip": false,
	"format": "{icon}",
	"format-icons": {
		"notification": "<span foreground='red'><sup></sup></span>",
		"none": "",
		"dnd-notification": "<span foreground='red'><sup></sup></span>",
		"dnd-none": "",
		"inhibited-notification": "<span foreground='red'><sup></sup></span>",
		"inhibited-none": "",
		"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
		"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
},

فایل css برنامه Waybar:

#custom-notification {
	font-family: "NotoSansMono Nerd Font";
}
2026-03-23