waybar-sway-workspaces(5) File Formats Manual waybar-sway-workspaces(5)

waybar-sway-workspaces - ماژول فضاهای کاری sway در waybar

ماژول workspaces فضاهای کاری در حال استفاده فعلی در Sway را نمایش می‌دهد.

با sway/workspaces آدرس‌دهی و مشخص می‌شود.

all-outputs:
نوع: بولی (bool)
پیش‌فرض: false
در صورت تنظیم روی false، فضاهای کاری تنها روی همان خروجی (نمایشگری) که در آن قرار دارند نمایش داده می‌شوند. اگر روی true تنظیم شود، همه فضاهای کاری روی تمام خروجی‌ها نمایش داده خواهند شد.

format:
نوع: رشته (string)
پیش‌فرض: {value}
قالب نحوه نمایش اطلاعات.

format-icons:
نوع: آرایه (array)
بر اساس نام و وضعیت فضای کاری، آیکون متناظر انتخاب می‌شود. بخش icons را مشاهده کنید.

disable-scroll:
نوع: بولی (bool)
پیش‌فرض: false
اگر روی false تنظیم شود، می‌توانید با پیمایش ماوس بین فضاهای کاری جابه‌جا شوید. اگر روی true تنظیم شود، این رفتار غیرفعال می‌شود.

reverse-scroll:
نوع: بولی (bool)
پیش‌فرض: false
اگر روی false تنظیم شود، پیمایش به بالا به فضای کاری قبلی و پیمایش به پایین به فضای کاری بعدی جابه‌جا می‌شود. اگر روی true تنظیم شود، این رفتار معکوس خواهد شد.

disable-click:
نوع: بولی (bool)
پیش‌فرض: false
اگر روی false تنظیم شود، می‌توانید با کلیک کردن فضای کاری را تغییر دهید. اگر روی true تنظیم شود، این رفتار غیرفعال می‌شود.

smooth-scrolling-threshold:
نوع: عدد اعشاری دقیق (double)
آستانه مورد استفاده هنگام پیمایش.

disable-scroll-wraparound:
نوع: بولی (bool)
پیش‌فرض: false
اگر روی false تنظیم شود، پیمایش روی نشانگر فضای کاری پس از رسیدن به انتها به اولین فضای کاری برمی‌گردد و برعکس. اگر روی true تنظیم شود، این رفتار غیرفعال می‌شود.

enable-bar-scroll:
نوع: بولی (bool)
پیش‌فرض: false
اگر روی false تنظیم شود، نمی‌توانید با پیمایش روی کل نوار میان فضاهای کاری جابه‌جا شوید. اگر روی true تنظیم شود، این رفتار فعال می‌شود.

disable-markup:
نوع: بولی (bool)
پیش‌فرض: false
اگر روی true تنظیم شود، برچسب دکمه نشانه‌گذاری‌های pango را نادیده می‌گیرد (escape می‌کند).

current-only:
نوع: بولی (bool)
پیش‌فرض: false
اگر روی true تنظیم شود، فقط فضاهای کاری دارای تمرکز (فوکوس) نمایش داده می‌شوند.

persistent-workspaces:
نوع: json (پایین را ببینید)
پیش‌فرض: خالی
فضاهای کاری را فهرست می‌کند که همیشه باید نمایش داده شوند، حتی زمانی که وجود ندارند.

on-update:
نوع: رشته (string)
دستوری که هنگام به‌روزرسانی ماژول اجرا می‌شود.

disable-auto-back-and-forth:
نوع: بولی (bool)
آیا هنگام کلیک روی فضاهای کاری قابلیت workspace_auto_back_and_forth غیرفعال شود یا خیر. اگر این گزینه روی true تنظیم شود، کلیک روی فضای کاری که در حال حاضر در آن هستید هیچ کاری انجام نمی‌دهد، حتی اگر workspace_auto_back_and_forth در پیکربندی Sway فعال باشد.

alphabetical_sort:
نوع: بولی (bool)
آیا فضاهای کاری به ترتیب الفبایی مرتب شوند یا خیر. لطفاً توجه داشته باشید که این گزینه ممکن است باعث شود دستور swaymsg workspace prev/next به فضاهایی ناسازگار با ترتیبی که در Waybar نشان داده شده حرکت کند.

warp-on-scroll:
نوع: بولی (bool)
پیش‌فرض: true
اگر روی false تنظیم شود، می‌توانید بدون فعال بودن پرش نشانگر ماوس (mouse warping) با پیمایش بین فضاهای کاری جابه‌جا شوید. اگر روی true تنظیم شود، این رفتار غیرفعال می‌شود.

window-rewrite:
نوع: شیء (object)
قواعد عبارات باقاعده (Regex) برای نگاشت کلاس پنجره به یک آیکون یا روش ترجیحی بازنمایی برای پنجره‌های یک فضای کاری.

کلیدها همان قواعد و مقادیر همان روش‌های بازنمایی هستند. قواعد می‌توانند class<...>، title<...>، یا هر دو را برای تطبیق دقیق‌تر مشخص کنند. می‌توانید یک مقدار خالی به یک قاعده اختصاص دهید تا از تولید هرگونه بازنمایی در فضاهای کاری برای آن صرف‌نظر شود. برای پنجره‌های Wayland ویژگی class با app_id تطبیق داده می‌شود، و برای پنجره‌های X11 با ویژگی class تطبیق داده می‌شود.

window-rewrite-default:

نوع: رشته (string)
پیش‌فرض: "?"
روش پیش‌فرض بازنمایی برای پنجره یک فضای کاری. این برای پنجره‌هایی استفاده می‌شود که کلاس آن‌ها با هیچ‌کدام از قواعد در window-rewrite مطابقت ندارد.

format-window-separator:
نوع: رشته (string)
پیش‌فرض: " "
جداکننده‌ای که بین پنجره‌ها در یک فضای کاری استفاده می‌شود.

expand:
نوع: بولی (bool)
پیش‌فرض: false
به این ماژول امکان می‌دهد تا تمام فضای باقی‌مانده را به صورت پویا مصرف کند.

{value}: نام فضای کاری، همان‌طور که توسط sway تعریف شده است.

{name}: شماره حذف‌شده از مقدار فضای کاری.

{icon}: آیکون، طبق تعریف در format-icons.

{index}: ایندکس فضای کاری.

{output}: خروجی که فضای کاری در آن قرار دارد.

{windows}: نتیجه حاصل از window-rewrite.

علاوه بر تطبیق نام فضای کاری، مقادیر زیر برای format-icons قابل تنظیم هستند.

  • default: زمانی نشان داده می‌شود که هیچ تطبیق رشته‌ای پیدا نشود.
  • urgent: زمانی نشان داده می‌شود که فضای کاری به عنوان اضطراری پرچم‌گذاری شده باشد.
  • focused: زمانی نشان داده می‌شود که فضای کاری دارای تمرکز (فوکوس) باشد.
  • persistent: زمانی نشان داده می‌شود که فضای کاری دائمی باشد.
  • high-priority-named: آیکون‌های بر اساس نام همیشه برای این فضاهای کاری بدون در نظر گرفتن وضعیت نشان داده خواهند شد.

هر ورودی از persistent_workspace نام فضای کاری را مشخص می‌کند که همیشه باید نشان داده شود. همراه با این مقدار، فهرستی از خروجی‌ها است که نشان می‌دهد فضای کاری کجا باید نشان داده شود، یک فهرست خالی نشان‌دهنده تمام خروجی‌ها است.

"sway/workspaces": {
	"persistent-workspaces": {
		"3": [], // نمایش همیشگی فضای کاری با نام '3' روی تمام خروجی‌ها در صورت عدم وجود
		"4": ["eDP-1"], // نمایش همیشگی فضای کاری با نام '4' روی خروجی 'eDP-1' در صورت عدم وجود
		"5": ["eDP-1", "DP-2"] // نمایش همیشگی فضای کاری با نام '5' روی خروجی‌های 'eDP-1' و 'DP-2' در صورت عدم وجود
	}
}

نکته: فهرست خروجی‌ها را می‌توان از طریق خط فرمان با استفاده از swaymsg -t get_outputs به دست آورد.

"sway/workspaces": {
	"disable-scroll": true,
	"all-outputs": true,
	"format": "{name}: {icon}",
	"format-icons": {
		"1": "",
		"2": "",
		"3": "",
		"4": "",
		"5": "",
		"high-priority-named": [ "1", "2" ],
		"urgent": "",
		"focused": "",
		"default": ""
	}
}
"sway/workspaces": {
  "format": "<span size='larger'>{name}</span> {windows}",
  "format-window-separator": " | ",
  "window-rewrite-default": "{name}",
  "window-rewrite": {
    "class<firefox>": "",
    "class<kitty>": "k",
	"title<.* - (.*) - VSCodium>": "codium $1"  // بخشی از عنوان پنجره را دریافت کرده و در خروجی قالب‌بندی می‌کند
  }
}

  • #workspaces button
  • #workspaces button.visible
  • #workspaces button.focused
  • #workspaces button.urgent
  • #workspaces button.persistent
  • #workspaces button.empty
  • #workspaces button.current_output
  • #workspaces button#sway-workspace-${name}
2026-08-31