sway-bar(5) File Formats Manual sway-bar(5)

sway-bar - فایل پیکربندی و دستورهای نوار swaybar

ابزار Sway امکان پیکربندی swaybar را درون فایل پیکربندی sway فراهم می‌کند.

دستورهای زیر فقط می‌توانند درون فایل پیکربندی استفاده شوند.

id <bar_id>

شناسه (ID) نوار را تعیین می‌کند.

swaybar_command <command>

دستور سفارشی نوار را اجرا می‌کند. مقدار پیش‌فرض swaybar است.

دستورهای زیر را می‌توان هم در فایل پیکربندی و هم در زمان اجرا به کار برد.

bindcode [--release] <event-code> <command>

هنگامی که کلید موش‌پاره (ماوس) فشرده شود (یا اگر --release مشخص شده باشد، هنگام رها شدن کلید)، command را اجرا می‌کند. کلیدها را می‌توان به صورت یک کد رخداد (event code) که از libinput debug-events به دست می‌آید مشخص کرد. برای غیرفعال کردن رفتار پیش‌فرض یک کلید، از دستور nop استفاده کنید.

bindsym [--release] button[1-9]|<event-name> <command>

هنگامی که کلید موش‌پاره فشرده شود (یا در صورت ارائه --release، هنگام رها شدن کلید)، command را اجرا می‌کند. کلیدها را می‌توان به عنوان شماره کلید x11 یا نام رخداد که از libinput debug-events به دست می‌آید مشخص کرد. برای غیرفعال کردن رفتار پیش‌فرض یک کلید، از دستور nop استفاده کنید.

binding_mode_indicator yes|no

نشانگر حالت مقیدسازی کلیدها (binding mode indicator) را فعال یا غیرفعال می‌کند. پیش‌فرض yes است.

font <font>

قلم مورد استفاده در نوار را مشخص می‌کند. مقدار font باید به صورت یک توصیف قلم pango مشخص شود. برای اطلاعات بیشتر درباره توصیف‌های قلم pango، به https://docs.gtk.org/Pango/type_func.FontDescription.from_string.html#description مراجعه کنید.

gaps <all> | <horizontal> <vertical> | <top> <right> <bottom> <left>

فاصله‌ها (gaps) از لبه صفحه برای نوار را تعیین می‌کند. فاصله‌ها را می‌توان به طور یکجا برای همه جهات، به تفکیک افقی/عمودی، یا به تفکیک هر جهت (بالا، راست، پایین، چپ) تنظیم کرد. توجه داشته باشید که فقط لبه‌هایی که با لبه صفحه نمایش در تماس هستند می‌توانند فاصله داشته باشند. برای لبه‌ای که با لبه صفحه تماسی ندارد، فاصله‌های بیرونی فضاهای کاری ممکن است مفید باشند.

height <height>

ارتفاع نوار را تعیین می‌کند. ارتفاع پیش‌فرض (0) با اندازه قلم مطابقت خواهد داشت.

hidden_state hide|show [<bar-id>]

رفتار نوار را هنگام قرار داشتن در حالت hide مشخص می‌کند. وقتی وضعیت پنهان روی hide باشد، نوار به طور معمول پنهان است و تنها با فشردن کلید تبدیل‌کننده (modifier) یا در صورت وجود نشانه‌های فوریت (urgency hints) آشکار می‌شود. وقتی وضعیت پنهان روی show باشد، نوار به طور دائم نمایان بوده و روی فضای کاری فعال فعلی ترسیم می‌شود. پیش‌فرض hide است.

برای سازگاری با i3، ساختار bar hidden_state hide|show [<bar-id>] به همراه ساختار اختصاصی sway یعنی bar <bar-id> hidden_state hide|show پشتیبانی می‌شود. هنگام استفاده از ساختار i3، اگر bar-id حذف شود، hidden_state برای تمام نوارها تغییر خواهد کرد. تلاش برای استفاده از bar <bar-id1> hidden_state hide|show <bar-id2> به دلیل تداخل شناسه‌های نوار با خطا مواجه خواهد شد.

mode dock|hide|invisible|overlay [<bar-id>]

میزان نمایانی نوار را مشخص می‌کند. در حالت dock، نوار به طور دائم در یک لبه صفحه نمایان است. در حالت hide، نوار پنهان است مگر اینکه کلید تبدیل‌کننده فشرده شود، هرچند این رفتار به وضعیت پنهان (hidden state) بستگی دارد. در حالت invisible، به طور دائم پنهان است. در حالت overlay، به طور دائم روی پنجره‌های دیگر نمایش داده می‌شود (در حالت overlay نوار نسبت به رخدادهای ورودی شفاف است و آن‌ها را دریافت نمی‌کند). مقدار پیش‌فرض dock است.

برای سازگاری با i3، ساختار bar mode <mode> [<bar-id>] به همراه ساختار اختصاصی sway یعنی bar <bar-id> mode <mode> پشتیبانی می‌شود. هنگام استفاده از ساختار i3، اگر bar-id حذف شود، حالت برای تمام نوارها تغییر خواهد کرد. تلاش برای استفاده از bar <bar-id1> mode <mode> <bar-id2> به دلیل تداخل شناسه‌های نوار منجر به خطا خواهد شد.

modifier <Modifier>|none

کلید تبدیل‌کننده‌ای (modifier) را که نوار پنهان را آشکار می‌کند مشخص می‌سازد. مقدار پیش‌فرض Mod4 است.

output <output>|*

نوار را به یک خروجی (نمایشگر) خاص محدود می‌کند؛ می‌توان این دستور را چندین بار تکرار کرد. اگر دستور output حذف شود، نوار روی تمام خروجی‌ها نمایش داده می‌شود. در هر زمان می‌توان از * برای بازنشانی آن به نمایش در تمام خروجی‌ها استفاده کرد.

pango_markup enabled|disabled

نشانه‌گذاری pango را برای خطوط وضعیت فعال یا غیرفعال می‌کند. این گزینه تاثیری بر خطوط وضعیتی که از پروتکل JSON در i3bar استفاده می‌کنند ندارد.

position top|bottom

موقعیت نوار را تعیین می‌کند. پیش‌فرض bottom است.

separator_symbol <symbol>

نماد جداکننده را برای تفکیک بلوک‌ها روی نوار مشخص می‌کند.

status_command <status command>

دستور وضعیت نوار (status command) را با sh -c اجرا می‌کند. هر خط متنی که توسط این دستور در خروجی استاندارد (stdout) چاپ شود در ناحیه وضعیت نوار نمایش داده خواهد شد. شما همچنین می‌توانید از پروتکل خط وضعیت JSON متعلق به swaybar استفاده کنید. برای اطلاعات بیشتر درباره این پروتکل به swaybar-protocol(7) مراجعه کنید.

اگر این دستور را از طریق IPC اجرا می‌کنید، می‌توانید با تنظیم دستور روی یک خط تیره تک، دستور وضعیت در حال اجرا را غیرفعال کنید: swaybar bar bar-0 status_command -

status_edge_padding <padding>

فاصله درونی (padding) مورد استفاده در زمانی که خط وضعیت در لبه راست نوار قرار دارد را تعیین می‌کند. این مقدار در ضریب مقیاس خروجی (scale) ضرب خواهد شد. مقدار پیش‌فرض 3 است.

status_padding <padding>

فاصله درونی عمودی مورد استفاده برای خط وضعیت را تعیین می‌کند. مقدار پیش‌فرض 1 است. اگر padding برابر 0 باشد، بلوک‌ها می‌توانند تمام ارتفاع نوار را پر کنند. این مقدار در ضریب مقیاس خروجی ضرب خواهد شد.

strip_workspace_name yes|no

اگر روی yes تنظیم شود، نام فضاهای کاری از دکمه فضای کاری حذف شده و فقط شماره سفارشی نمایش داده می‌شود. مقدار پیش‌فرض no است.

strip_workspace_numbers yes|no

اگر روی yes تنظیم شود، شماره فضاهای کاری از دکمه فضای کاری حذف شده و فقط نام سفارشی نمایش داده می‌شود. مقدار پیش‌فرض no است.

unbindcode [--release] <event-code>

قید کلید مربوط به <event-code> داده‌شده را حذف می‌کند.

unbindsym [--release] button[1-9]|<event-name>

قید کلید مربوط به <button> یا <event-name> داده‌شده را حذف می‌کند.

wrap_scroll yes|no

پیمایش چرخشی (wrap) هنگام پیمایش میان فضاهای کاری با چرخ موش‌پاره را فعال یا غیرفعال می‌کند. مقدار پیش‌فرض no است.

workspace_buttons yes|no

دکمه‌های فضای کاری را روی نوار فعال یا غیرفعال می‌کند. مقدار پیش‌فرض yes است.

workspace_min_width <px> [px]

حداقل عرض دکمه‌های فضای کاری روی نوار را مشخص می‌کند. مقدار پیش‌فرض 0 است.

این تنظیم همچنین بر نشانگر حالت مقیدسازی کلیدها فعلی اعمال می‌شود.

دستورهای زیر فقط می‌توانند در زمان اجرا استفاده شوند.

mode toggle [<bar_id>]

حالت فعلی را بین hide و dock تغییر می‌دهد (ضامن می‌کند). با هر حالت دیگری همانند hide رفتار می‌شود.

نوار swaybar یک سینی سامانه (system tray) فراهم می‌کند که برنامه‌های ثالث می‌توانند آیکون‌های خود را در آن قرار دهند. دستورهای زیر سینی سامانه را پیکربندی می‌کنند.

tray_bindcode <event-code> ContextMenu|Activate|SecondaryActivate|ScrollDown|ScrollLeft|ScrollRight|ScrollUp|nop

هنگامی که کلید موش‌پاره فشرده شود، عملیات را اجرا می‌کند. کلیدها را می‌توان به عنوان یک کد رخداد که از libinput debug-events به دست می‌آید مشخص کرد. برای غیرفعال کردن رفتار پیش‌فرض یک کلید، از دستور nop استفاده کنید.

tray_bindsym button[1-9]|<event-name> ContextMenu|Activate|SecondaryActivate|ScrollDown|ScrollLeft|ScrollRight|ScrollUp|nop

هنگامی که کلید موش‌پاره فشرده شود، عملیات را اجرا می‌کند. کلیدها را می‌توان به عنوان شماره کلید x11 یا نام رخداد که از libinput debug-events به دست می‌آید مشخص کرد. برای غیرفعال کردن عملیات پیش‌فرض (Activate برای button1،‏ ContextMenu برای button2 و SecondaryActivate برای button3) از دستور nop استفاده کنید.

tray_padding <px> [px]

فاصله درونی پیکسلی سینی سامانه را تنظیم می‌کند. این فاصله دور تا دور سینی و بین هر آیتم اعمال خواهد شد. مقدار پیش‌فرض برای px برابر 2 است.

tray_output none|<output>|*

سینی سامانه را به یک خروجی خاص محدود می‌کند؛ می‌توان چندین بار آن را مشخص کرد. در صورت حذف، سینی در تمام خروجی‌ها نمایش داده می‌شود. برخلاف i3bar، نوار swaybar می‌تواند آیکون‌ها را روی هر تعداد نوار و خروجی بدون ایجاد شرایط رقابتی نمایش دهد. در هر زمان می‌توان از * برای بازنشانی آن به نمایش در تمام خروجی‌ها استفاده کرد.

icon_theme <name>

پوسته آیکونی را که sway در آن به دنبال آیکون آیتم‌ها می‌گردد تعیین می‌کند. این گزینه مقدار پیش‌فرضی ندارد، زیرا sway همیشه به پوسته جایگزین، یعنی hicolor رجوع می‌کند.

رنگ‌ها درون یک بلوک colors { } در داخل بلوک bar { } تعریف می‌شوند. رنگ‌ها باید در قالب شانزده‌شانزدهی (hex) تعریف شوند: #RRGGBB یا #RRGGBBAA.

background <color>

رنگ پس‌زمینه نوار.

statusline <color>

رنگ متن مورد استفاده برای خط وضعیت.

separator <color>

رنگ متن مورد استفاده برای جداکننده.

focused_background <color>

رنگ پس‌زمینه نوار روی خروجی نمایشگری که در حال حاضر فوکوس دارد. در صورت عدم استفاده، رنگ از background گرفته خواهد شد.

focused_statusline <color>

رنگ متن مورد استفاده برای خط وضعیت روی خروجی نمایشگری که در حال حاضر فوکوس دارد. در صورت عدم استفاده، رنگ از statusline گرفته خواهد شد.

focused_separator <color>

رنگ متن مورد استفاده برای جداکننده روی خروجی نمایشگری که در حال حاضر فوکوس دارد. در صورت عدم استفاده، رنگ از separator گرفته خواهد شد.

focused_workspace <border> <background> <text>

رنگ حاشیه، پس‌زمینه و متن برای دکمه فضای کاری، هنگامی که فضای کاری فوکوس را در اختیار دارد.

active_workspace <border> <background> <text>

رنگ حاشیه، پس‌زمینه و متن برای دکمه فضای کاری، هنگامی که فضای کاری روی یکی از خروجی‌ها فعال (نمایان) است، اما فوکوس روی خروجی دیگری قرار دارد. تفاوت این حالت با فضای کاری دارای فوکوس تنها در زمان استفاده از چند نمایشگر قابل تشخیص است.

inactive_workspace <border> <background> <text>

رنگ حاشیه، پس‌زمینه و متن برای دکمه فضای کاری، هنگامی که فضای کاری فوکوس ندارد و روی هیچ خروجی فعال (نمایان) نیست. این حالت برای اکثر فضاهای کاری صدق می‌کند.

urgent_workspace <border> <background> <text>

رنگ حاشیه، پس‌زمینه و متن برای دکمه فضای کاری، هنگامی که فضای کاری حاوی پنجره‌ای با نشانه فوریت (urgency hint) باشد.

binding_mode <border> <background> <text>

رنگ حاشیه، پس‌زمینه و متن برای نشانگر حالت مقیدسازی کلیدها. در صورت عدم استفاده، رنگ‌ها از urgent_workspace گرفته خواهند شد.

sway(5) swaybar-protocol(7)

2026-06-23