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

waybar - ماژول فضاهای کاری sway (sway workspaces module)

ماژول 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": [], // Always show a workspace with name '3', on all outputs if it does not exist
		"4": ["eDP-1"], // Always show a workspace with name '4', on output 'eDP-1' if it does not exist
		"5": ["eDP-1", "DP-2"] // Always show a workspace with name '5', on outputs 'eDP-1' and 'DP-2' if it does not exist
	}
}

نکته: فهرست خروجی‌ها می‌تواند از طریق خط فرمان با استفاده از 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"  // captures part of the window title and formats it into output
  }
}

  • #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