| swaync(1) | General Commands Manual | swaync(1) |
نام (NAME)
swaync - دیمن ساده اعلان با رابط گرافیکی GTK برای اعلانها و مرکز کنترل
نحوه استفاده (USAGE)
swaync [option]
گزینهها (OPTIONS)
-h, --help
-v, --version
-s, --style <CSS file>
--replace
--skip-system-css
--custom-system-css
-c, --config <Config file>
کلیدهای میانبر مرکز کنترل (CONTROL CENTER KEYBOARD SHORTCUTS)
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: بستن اعلان
پیکربندی (CONFIGURATION)
فایل پیکربندی اصلی در مسیر /etc/xdg/swaync/config.json قرار دارد. آن را به پوشه ~/.config/swaync/ خود کپی کنید تا بدون نیاز به دسترسی مدیر سیستم (root) بتوانید آن را سفارشیسازی کنید.
برای بارگذاری مجدد پیکربندی، باید دستور swaync-client --reload-config را اجرا کنید.
برای دریافت اطلاعات درباره ساختار فایل پیکربندی، swaync(5) را ببینید.
اسکریپتنویسی (SCRIPTING)
قوانین و منطق اسکریپتنویسی:
- 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...
}
غیرفعالسازی اسکریپتنویسی (Disable scripting)
برای غیرفعال کردن کامل اسکریپتنویسی، پروژه باید به این صورت ساخته شود:
meson build -Dscripting=false ninja -C build meson install -C build
مثال Waybar (WAYBAR EXAMPLE)
این مثال برای نمایش صحیح نشانکها به 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 |