| dunst(5) | Dunst Reference | dunst(5) |
نام (NAME)
dunstrc - فایل پیکربندی dunst
توضیحات (DESCRIPTION)
پیکربندی در قالب مشابه ini به بخشهایی تقسیم شده است. هر بخش با نام آن بخش درون قلابها (کروشهها) آغاز میشود. پس از آن فهرستی از جفتهای کلید-مقدار قرار دارد که تنظیمات را مشخص میکنند. فاصلههای خالی صرفاً جنبهٔ ظاهری دارند و نتیجه را تغییر نمیدهند.
بخش «global» شامل تنظیمات عمومی است که برای تمام dunst اعمال میشوند. باقی تنظیمات را میتوان از طریق قواعد (rules) مشخص کرد و میتوانند در هر بخشی قرار گیرند. این قواعد میتوانند یک اعلان را بر اساس ویژگیهایش تغییر دهند. قواعد پالایشی (filtering) و قواعد تغییردهنده (modifying) وجود دارند. قواعد پالایشی مشخص میکنند که قاعده بر چه اعلانهایی اعمال شود. قواعد تغییردهنده دگرگونیهای اعمالشده بر اعلانهای منطبق را تعیین میکنند. برخی از بخشهای ویژه دارای پالایههای ضمنی هستند که قابل تغییر نیستند. به عنوان مثال، بخش «global» فاقد پالایه است: بر تمام اعلانها اعمال میشود.
برای جزئیات بیشتر به بخش قواعد (RULES) مراجعه کنید.
بخش «experimental» شامل تنظیمات آزمایشی و ناپایدار است. این گزینهها ممکن است بین انتشارها دچار تغییرات ناسازگار شوند. اگر مشکلی در این قابلیتهای جدید پیدا کردید، حتماً آن را گزارش دهید.
بخش سراسری (Global section)
- default_pause_level (مقادیر: [0-100], پیشفرض: 0)
- تعیین سطح مکثی که هنگام راهاندازی dunst اعمال میشود. اعلانها تنها در صورتی نمایش داده میشوند که سطح فوریت (urgency) آنها بالاتر از سطح مکث باشد. برای اطلاعات بیشتر به override_pause_level مراجعه کنید.
- monitor (پیشفرض: 0)
- مشخص میکند اعلانها باید در کدام نمایشگر نشان داده شوند، چه با نام و چه با شماره که از 0 آغاز میشود. تنظیم follow را ببینید.
- follow (مقادیر: [none/mouse/keyboard], پیشفرض: none)
- تعیین
میکند
اعلانها
در یک
پیکربندی
چندنمایشگره
در کجا قرار
گیرند. تمام
مقادیر به
جز none تنظیم
monitor را لغو (override)
میکنند.
در ویلند (Wayland) هیچ تفاوتی بین تمرکز ماوس و صفحهکلید وجود ندارد. هنگامی که از هر یک از آنها استفاده شود، کامپوزیتور یک خروجی را انتخاب میکند. این معمولاً خروجیای خواهد بود که آخرین بار با آن تعامل شده است.
- enable_posix_regex (پیشفرض: false)
- هنگامی که
روی true تنظیم
شود
(توصیهشده)،
میتوانید
از عبارات
باقاعده POSIX
برای قواعد
پالایش
استفاده
کنید. از
نحو عبارات
باقاعده
تعمیمیافته
POSIX استفاده
میکند:
https://en.m.wikibooks.org/wiki/Regular_Expressions/POSIX-Extended_Regular_Expressions.
اگر روی false تنظیم شود (توصیه نمیشود)، dunst از fnmatch(3) برای تطبیق رشتهها استفاده خواهد کرد. Dunst هیچ پرچمی به fnmatch ارسال نمیکند، بنابراین نمیتوانید از الگوهای گسترشیافته بهره ببرید.
نحو POSIX قدرتمندتر است و در نهایت به حالت پیشفرض تبدیل خواهد شد. تفاوتهای اصلی بین POSIX و fnmatch(3) این است که POSIX به جای «*» از «.*» برای نویسههای عمومی (wildcards) استفاده میکند و POSIX اجازه تطبیقهای جزئی بدون نیاز به نویسه عمومی را میدهد. این بدان معناست که الگوی "abc" با تمام رشتههایی که حاوی "abc" هستند، مانند "abcdef"، مطابقت خواهد داشت.
- geometry منسوخشده
- این تنظیم
منسوخ و حذف
شده است. به
گزینههای
width، height، origin،
notification_limit و offset
تقسیم شده
است. برای
مهاجرت
سریع به نحو
جدید،
میتوانید
مقادیر
عددی را از
پیکربندی geometry
قدیمی خود
به صورت زیر
بردارید:
geometry = <width>x<height>+<offset>در پیکربندی جدید میتوانید متغیرهای زیر را تنظیم کنید (حتماً علامتهای منفی را حذف کنید):
width = <width> height = <height> offset = <offset> origin = top-right # یا top-left، یا هر جهت دلخواه دیگر
- width
- عرض پنجره
اعلان بر
حسب پیکسل.
میتواند
یک عدد واحد
برای تعیین
عرض ثابت
باشد یا دو
عدد برای
حداقل و
حداکثر عرض.
اعلان در
صورت نیاز
از حداقل
عرض گسترش
مییابد.
مثالها:
width = 300 # عرض ثابت ۳۰۰ width = (0, 300) # عرض بین ۰ و ۳۰۰
هنگام تنظیم عرضی بزرگتر از صفحه نمایش، dunst عرض را به عرض صفحه محدود میکند. بنابراین اگر میخواهید اعلان به صورت پویا کل صفحه را بپوشاند، میتوانید عرض را روی عددی به اندازه کافی بزرگ تنظیم کنید که هیچیک از نمایشگرهای شما از آن فراتر نرود (مثلاً 10000).
- height
- ارتفاع هر
اعلان بر
حسب پیکسل.
میتواند
یک عدد واحد
برای تعیین
ارتفاع
ثابت یا دو
عدد برای
حداقل و
حداکثر
ارتفاع
باشد. اعلان
در صورت
نیاز از
حداقل
ارتفاع
گسترش
مییابد.
مثالها:
height = 300 # ارتفاع ثابت ۳۰۰ height = (0, 300) # ارتفاع بین ۰ و ۳۰۰
توجه داشته باشید که برخلاف عرض، اعلانهای مختلف میتوانند مقادیر ارتفاع متفاوتی داشته باشند.
نسخه v1.11 و قدیمیتر dunst از ارتفاع پویا پشتیبانی نمیکنند و height یک مقدار واحد را میپذیرد که رفتار آن معادل (0, value) است.
- notification_limit (پیشفرض: 20)
- تعداد اعلانهایی که میتوانند در یک زمان ظاهر شوند. با رسیدن به این حد، هر اعلان اضافی در صف قرار میگیرد و هنگامی که اعلانهای در حال نمایش فعلی منقضی شوند یا به صورت دستی بسته شوند، نمایش داده خواهند شد. مقدار 0 به معنای نامحدود است. اگر indicate_hidden برابر با true باشد، حد مشخصشده ۱ واحد کاهش مییابد و آخرین اعلان پیامی خواهد بود که اطلاع میدهد چند اعلان پنهان در انتظار نمایش هستند. برای اطلاعات بیشتر ورودی indicate_hidden را ببینید.
- origin (پیشفرض: top-right)
- مبدأ پنجره
اعلان بر
روی صفحه
نمایش. سپس
میتواند
با offset
جابهجا
شود. مبدأ
میتواند
یکی از
موارد زیر
باشد:
top-left top-center top-right bottom-left bottom-center bottom-right left-center center right-center
- offset (قالب: (horizontal, vertical), پیشفرض: (10, 50))
- به ترتیب
فاصله
(آفست) افقی
و عمودی بر
حسب پیکسل
از گوشه
صفحه نمایش
مشخصشده
توسط origin.
آفست منفی
منجر به
قرار گرفتن
اعلان در
خارج از
صفحه
میشود.
مثالها:
origin = top-right offset = (10, 300) # حاشیه ۱۰ پیکسلی از راست و ۳۰۰ پیکسلی از بالا
نسخه v1.11 و قدیمیتر dunst به جای آن از نحو NxN استفاده میکنند (آفست X در آفست Y). برای سازگاری با گذشته، این نحو نیز پذیرفته میشود.
offset = 10x300
- scale (پیشفرض: 0) (فقط X11)
- ضریب مقیاس را برای ابعاد جهت تطبیق اعلانها با نمایشگرهای HiDPI مشخص میکند. این مقیاس هندسه اعلان و محتویات آن را مقیاسبندی میکند. استفاده از ضریب مقیاس کسری توصیه نمیشود، زیرا ممکن است باعث شود اشیاء یک پیکسل جابهجا شوند. سعی کنید از ضریب مقیاس عدد صحیح استفاده کرده و اندازه قلم و سایر اندازهها را در صورت نیاز تنظیم کنید. اگر 0 مشخص شود، ضریب مقیاس به طور خودکار تشخیص داده میشود.
- progress_bar (مقادیر: [true/false], پیشفرض: true)
- هنگامی که یک مقدار عدد صحیح به عنوان نشانه (hint) به dunst ارسال میشود (به بخش NOTIFY-SEND مراجعه کنید)، یک نوار پیشرفت در پایین اعلان ترسیم خواهد شد. این رفتار را میتوان با تنظیم این گزینه روی false غیرفعال کرد.
- progress_bar_horizontal_alignment (مقادیر: [left/center/right], پیشفرض: center)
- تراز افقی نوار پیشرفت. نوار پیشرفت همیشه فاصله horizontal_padding را از لبه اعلان حفظ میکند.
- progress_bar_height (پیشفرض: 10)
- ارتفاع نوار پیشرفت بر حسب پیکسل. این مقدار شامل کادر نیز میشود. اطمینان حاصل کنید که این مقدار بیشتر از دو برابر عرض کادر باشد.
- progress_bar_min_width (پیشفرض: 150)
- حداقل عرض نوار پیشرفت بر حسب پیکسل. اعلان برای جا گرفتن نوار تغییر اندازه میدهد.
- progress_bar_max_width (پیشفرض: 300)
- حداکثر عرض نوار پیشرفت بر حسب پیکسل. اعلان برای جا گرفتن نوار پیشرفت تغییر اندازه میدهد.
- progress_bar_frame_width (پیشفرض: 1)
- عرض کادر نوار پیشرفت بر حسب پیکسل. این مقدار باید کوچکتر از نصف ارتفاع نوار پیشرفت باشد.
- progress_bar_corner_radius (پیشفرض: 0)
- شعاع گوشه
نوار
پیشرفت بر
حسب پیکسل.
به نوار
پیشرفت
گوشههای
گرد میدهد.
برای
غیرفعال
کردن روی 0
تنظیم کنید.
اگر progress_bar_corners روی none تنظیم شده باشد، این تنظیم نادیده گرفته خواهد شد.
- progress_bar_corners (پیشفرض: all)
- مشخص
میکند
هنگام
ترسیم نوار
پیشرفت
کدام
گوشهها
گرد شوند.
اگر progress_bar_corner_radius
روی 0 تنظیم
شود، این
گزینه
نادیده
گرفته
میشود.
برای قالب مقدار به تنظیم corners مراجعه کنید.
- icon_corner_radius (پیشفرض: 0)
- شعاع گوشه
تصویر
آیکون بر
حسب پیکسل.
به آیکون
گوشههای
گرد میدهد.
برای
غیرفعال
کردن روی 0
تنظیم کنید.
اگر icon_corners روی none تنظیم شود، این تنظیم نادیده گرفته خواهد شد.
- icon_corners (پیشفرض: all)
- مشخص
میکند
هنگام
ترسیم
تصویر
آیکون کدام
گوشهها
گرد شوند.
اگر icon_corner_radius روی 0
تنظیم شود،
این گزینه
نادیده
گرفته
میشود.
برای قالب مقدار به تنظیم corners مراجعه کنید.
- اگر روی true
تنظیم شود،
اعلانی که
نشان
میدهد چه
تعداد
اعلان به
دلیل
محدودیت
اعلانها
(به notification_limit
مراجعه
کنید) نمایش
داده
نمیشوند،
به جای
آخرین
جایگاه
اعلان
نشان داده
خواهد شد.
بدین معنی که در صورت فعال بودن، تعداد اعلانهای قابل مشاهده ۱ عدد کمتر از مقدار مشخصشده در notification_limit خواهد بود و آخرین جایگاه به شمارش اعلانهای پنهان اختصاص مییابد.
- transparency (پیشفرض: 0) (فقط X11)
- محدودهای
از ۰ تا ۱۰۰
برای میزان
شفافیت
پنجره
اعلان؛ ۰
کاملاً مات
و ۱۰۰
کاملاً
نامرئی است.
این گزینه روی کل پنجره تأثیر میگذارد. برای شفاف کردن تنها بخشهایی از یک پنجره، کانال آلفا را در یک رنگ تنظیم کنید، به بخش رنگها (COLORS) مراجعه کنید.
برای شفاف کردن پنجرهها در ویلند، بخش شفاف یک رنگ را تنظیم کنید، به COLORS مراجعه کنید.
این تنظیم تنها در صورتی کار میکند که یک کامپوزیتور در حال اجرا باشد.
- separator_height (پیشفرض: 2)
- ارتفاع خط جداکننده بین اعلانها بر حسب پیکسل؛ اگر روی 0 تنظیم شود هیچ خط جداکنندهای بین اعلانها وجود نخواهد داشت. اگر gap_size بیشتر از 0 باشد، این تنظیم نادیده گرفته میشود.
- padding (پیشفرض: 8)
- فاصله بر حسب پیکسل از محتوا تا جداکننده/کادر پنجره در محور عمودی.
- horizontal_padding (پیشفرض: 8)
- فاصله بر حسب پیکسل از محتوا تا کادر پنجره در محور افقی.
- text_icon_padding (پیشفرض: 0)
- فاصله بر
حسب پیکسل
از متن تا
آیکون (یا
برعکس) در
محور افقی.
تنظیم این مقدار به عددی غیر صفر، هرگونه فاصلهگذاری که horizontal_padding بین متن اعلان و آیکون اضافه میکرد را بازنویسی میکند.
بنابراین برای مثال تنظیم:
text_icon_padding=10 horizontal_padding=10
معادل است با:
text_icon_padding=0 horizontal_padding=10
- frame_width (پیشفرض: 3)
- عرض کادر دور پنجره اعلان را بر حسب پیکسل تعیین میکند. برای غیرفعال کردن روی 0 تنظیم کنید.
- gap_size (پیشفرض: 0)
- اندازه
شکاف
(فاصله)
برای نمایش
بین
اعلانها.
اگر مقدار بیشتر از 0 باشد، separator_height نادیده گرفته میشود و در عوض حاشیهای با اندازه frame_width دور هر اعلان کشیده میشود.
این تنظیم به یک کامپوزیتور نیاز دارد و هر برنامهای که در میان شکافها نمایش داده میشود در حال حاضر قابل کلیک نیست.
- separator_color (مقادیر: [auto/foreground/frame/#RRGGBB], پیشفرض: frame)
- رنگ خط جداکننده بین دو اعلان را تنظیم میکند.
- auto
- دوانست سعی میکند به طور خودکار رنگی متناسب با طرح رنگ بقیه اعلان پیدا کند.
- foreground
- رنگ برابر با رنگ پیشزمینه بالاترین اعلانی که جدا میشود تنظیم خواهد شد.
- frame
- رنگ برابر با رنگ کادر اعلانی با بالاترین فوریت در میان ۲ اعلانی که جدا میشوند تنظیم خواهد شد.
- هر مقدار دیگر
- هر مقدار دیگری به عنوان رنگ تفسیر میشود، به بخش COLORS مراجعه کنید.
- sort (مقادیر: [true/false/id/urgency_ascending/urgency_descending/update], پیشفرض: true)
- اگر روی true یا
urgency_descending تنظیم
شود،
اعلانهای
با فوریت
بالاتر را
بالاتر از
بقیه نمایش
میدهد:
ابتدا
بحرانی (critical)،
سپس عادی (normal)،
سپس
کماهمیت (low).
اگر روی false یا id تنظیم شود، اعلانها بر اساس شناسه (id) مرتب میشوند.
اگر روی urgency_ascending تنظیم شود، اعلانها به ترتیب صعودی فوریت مرتب میشوند: ابتدا کماهمیت، سپس عادی، سپس بحرانی.
اگر روی update تنظیم شود، اعلانها بر اساس update_time خود مرتب میشوند؛ بنابراین تازهترین همیشه در بالا قرار دارد. این بدان معناست که اگر sort را روی update و stack_duplicates را روی true تنظیم کنید، مورد تکراری همیشه در بالا خواهد بود.
هنگامی که پنجره اعلان در پایین صفحه باشد، این ترتیب به طور خودکار معکوس میشود.
- idle_threshold (پیشفرض: 0)
- اگر کاربر
بیش از این
مدت بیکار (idle)
باشد، زمان
انقضای
اعلانها
به پایان
نرسد. برای
زمانهای
معتبر به
بخش قالب
زمان (TIME FORMAT)
مراجعه
کنید.
برای غیرفعال کردن روی 0 تنظیم کنید.
یک کلاینت میتواند اعلان را به عنوان گذرا (transient) علامتگذاری کند تا این تنظیم را دور زده و در هر صورت منقضی شود. از یک قاعده با «set_transient = no» برای غیرفعال کردن این رفتار استفاده کنید.
توجه: این قابلیت روی xwayland کار نمیکند.
- layer (مقادیر: [bottom/top/overlay], پیشفرض: overlay) (فقط ویلند)
- اعلانهای
dunst را در لایه
انتخابشده
قرار
میدهد.
استفاده از
overlay باعث
میشود
اعلانها
بالای
پنجرههای
تمامصفحه
نمایش داده
شوند،
هرچند بسته
به
کامپوزیتور
شما ممکن
است در top نیز
رخ دهد.
لایه bottom زیر تمام پنجرهها و بالای پسزمینه قرار دارد.
- force_xwayland (مقادیر: [true/false], پیشفرض: false) (فقط ویلند)
- استفاده از
خروجی X11 را
حتی در
کامپوزیتور
ویلند
اجبار
میکند. این
تنظیم
هنگام عدم
استفاده از
کامپوزیتور
ویلند هیچ
تأثیری
ندارد.
اگر dunst بدون پشتیبانی X11 کامپایل شده باشد، این تنظیم نادیده گرفته میشود.
- font (پیشفرض: "Monospace 8")
- قلم یا
مجموعه
قلمهای
مورد
استفاده را
تعیین
میکند. به
صورت
اختیاری
اندازه را
به عنوان یک
عدد اعشاری
پس از نام
قلم و فاصله
تنظیم کنید.
گزینههای
چندگانه
قلم را
میتوان با
ویرگول از
هم جدا کرد.
این گزینه به عنوان توصیف قلم Pango تجزیه میشود. اطلاعات بیشتر در مورد قالب رشته را میتوان در اینجا یافت: https://docs.gtk.org/Pango/type_func.FontDescription.from_string.html.
- line_height (پیشفرض: 0)
- میزان فاصله اضافی بین خطوط متن بر حسب پیکسل. برای غیرفعال کردن روی 0 تنظیم کنید.
- format (پیشفرض: "<b>%s</b>\n%b")
- مشخص
میکند
ویژگیهای
مختلف
اعلان
چگونه باید
روی پنجره
اعلان
قالببندی
شوند.
صرفنظر از وضعیت تنظیم markup، هرگونه برچسب نشانهگذاری موجود در قالب تجزیه خواهد شد. توجه داشته باشید که به همین دلیل، اگر یک علامت امپرسند لفظی (&) مورد نیاز باشد، باید به صورت «&» فرار داده (escape) شود.
اگر «\n» یا «\t» در هر کجای قالب وجود داشته باشد، به ترتیب با یک خط جدید یا نویسه تب جایگزین میشود.
اگر هر یک از رشتههای زیر وجود داشته باشد، با ویژگی اعلان معادل جایگزین میشود.
برای مرجع کامل نشانهگذاری، به https://docs.gtk.org/Pango/pango_markup.html مراجعه کنید.
- %a نام برنامه (appname)
- %s خلاصه (summary)
- %b بدنه (body)
- %c دستهبندی (category)
- %S برچسب پشته (stack_tag)
- %i نام آیکون (به همراه مسیر آن)
- %I نام آیکون (بدون مسیر آن)
- %p مقدار پیشرفت ([ 0%] تا [100%])
- %n مقدار پیشرفت بدون نویسههای اضافی
- %% علامت % لفظی
اگر هر یک از این موارد در قالب وجود داشته باشد اما در اعلان مشخص نشده باشد (مثلاً آیکونی تنظیم نشده باشد)، نگهدارندهها به سادگی از قالب حذف خواهند شد.
- vertical_alignment (مقادیر: [top/center/bottom], پیشفرض: center)
- مشخص میکند متن و آیکون چگونه باید به صورت عمودی درون اعلان تراز شوند.
- show_age_threshold (پیشفرض: 60)
- اگر پیام
قدیمیتر
از این مدت
باشد، سن
پیام را
نشان
میدهد.
برای
زمانهای
معتبر به
بخش TIME FORMAT
مراجعه
کنید.
برای غیرفعال کردن روی -1 تنظیم کنید.
- ignore_newline (مقادیر: [true/false], پیشفرض: false)
- اگر روی true تنظیم شود، نویسههای خط جدید در اعلانها را با فاصله خالی جایگزین میکند.
- stack_duplicates (مقادیر: [true/false], پیشفرض: true)
- اگر روی true
تنظیم شود،
اعلانهای
تکراری به
جای نمایش
جداگانه
روی هم
انباشته (stack)
میشوند.
دو اعلان در صورتی تکراری در نظر گرفته میشوند که نام برنامهای که آن را ارسال کرده، خلاصه، بدنه، آیکون و فوریت همگی یکسان باشند.
- hide_duplicate_count (مقادیر: [true/false], پیشفرض: false)
- تعداد اعلانهای تکراری انباشتهشده را پنهان میکند.
- show_indicators (مقادیر: [true/false], پیشفرض: true)
- اگر اعلانی شامل کنشها (actions) و/یا نشانیهای وب قابل باز شدن باشد، یک نشانگر نمایش داده میشود. برای جزئیات بیشتر به بخش ACTIONS در زیر مراجعه کنید.
- icon_path (پیشفرض: "/usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/")
- میتواند
به فهرستی
از مسیرهای
جداشده با
دونقطه
برای
جستجوی
آیکونهای
مورد
استفاده در
اعلانها
تنظیم شود.
Dunst خارج از این شاخهها را جستجو نمیکند. برای سامانه بازگشتی جستجوی آیکون، به enable_recursive_icon_lookup مراجعه کنید. این سامانه جدید در نهایت جایگزین جستجوی icon_path خواهد شد.
- icon_theme (پیشفرض: "Adwaita", مثال: "Adwaita, breeze")
- فهرست
جداشده با
ویرگول از
نام
پوستههای
مورد
استفاده
برای
جستجوی
آیکونها.
این باید
نام
شاخهای
باشد که
پوسته در آن
قرار دارد،
نه نام
نمایشی و
کاربرپسند
پوسته.
بنابراین
برای مثال،
پوسته Breeze Dark
در /usr/share/icons/breeze-dark
قرار دارد.
در این حالت
باید پوسته
را روی breeze-dark
تنظیم کنید.
اولین پوسته در فهرست مهمترین است. تنها در صورتی که آیکون در آن پوسته یافت نشود، پوسته بعدی امتحان خواهد شد.
Dunst پوستهها را در XDG_DATA_HOME/icons و $XDG_DATA_DIRS/icons طبق مشخصات پوسته آیکون جستجو میکند: https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html.
اگر پوسته از پوستههای دیگر ارثبری کند، از آنها به عنوان پشتیبان استفاده خواهد شد.
این تنظیم به صورت پیشفرض فعال نیست. برای نحوه فعالسازی به enable_recursive_icon_lookup مراجعه کنید.
- enable_recursive_icon_lookup (پیشفرض: false)
- این تنظیم
روش جدید
جستجوی
آیکون را
فعال
میکند. این
سامانه
جدید در
نهایت
جایگزین
جستجوی
قدیمی
آیکون
خواهد شد.
در حال حاضر آیکونها در icon_path جستجو میشوند. از آنجا که icon_path بازگشتی نبود، کاربر مجبور بود مسیرهای زیادی را به این فهرست اضافه کند. این فرایند با روش جدید جستجو به شدت ساده شده است. اکنون فقط باید icon_theme را روی نام پوسته مورد نظر خود تنظیم کنید. برای فعال کردن این رفتار جدید، enable_recursive_icon_lookup را در بخش [global] روی true تنظیم کنید. برای جزئیات بیشتر به تنظیمات مربوطه مراجعه کنید.
- sticky_history (مقادیر: [true/false], پیشفرض: true)
- اگر روی true تنظیم شود، اعلانهایی که از تاریخچه فراخوانی شدهاند به طور خودکار منقضی نمیشوند.
- history_length (پیشفرض: 20)
- حداکثر تعداد اعلانهایی که در تاریخچه نگه داشته میشوند. پس از رسیدن به این حد، با رسیدن اعلان جدید، اعلانهای قدیمیتر حذف خواهند شد. به بخش HISTORY مراجعه کنید.
- دستوری که هنگام باز کردن منوی زمینه (context menu) اجرا خواهد شد. باید یک دستور dmenu یا یک منوی سازگار با dmenu باشد.
- browser (پیشفرض: "/usr/bin/xdg-open")
- دستوری که هنگام باز کردن یک نشانی وب (URL) اجرا خواهد شد. نشانی وبی که باید باز شود به انتهای مقدار این تنظیم پیوست خواهد شد.
- always_run_script (مقادیر: [true/false] پیشفرض: true]
- همیشه اسکریپتهای تعریفشده در قواعد را اجرا کند، حتی اگر اعلان با "format = """ سرکوب شده باشد. به بخش SCRIPTING مراجعه کنید.
- title (پیشفرض: "Dunst") (فقط X11)
- عنوان
(ویژگی _NET_WM_NAME)
پنجرههای
اعلان
ایجادشده
توسط dunst را
تعیین
میکند.
برای استفاده معمول نیازی به تغییر این تنظیم نیست.
- class (پیشفرض: "Dunst") (فقط X11)
- کلاس (بخش
اول WM_CLASS)
پنجرههای
اعلان
ایجادشده
توسط dunst را
تعیین
میکند.
برای استفاده معمول نیازی به تغییر این تنظیم نیست.
- force_xinerama (مقادیر: [true/false], پیشفرض: false) (فقط X11)
- استفاده از
افزونه Xinerama به
جای RandR برای
پشتیبانی
از چند
نمایشگر.
این تنظیم
جهت
سازگاری
با
درایورهای
قدیمیتر nVidia
که از RandR
پشتیبانی
نمیکنند
ارائه شده
است و
استفاده از
آن در
سامانههایی
که از RandR
پشتیبانی
میکنند
اکیداً
منع
میشود.
با فعال کردن این تنظیم، dunst قادر نخواهد بود اتصال یا قطع اتصال نمایشگر را تشخیص دهد که در صورت تغییر چیدمان صفحه ممکن است حالت follow را با مشکل مواجه کند.
- corner_radius (پیشفرض: 0)
- شعاع گوشه
را بر حسب
پیکسل
تعیین
میکند.
شعاع گوشه 0
منجر به
اعلانهایی
با شکل
مستطیلی
میشود.
با فعال کردن این تنظیم، حاشیه بیرونی و کادر شکل داده میشوند. اگر چندین اعلان داشته باشید، کل پنجره شکل میگیرد نه تکتک اعلانها، مگر اینکه شکافها فعال باشند (به gap_size مراجعه کنید).
برای جلوگیری از بریده شدن آیکون یا متن توسط گوشهها، اگر شعاع گوشه از نصف ارتفاع اعلان بیشتر شود، به طور خودکار به نصف ارتفاع اعلان کاهش مییابد.
اگر corners روی none تنظیم شده باشد، این تنظیم نادیده گرفته میشود.
- corners (مقادیر: [none/all/bottom-right/bottom-left/top-right/top-left/top/bottom/left/right], پیشفرض: all)
- فهرست
جداشده با
ویرگول از
گوشههایی
که هنگام
ترسیم
پنجره باید
گرد شوند.
اگر شعاع گوشه روی 0 تنظیم شود، این گزینه نادیده گرفته میشود.
- mouse_[left/middle/right]_click (مقادیر: [none/do_action/close_current/close_all/context/context_all])
- کنش کلیک
ماوس را
تعریف
میکند.
ورودی لمسی
در ویلند
مانند کلیک
چپ ماوس عمل
میکند.
فهرستی از
مقادیر،
جداشده با
ویرگول،
میتواند
برای چندین
کنش مشخص
شود تا به
ترتیب اجرا
شوند.
پیشفرضها:
- "mouse_left_click=close_current"
- "mouse_middle_click=do_action, remove_current"
- "mouse_right_click=close_all"
- none
- هیچ کاری انجام نده.
- do_action
- کنش تعیینشده توسط قاعده action_name را فراخوانی میکند. اگر چنین کنشی وجود نداشته باشد، منوی زمینه را باز میکند.
- open_url
- اگر اعلان دقیقاً یک نشانی وب داشته باشد، آن را باز میکند. اگر چندین نشانی وجود داشته باشد، منوی زمینه را باز میکند.
- close_current
- اعلان فعلی را میبندد.
- close_all
- تمام اعلانها را میبندد.
- context
- منوی زمینه را برای اعلان باز میکند.
- context_all
- منوی زمینه را برای تمام اعلانها باز میکند.
- ignore_dbusclose (پیشفرض: false)
- پیام CloseNotification دیباس را نادیده میگیرد. این برای اعمال مهلت زمانی تعیینشده توسط پیکربندی dunst مفید است. بدون این پارامتر، یک برنامه ممکن است اعلان ارسالشده را قبل از مهلت زمانی تعریفشده توسط کاربر ببندد.
- override_pause_level (مقادیر: [0-100], پیشفرض: 0)
- یک اعلان هر
زمان که
override_pause_level آن
بزرگتر از
سطح مکث
باشد ظاهر
خواهد شد.
تنظیم این
مورد به
مقادیری
غیر از 0 به
شما امکان
میدهد
حالتهای
مکث جزئی
ایجاد
کنید، که در
آن
اعلانهای
با فوریت
بیشتر عبور
میکنند،
اما موارد
با فوریت
کمتر در
حالت مکث
باقی
میمانند.
به عنوان مثال، میتوانید override_pause_level یک اعلان باتری ضعیف را روی 60 تنظیم کنید و سپس سطح مکث dunst را روی 60 بگذارید. این باعث میشود dunst فقط اعلان سطح باتری (و سایر اعلانهای با override_pause_level >= 60) را نشان دهد، در حالی که بقیه را به حالت تعلیق درآورد.
میانبرهای صفحهکلید (فقط X11) (Keyboard shortcuts (X11 only))
میانبرهای صفحهکلید در قالب زیر تعریف میشوند: "Modifier+key" که در آن کلید تبدیلکننده (modifier) یکی از موارد ctrl، mod1، mod2، mod3، mod4 و key هر کلیدی از صفحهکلید است.
توجه داشته باشید که میانبرهای صفحهکلید برای سازگاری با سایر تنظیمات به بخش global پیکربندی منتقل شدهاند.
به عنوان روشی دیگر، میتوانید میانبرها را درون مدیر پنجره خود تعریف کرده و آنها را به دستورهای dunstctl(1) متصل کنید.
ویلند به برنامهها اجازه گوش دادن به رویدادهای سراسری صفحهکلید را نمیدهد، بنابراین این قابلیت فقط برای X پیادهسازی شده است.
بخشهای فوریت (Urgency sections)
بخشهای فوریت به روشی مشابه با قواعد کار میکنند و میتوانند برای تعیین ویژگیها برای سطوح مختلف فوریت اعلانها (low، normal، critical) استفاده شوند. در حال حاضر فقط ویژگیهای background، foreground، highlight، timeout، frame_color و icon قابل تغییر هستند.
بخشهای فوریت عبارتند از urgency_low، urgency_normal و urgency_critical به ترتیب برای فوریتهای کم (low)، عادی (normal) و بحرانی (critical).
برای مثالها به فایل پیکربندی نمونه مراجعه کنید.
نسخههای قدیمی dunst امکان تغییر رنگهای فوریتهای مختلف را از طریق گزینههای خط فرمان فراهم میکردند. این مورد مدتهاست به نفع قواعد (RULES) حذف شده است، گزارش شماره ۳۲۸ (#328) را ببینید.
بخش آزمایشی (Experimental section)
- per_monitor_dpi (پیشفرض: false)
- استفاده از DPI متفاوت برای هر نمایشگر. این تنظیم در حال حاضر فقط برای X11 پیادهسازی شده است.
- pause_on_mouse_over (پیشفرض: false)
- مکث در مهلت زمانی اعلان هنگام قرار گرفتن نشانگر ماوس روی آن. این تنظیم در حال حاضر فقط برای Wayland پیادهسازی شده است.
- enable_pcre_regex (پیشفرض: false)
- استفاده از عبارات باقاعده PCRE برای قواعد پالایش. برای اطلاعات بیشتر به https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions مراجعه کنید. این تنظیم enable_posix_regex را لغو میکند.
دستور DUNSTCTL (DUNSTCTL)
اکنون dunst حاوی یک دستور کنترلی خط فرمان است که میتوان از آن برای تعامل با آن استفاده کرد. این دستور از تمام عملکردهایی که پیشتر فقط از طریق میانبرهای صفحهکلید انجام میشدند پشتیبانی میکند و همچنین عملکردهای اضافی فراوانی دارد. برای اطلاعات بیشتر، dunstctl(1) را ببینید.
تاریخچه (HISTORY)
Dunst تعدادی از اعلانها (مشخصشده توسط history_length) را در حافظه ذخیره میکند. این اعلانها را میتوان با فراخوانی dunstctl history مجدداً فراخوانی (یعنی دوباره نمایش) داد (به dunstctl(1) مراجعه کنید). اینکه آیا این اعلانها مانند زمانی که تازه ارسال شدهاند منقضی میشوند یا خیر، به مقدار تنظیم sticky_history بستگی دارد. کنشها پس از بسته شدن اعلان باطل میشوند، بنابراین هنگام بازگرداندن اعلان از تاریخچه نمیتوانید آن کنش را اجرا کنید.
اعلانهای گذشته به ترتیب اولین ورودی-آخرین خروجی (FILO) دوباره نمایش داده میشوند، بدین معنی که فشردن کلید تاریخچه برای یک بار، تازهترین اعلانی را که بسته شده یا زمان آن سر آمده بود نمایش خواهد داد.
ویلند (WAYLAND)
Dunst از نسخه 1.6.0 دارای پشتیبانی از ویلند است. از آنجا که پروتکل Wayland بیشتر بر امنیت تمرکز دارد، برخی مواردی که در X11 امکانپذیر است در ویلند ممکن نیست. این تفاوتها در پیکربندی بازتاب یافتهاند. تغییرات اصلی این است که dunst در ویلند نمیتواند از کلیدهای میانبر سراسری استفاده کند؛ در عوض از dunstctl استفاده کنید.
برخی از ویژگیهای dunst در ویلند ممکن است نیازمند پشتیبانی کامپوزیتور شما از یک پروتکل خاص باشند. Dunst در صورت عدم پشتیبانی از یک ویژگی اختیاری به شما هشدار میدهد و عملکرد مربوطه را غیرفعال میکند.
تشخیص تمامصفحه در ویلند با برخی محدودیتها کار میکند (به fullscreen مراجعه کنید). اگر میخواهید اعلانها روی پنجرههای تمامصفحه ظاهر شوند، layer = overlay را در گزینههای سراسری تنظیم کنید.
توجه داشته باشید که همین محدودیتها هنگام استفاده از XWayland نیز وجود دارند.
اگر چیزی در ویلند به درستی کار نمیکند، لطفاً یک گزارش باگ ارسال کنید. در این فاصله، میتوانید امتحان کنید که آیا خروجی X11 روی ویلند کار میکند یا خیر. برای این کار از force_xwayland = true استفاده کنید.
اگر اعلانهای dunst شما در همان سمتی از صفحه نمایش قرار دارند که نوار وضعیت (status bar) شما قرار دارد، ممکن است متوجه شوید که اعلانها کمی بالاتر یا پایینتر از X11 ظاهر میشوند. این به این دلیل است که اعلان نمیتواند روی نوار وضعیت شما قرار گیرد. اعلانها نسبت به نوار وضعیت شما قرار میگیرند و باعث میشوند به اندازه ارتفاع نوار وضعیت شما بالاتر یا پایینتر ظاهر شوند. ما کاری در مورد این رفتار نمیتوانیم انجام دهیم.
توجه داشته باشید که dunst با استفاده از پروتکل layer shell یک «desktop layer» ایجاد میکند و نه یک پنجره معمولی ویلند. این همانطور که در بالا گفته شد محدودیتهایی دارد؛ به عنوان مثال نمیتوانید عنوان/کلاس پنجره را تنظیم کنید.
قواعد (RULES)
قواعد امکان تغییر مشروط اعلانها را فراهم میکنند. آنها میتوانند در بخشی با هر نامی قرار گیرند، حتی بخشهای ویژه. بخشهای ویژه اجازه افزودن پالایهها را نمیدهند، زیرا به طور پیشفرض دارای پالایههای ضمنی هستند.
- 'global'
- بدون پالایه، با تمام اعلانها مطابقت دارد.
- 'urgency_low', 'urgency_normal' و 'urgency_critical'
- به ترتیب با فوریتهای کم، عادی یا بحرانی مطابقت دارند.
پیکربندی یک قاعده از ۲ بخش تشکیل شده است: تعریف پالایههایی که کنترل میکنند چه زمانی یک قاعده باید اعمال شود و سپس اقداماتی که باید هنگام تطبیق قاعده انجام شوند. همچنین میتوان هیچ پالایهای را مشخص نکرد که در این صورت قاعده با تمام اعلانها مطابقت خواهد داشت.
قواعد به ترتیب ظاهر شدن اعمال میشوند. هشدار: اگر اعلانی توسط یک قاعده تغییر کند، ممکن است بر تطبیق آن توسط قاعدهای بعدی تأثیر بگذارد.
- filtering
- با قواعد
پالایشی
میتوانید
اعلانها
را مطابقت
دهید تا
قواعد را
فقط بر روی
زیرمجموعهای
از
اعلانها
اعمال کنید.
برای قواعد پالایشی که بر اساس رشتهها فیلتر میکنند، میتوانید از عبارات باقاعده استفاده کنید. توصیه میشود enable_posix_regex را روی true تنظیم کنید. سپس میتوانید از نحو عبارات باقاعده تعمیمیافته POSIX استفاده کنید: https://en.m.wikibooks.org/wiki/Regular_Expressions/POSIX-Extended_Regular_Expressions. در نهایت enable_posix_regex به طور پیشفرض فعال خواهد شد.
یک قاعده تطبیقی با انتساب یک ویژگی پالایه به مقداری که میخواهید مطابقت دهید ایجاد میشود. هنگام تطبیق مقادیر از الگوهای انطباق شبیه به پوسته (globbing) پشتیبانی میشود.
اگر چندین عبارت پالایه وجود داشته باشد، همه آنها باید برای اعمال قاعده مطابقت داشته باشند (AND منطقی).
مثالی از قاعدهای که فقط بر روی پیامهای ارسالشده توسط notify-send عمل میکند:
appname="notify-send"
ویژگیهای مجاز در زیر فهرست شدهاند.
- "appname" (همچنین desktop_entry را ببینید)
- نام برنامه
همانطور
که توسط
کلاینت
گزارش شده
است. توجه
داشته
باشید که
این نام
بسته به
زبان و محیط
محلی (locale) مورد
استفاده
اغلب
میتواند
متفاوت
باشد.
توصیه میشود به جای آن از پالایه "desktop_entry" استفاده کنید.
- "body"
- بدنه اعلان
- "category"
- دستهبندی اعلان طبق تعریف مشخصات اعلان. به https://specifications.freedesktop.org/notification-spec/latest/categories.html مراجعه کنید.
- "desktop_entry"
- برنامههای مبتنی بر GLib نام desktop-entry خود را صادر میکنند. در مقایسه با appname، مورد desktop-entry بومیسازی (ترجمه) نخواهد شد.
- "icon"
- آیکون اعلان در قالب یک مسیر فایل. در صورتی که آیکونی موجود نباشد یا به جای آن از یک آیکون خام استفاده شود میتواند خالی باشد. این تنظیم نباید با تنظیم icon در بخش فوریت اشتباه گرفته شود.
- "match_transient"
- تطبیق در
صورتی که
اعلان توسط
کلاینت یا
قاعده
دیگری به
عنوان گذرا
اعلام شده
باشد.
برای جزئیات بیشتر درباره این ویژگی به "set_transient" مراجعه کنید.
- "match_dbus_timeout"
- مهلت زمانی
دیباس
اعلان را که
توسط
کلاینت یا
قاعده
دیگری
تنظیم شده
است مطابقت
میدهد.
برای جزئیات بیشتر به "override_dbus_timeout" مراجعه کنید.
- "msg_urgency"
- فوریت
اعلان را که
توسط
کلاینت یا
قاعده
دیگری
تنظیم شده
است مطابقت
میدهد.
این نام به این دلیل انتخاب شده تا با تلاش برای تغییر فوریت تداخل نداشته باشد.
- "stack_tag"
- برچسب پشته
اعلان را که
توسط
کلاینت یا
قاعده
دیگری
تنظیم شده
است مطابقت
میدهد.
برای اطلاعات بیشتر در مورد برچسبهای پشته به set_stack_tag مراجعه کنید.
- "summary"
- خلاصه، یا همان «عنوان» اعلان را مطابقت میدهد.
- modifying
- یک قاعده
تغییردهنده،
همانند
قاعده
پالایشی،
با انتساب
یک مقدار به
یک ویژگی
اعلان در
تعریف
قاعده
ایجاد
میشود.
ویژگیهای زیر قابل بازنویسی هستند:
- "background"
- رنگ پسزمینه اعلان. برای مقادیر ممکن به بخش COLORS مراجعه کنید.
- "foreground"
- رنگ پیشزمینه اعلان. برای مقادیر ممکن به بخش COLORS مراجعه کنید.
- "highlight"
- رنگ
برجستهسازی
اعلان. این
رنگ برای
رنگآمیزی
نوار
پیشرفت
استفاده
میشود.
برای
مقادیر
ممکن به بخش
COLORS مراجعه
کنید.
همچنین میتوانید مقادیر رنگ اضافی (به عنوان یک فهرست جداشده با ویرگول) تعیین کنید تا یک گرادیان خطی در تمام طول نوار پیشرفت تعریف شود.
- "format"
- معادل تنظیم "format" است.
- "frame_color"
- رنگ کادر اعلان. برای مقادیر ممکن به بخش COLORS مراجعه کنید.
- "fullscreen" (مقادیر: [delay/show/pushback/suppress], پیشفرض: show)
- این ویژگی
مشخص
میکند در
صورت فوکوس
بودن یک
پنجره
تمامصفحه،
اعلانها
چگونه
مدیریت
شوند. به
طور
پیشفرض
روی show
تنظیم شده
است
بنابراین
اعلانها
نشان داده
میشوند.
سایر مقادیر ممکن عبارتند از delay: اعلانهایی که قبلاً نشان داده شدهاند تا زمان بسته شدن یا سرآمدن مهلت به نمایش ادامه میدهند اما اعلانهای جدید متوقف شده و پس از خارج شدن فوکوس از پنجره تمامصفحه نمایش داده میشوند.
یا pushback که معادل delay است با این تفاوت که اعلانهای موجود قبلی به حالت مکث درآمده و پنهان میشوند تا زمانی که فوکوس از پنجره تمامصفحه برداشته شود.
علاوه بر این مقدار suppress نیز وجود دارد. اعلانهای موجود هنگام ورود به حالت تمامصفحه بسته میشوند و اعلانهای جدید مستقیماً به تاریخچه میروند. این شبیه به pushback بدون نمایش مجدد پس از خروج از حالت تمامصفحه است.
در Wayland اگر follow روی mouse یا keyboard تنظیم شده باشد، خروجی که اعلان در آن قرار دارد قابل تشخیص نیست؛ بنابراین dunst در صورت تمامصفحه بودن هر یک از خروجیها، تأخیر (delay) یا تعویق (pushback) ایجاد میکند. از آنجا که پروتکل تمامصفحه نسبتاً جدید است، به نسخه جدیدی از کامپوزیتور نیاز دارید که از آن پشتیبانی کند. در زمان نگارش این متن، به نسخه git نرمافزار sway نیاز خواهید داشت. همچنین به layer مراجعه کنید تا تغییر دهید آیا اعلانها بالای پنجرههای تمامصفحه در Wayland ظاهر شوند یا خیر.
- "min_icon_size" (پیشفرض: 32)
- حداقل
اندازه بر
حسب پیکسل
را برای
آیکونها
تعیین
میکند. اگر
آیکون
بزرگتر یا
مساوی با
مقدار
مشخصشده
باشد، تحت
تأثیر قرار
نخواهد
گرفت. اگر
کوچکتر
باشد،
مقیاس آن
افزایش
مییابد به
طوری که
محور
کوچکتر
معادل
اندازه
مشخصشده
شود.
هنگام استفاده از جستجوی بازگشتی آیکون (به enable_recursive_icon_lookup مراجعه کنید)، تمام آیکونهای یک پوسته به این اندازه خواهند بود.
اگر icon_position روی off تنظیم شده باشد، این تنظیم نادیده گرفته میشود.
- "max_icon_size" (پیشفرض: 128)
- حداکثر
اندازه بر
حسب پیکسل
را برای
آیکونها
تعیین
میکند. اگر
آیکون
کوچکتر یا
مساوی با
مقدار
مشخصشده
باشد، تحت
تأثیر قرار
نخواهد
گرفت. اگر
بزرگتر
باشد،
مقیاس آن
کاهش
مییابد به
طوری که
محور
بزرگتر
معادل
اندازه
مشخصشده
شود.
برای غیرفعال کردن کاهش مقیاس آیکون روی 0 تنظیم کنید.
اگر هر دو گزینه min_icon_size و max_icon_size فعال باشند، دومی اولویت نهایی را دارد.
اگر icon_position روی off تنظیم شده باشد، این تنظیم نادیده گرفته میشود.
- "new_icon"
- آیکون اعلان را بهروزرسانی میکند؛ باید یک مسیر یا نام برای یک تصویر معتبر باشد. این گزینه آیکونی را که با dunstify یا ابزار اعلان دیگری ارسال شده بود بازنویسی میکند. بسط آرگومان با استفاده از wordexp(3) با غیرفعال بودن جایگزینی دستور انجام میشود.
- "icon_position" (مقادیر: [left/right/top/off], پیشفرض: left)
- موقعیت آیکون را در پنجره اعلان تعیین میکند. تنظیم آن روی off آیکونها را غیرفعال میکند.
- "default_icon"
- آیکون پیشفرض اعلان را تعیین میکند؛ باید یک مسیر یا نام برای یک تصویر معتبر باشد. این گزینه آیکونی را که با dunstify یا ابزار اعلان دیگری ارسال شده بود بازنویسی نمیکند. بسط آرگومان با استفاده از wordexp(3) با غیرفعال بودن جایگزینی دستور انجام میشود.
- "set_stack_tag"
- برچسب پشته
را برای
اعلان
تنظیم
میکند؛
اعلانهایی
با برچسب
پشته یکسان
(غیرخالی) و appid
یکسان
جایگزین
یکدیگر
خواهند شد
تا فقط
جدیدترین
آنها قابل
مشاهده
باشد. این
میتواند
مثلاً در
اعلانهای
میزان صدا
یا روشنایی
که فقط
میخواهید
یکی از همان
نوع قابل
مشاهده
باشد، مفید
باشد.
برچسب پشته را میتوان توسط کلاینت با نشانههای 'synchronous'، 'private-synchronous'، 'x-canonical-private-synchronous' یا 'x-dunst-stack-tag' تنظیم کرد.
- "set_transient"
- تعیین
میکند که
آیا اعلان
گذرا در نظر
گرفته شود
یا خیر.
اعلانهای
گذرا تنظیم
idle_threshold را دور
خواهند زد.
به طور پیشفرض اعلانها گذرا در نظر گرفته _نمیشوند_، اما کلاینتها میتوانند با مشخص کردن نشانه 'transient' هنگام ارسال اعلانها، مقدار این گزینه را تعیین کنند.
- "set_category"
- دستهبندی اعلان را تنظیم میکند. برای فهرستی از دستهبندیهای استاندارد به https://specifications.freedesktop.org/notification-spec/latest/categories.html مراجعه کنید.
- "timeout"
- معادل تنظیم "timeout" در بخشهای فوریت است.
- "override_dbus_timeout"
- مهلت زمانی مشخصشده در دیباس را بازنویسی میکند. این گزینه بر "timeout" تقدم دارد.
- "urgency"
- فوریت
اعلان را
تنظیم
میکند.
نکته مهم: این گزینه در حال حاضر ویژگیهای بخشهای *_urgency را دوباره اعمال نمیکند. فوریت تغییریافته فقط در قواعدی که بعداً تعریف شدهاند قابل مشاهده خواهد بود. برای تطبیق آن از "msg_urgency" استفاده کنید.
- "override_pause_level"
- به override_pause_level مراجعه کنید.
- "skip_display"
- تنظیم این گزینه روی true از نمایش اولیه اعلان جلوگیری میکند، اما برای مشاهده بعدی در تاریخچه ذخیره خواهد شد.
- "history_ignore"
- تنظیم این گزینه روی true اعلان را در ابتدا نمایش میدهد، اما از فراخوانی مجدد آن از طریق تاریخچه جلوگیری میکند.
- "action_name" (پیشفرض: "default")
- نام کنشی را که باید در do_action فراخوانی شود تنظیم میکند. در صورت عدم تعیین، کنش تنظیمشده به عنوان کنش پیشفرض یا تنها کنش موجود فراخوانی خواهد شد.
- "word_wrap" (مقادیر: [true/false], پیشفرض: true)
- مشخص میکند در صورتی که خطوط طولانیتر از حداکثر عرض اعلان شوند، آیا متن شکسته شود یا خیر. اگر روی true تنظیم شود، خطوط طولانی به چند خط شکسته میشوند و در صورت لزوم ارتفاع پنجره اعلان برای جا گرفتن آنها افزایش مییابد. اگر متن در پنجره جا نشود، مطابق با ellipsize خلاصهسازی خواهد شد.
- "ellipsize" (مقادیر: [start/middle/end], پیشفرض: middle)
- مشخص میکند خطوط بریدهشده در کجا باید با علامت سهنقطه خلاصهسازی شوند.
- "alignment" (مقادیر: [left/center/right], پیشفرض: left)
- نحوه تراز شدن متن را در اعلان تعیین میکند.
- "hide_text" (مقادیر: [true/false], پیشفرض: false)
- تنظیم این گزینه روی true از نمایش هرگونه متن مربوط به اعلان صرفنظر میکند. آیکون و نوار پیشرفت اعلان همچنان نمایش داده خواهند شد. این گزینه ممکن است برای اعلانهایی که در آنها یک آیکون یا نوار پیشرفت اطلاعات کافی برای اعلان ارائه میدهد (مانند میزان صدای صوتی یا سطح روشنایی) مفید باشد.
- "markup" (مقادیر: [full/strip/no], پیشفرض: no)
- نحوه
مدیریت
نشانهگذاری
(markup) در
اعلانها
را تعیین
میکند.
توجه به این نکته مهم است که نشانهگذاری در گزینه format صرفنظر از مقدار این تنظیم تجزیه خواهد شد.
مقادیر ممکن:
- full
- زیرمجموعه
کوچکی از
نشانهگذاری
html را در
اعلانها
مجاز
میکند:
<b>پررنگ</b> <i>مورب</i> <s>خطخورده</s> <u>زیرخطدار</u>
برای مرجع کامل به https://docs.gtk.org/Pango/pango_markup.html مراجعه کنید.
- strip
- این تنظیم
برای
سازگاری با
برخی
کلاینتهای
معیوب
ارائه شده
است که
نشانهگذاری
ارسال
میکنند
حتی با
اینکه روی
سرور فعال
نشده است.
Dunst سعی میکند نشانهگذاری را حذف (strip) کند اما تجزیه آن سادهانگارانه است، بنابراین استفاده از این گزینه خارج از قواعد تطبیق برای برنامههای خاص اکیداً منع میشود.
برای تطبیق کلاینتهای معیوب خاص به بخش RULES مراجعه کنید.
- no
- تجزیه نشانهگذاری را غیرفعال میکند؛ اعلانهای دریافتی به عنوان متن ساده در نظر گرفته خواهند شد. اگر این گزینه به عنوان یک تنظیم سراسری تعیین شود، dunst اعلام نخواهد کرد که میتواند نشانهگذاری را تجزیه کند.
اسکریپتنویسی (SCRIPTING)
درون قواعد میتوانید با انتساب گزینه 'script' به نام اسکریپتی که باید اجرا شود، اسکریپتی را مشخص کنید که هر بار با تطبیق قاعده اجرا شود.
هنگام فراخوانی اسکریپت، جزئیات اعلانی که آن را راهاندازی کرده از طریق متغیرهای محیطی ارسال خواهد شد. متغیرهای زیر در دسترس هستند: DUNST_APP_NAME، DUNST_SUMMARY، DUNST_BODY، DUNST_ICON_PATH، DUNST_URGENCY، DUNST_ID، DUNST_PROGRESS، DUNST_CATEGORY، DUNST_STACK_TAG، DUNST_URLS، DUNST_TIMEOUT، DUNST_TIMESTAMP و DUNST_DESKTOP_ENTRY.
روش دیگر که کمتر توصیه میشود برای دریافت جزئیات اعلانها از یک اسکریپت، از طریق پارامترهای خط فرمان است. این پارامترها به ترتیب زیر به اسکریپت ارسال میشوند: appname، summary، body، icon_path، urgency.
که در آن DUNST_ICON_PATH یا icon_path مسیر مطلق فایل آیکون است (در صورت وجود). DUNST_URGENCY یا urgency یکی از موارد "LOW"، "NORMAL" یا "CRITICAL" است. DUNST_URLS فهرستی جداشده با خط جدید از نشانیهای وب مرتبط با اعلان است.
توجه داشته باشید که برخی از متغیرها ممکن است خالی باشند.
اگر اعلان سرکوب شده باشد، اسکریپت اجرا نخواهد شد مگر اینکه always_run_script روی true تنظیم شده باشد.
پارامتر script بر اساس wordexp(3) با غیرفعال بودن جایگزینی دستور بسط داده میشود. اگر مقدار بسطیافته یک مسیر مطلق نباشد، شاخههای موجود در متغیر PATH برای یک فایل اجرایی با همان نام جستجو خواهند شد.
رنگها (COLORS)
رنگها مقادیری با قالب #RGB یا #RRGGBB هستند.
همچنین میتوانید با استفاده از قالب #RGBA یا #RRGGBBAA یک مؤلفه شفافیت مشخص کنید.
نکته: نویسه '#' به عنوان توضیح (کامنت) تفسیر میشود، برای استفاده از آن باید کل مقدار درون گیومه قرار گیرد. برای مثال:
separator_color="#123456"
نشانههای NOTIFY-SEND (NOTIFY-SEND HINTS)
Dunst قادر است رنگهای مختلفی را برای یک پیام از طریق notify-send دریافت کند. برای انجام این کار باید با گزینه -h یک نشانه (hint) اضافه کنید. مقدار پیشرفت را نیز میتوان با یک نشانه تنظیم کرد.
توجه: Dunstify با notify-send سازگار است و تمام این تنظیمات به همان صورت کار میکنند.
تمام نشانههای پذیرفتهشده در زیر فهرست شدهاند.
برای توضیحات دقیقتر در مورد برخی گزینهها به بخش RULES مراجعه کنید.
- fgcolor (نوع: string)
- رنگ پیشزمینه.
- bgcolor (نوع: string)
- رنگ پسزمینه.
- frcolor (نوع: string)
- رنگ کادر.
- hlcolor (نوع: string یا آرایهای از string)
- رنگ برجستهسازی.
- value (نوع: int یا uint)
- مقدار پیشرفت.
- image-path (نوع: string)
- نام آیکون.
این
میتواند
یک مسیر یا
صرفاً نام
آیکون باشد.
نام مستعار image_path نیز پشتیبانی میشود.
- image-data (نوع: variant)
- جریانی از
دادههای
خام تصویر.
نامهای مستعار image_data و icon_data نیز پشتیبانی میشوند.
- category (نوع: string)
- دستهبندی.
- desktop-entry (نوع: string)
- مدخل میزکار (desktop entry).
- transient (نوع: int یا boolean)
- مقدار گذرا.
- x-dunst-stack-tag (نوع: string)
- برچسب پشته اعلان. اعلانی با برچسب مشخص، جایگزین اعلان قبلی با همان برچسب خواهد شد.
- x-canonical-private-synchronous (نوع: string)
- نام مستعار برای x-dunst-stack-tag.
چند مثال:
notify-send -h string:fgcolor:#ff4444 "سلام" notify-send -h string:bgcolor:#4444ff -h string:fgcolor:#ff4444 -h string:frcolor:#44ff44 ":)" notify-send -h int:value:42 "در حال پردازش ..." notify-send -h string:x-canonical-private-synchronous:volume "بیصدا"
کنشها (ACTIONS)
Dunst به اعلاندهندهها (یعنی برنامههایی که اعلانها را ارسال میکنند) اجازه میدهد کنشهایی را مشخص کنند. Dunst هم از نمایش نشانگرها برای این کنشها و هم از تعامل با آنها پشتیبانی میکند.
اگر "show_indicators" برابر با true باشد و یک اعلان دارای کنش باشد، عبارت «(A)» به ابتدای قالب اعلان اضافه خواهد شد. به همین ترتیب، عبارت «(U)» به اعلانهای حاوی نشانیهای وب اضافه میشود. تعامل با اعلانهایی که دارای کنش هستند بدون در نظر گرفتن این تنظیم امکانپذیر است، هرچند ممکن است مشخص نباشد کدام اعلانها دارای کنش هستند.
کلید میانبر «context» برای تعامل با این کنشها از طریق نمایش منویی از کنشهای ممکن استفاده میشود. این قابلیت به وجود «dmenu» یا جایگزینی سازگار با dmenu نیاز دارد.
به عنوان روشی دیگر، میتوانید با کلیک وسط روی اعلان، یک کنش را فراخوانی کنید. اگر دقیقاً یک کنش مرتبط وجود داشته باشد، یا یکی به عنوان پیشفرض علامتگذاری شده باشد، همان اجرا میشود. اگر چندین کنش وجود داشته باشد، منوی زمینه نشان داده میشود. همین امر در مورد نشانیهای وب در صورت نبود هیچ کنشی اعمال میشود.
قالب زمان (TIME FORMAT)
زمان میتواند هر مقدار عدد صحیح اعشاری باشد که یک واحد زمان به آن پسوند شده است. اگر هیچ واحدی داده نشود، ثانیه ("s") به عنوان پیشفرض در نظر گرفته میشود.
واحدهای زمانی قابل فهم برای dunst عبارتند از "ms" (میلیثانیه)، "s" (ثانیه)، "m" (دقیقه)، "h" (ساعت) و "d" (روز).
زمان نمونه: "1000ms"، "10m".
گزارش باگها (BUGS)
باگها و پیشنهادات باید در گیتهاب در نشانی https://github.com/dunst-project/dunst/issues گزارش شوند.
حق نشر (COPYRIGHT)
حق نشر 2011-2014 متعلق به Sascha Kruse
حق نشر 2014-2026 متعلق به مشارکتکنندگان Dunst
نرمافزار Dunst تحت مجوز ۳-بندی BSD منتشر شده است، برای اطلاعات بیشتر پرونده LICENSE را ببینید.
اگر احساس میکنید حق نشری نقض شده است، لطفاً به نگهدارندگان ایمیل ارسال کنید.
همچنین ببینید (SEE ALSO)
dunst(1)، dunstctl(1)، dmenu(1)، notify-send(1)، dunstify(1)
| 2026-08-10 | 1.13.2 (2026-03-18) |