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

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

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

با شناسه hyprland/workspaces آدرس‌دهی می‌شود.

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

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

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

کلیدها همان قواعد هستند، در حالی که مقادیر روش‌های نمایش می‌باشند. مقادیر می‌توانند از جای‌نگه‌دارهای {class} و {title} به ترتیب برای استفاده از کلاس و/یا عنوان اصلی پنجره بهره ببرند. قواعد می‌توانند `class<...>`، `title<...>`، یا هر دو را برای تنظیم دقیق‌تر تطبیق مشخص کنند. می‌توانید یک مقدار خالی به یک قاعده اختصاص دهید تا از تولید هرگونه بازنمایی در فضاهای کاری نادیده گرفته شود.
اگر workspace-taskbar.enable روی true تنظیم شده باشد، این تنظیم نادیده گرفته می‌شود.

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

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

workspace-taskbar:
نوع: شیء (object)
شامل تنظیمات نوار وظیفه فضای کاری است؛ حالتی جایگزین برای ماژول فضاهای کاری که آیکون‌های پنجره را به جای متن به صورت تصویر نمایش می‌دهد.

enable:
نوع: بولی (bool)
پیش‌فرض: false
حالت نوار وظیفه فضای کاری را فعال می‌کند.

update-active-window:
نوع: بولی (bool)
پیش‌فرض: false
اگر true باشد، پنجره فعال/دارای تمرکز دارای کلاس 'active' خواهد بود. ممکن است به دلیل بازترسیم‌های مکررتر باعث مصرف بیشتر CPU شود.

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

active-window-position:
نوع: "none" | "first" | "last"
پیش‌فرض: "none"
اگر روی "first" تنظیم شود، پنجره فعال به ابتدای نوار وظیفه منتقل می‌شود. اگر روی "last" تنظیم شود، به انتهای آن منتقل خواهد شد. این گزینه تنها زمانی کار می‌کند که update-active-window روی true تنظیم شده باشد.

format:
نوع: رشته (string)
پیش‌فرض: {icon}
قالب مورد استفاده برای هر پنجره در نوار وظیفه فضای کاری. جای‌نگه‌دارهای موجود عبارتند از {icon} و {title}.

icon-size:
نوع: عدد صحیح (int)
پیش‌فرض: 16
اندازه آیکون‌ها در نوار وظیفه فضای کاری.

icon-theme:
نوع: رشته یا آرایه (string | array)
پیش‌فرض: []
تم آیکون مورد استفاده برای نوار وظیفه فضای کاری. اگر یک آرایه ارائه شود، اولین تم یافت‌شده برای یک آیکون مشخص استفاده خواهد شد. اگر تمی یافت نشود (یا آرایه خالی باشد)، تم آیکون پیش‌فرض استفاده می‌شود.

orientation:
نوع: "horizontal" | "vertical"
پیش‌فرض: horizontal
جهتی که نوار وظیفه فضای کاری در آن نمایش داده می‌شود.

ignore-list:
نوع: آرایه (array)
پیش‌فرض: []
الگوهای عبارت باقاعده (Regex) برای تطبیق با کلاس پنجره یا عنوان پنجره. اگر کلاس یا عنوان یک پنجره با هر یک از الگوها مطابقت داشته باشد، نمایش داده نخواهد شد.

on-click-window:
نوع: رشته (string)
پیش‌فرض: ""
دستوری که هنگام کلیک روی یک پنجره اجرا می‌شود. جای‌نگه‌دارهای موجود عبارتند از:
- {address} آدرس هایپرلند پنجره کلیک‌شده.
- {button} شماره دکمه فشرده‌شده، نشانی https://api.gtkd.org/gdk.c.types.GdkEventButton.button.html را ببینید.
برای مشاهده یک مثال کامل نشانی https://github.com/Alexays/Waybar/wiki/Module:-Hyprland#workspace-taskbars-example را ببینید.

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

special-visible-only:
نوع: بولی (bool)
پیش‌فرض: false
اگر این گزینه و show-special هر دو روی true تنظیم شوند، فضاهای کاری ویژه تنها در صورت مرئی بودن نمایش داده خواهند شد.

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

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

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

move-to-monitor:
نوع: بولی (bool)
پیش‌فرض: false
اگر روی true تنظیم شود، هنگام کلیک روی دکمه یک فضای کاری، آن فضای کاری روی مانیتور فعلی باز می‌شود.

در غیر این صورت، فضای کاری روی مانیتوری باز خواهد شد که پیش‌تر به آن اختصاص داده شده بود. مشابه با استفاده از توزیع‌کننده `focusworkspaceoncurrentmonitor` به جای `workspace` در Hyprland.

ignore-workspaces:
نوع: آرایه (array)
پیش‌فرض: []
عبارات باقاعده برای تطبیق با نام‌های فضاهای کاری. در صورت تطبیق، فضای کاری نمایش داده نخواهد شد. این گزینه بر show-special، all-outputs و active-only اولویت دارد.

sort-by:
نوع: رشته (string)
پیش‌فرض: "default"
اگر روی number تنظیم شود، فضاهای کاری بر اساس شماره مرتب می‌شوند.

اگر روی name تنظیم شود، فضاهای کاری بر اساس نام مرتب می‌شوند. اگر روی id تنظیم شود، فضاهای کاری بر اساس شناسه مرتب می‌شوند. اگر روی special-centered تنظیم شود، فضاهای کاری بر اساس رفتار پیش‌فرض همراه با قرارگیری فضاهای کاری ویژه در مرکز مرتب می‌شوند. اگر هیچ‌کدام از این‌ها نباشد، فضاهای کاری با رفتار پیش‌فرض مرتب خواهند شد.

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

{id}: شناسه فضای کاری اختصاص‌یافته توسط کامپوزیتور

{name}: نام فضای کاری اختصاص‌یافته توسط کامپوزیتور

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

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

  • default: زمانی نشان داده می‌شود که هیچ تطبیق رشته‌ای پیدا نشود و هیچ‌یک از شرایط زیر آیکون تعریف‌شده‌ای نداشته باشند.
  • active: زمانی نشان داده می‌شود که فضای کاری فعال باشد
  • special: روی فضاهای کاری ویژه غیرفعال نشان داده خواهد شد
  • empty: روی فضاهای کاری ماندگار خالیِ غیرفعال و غیرویژه نشان داده خواهد شد
  • visible: روی فضاهای کاری که مرئی اما غیرفعال هستند نشان داده خواهد شد. برای نمونه: اگر بخواهید فضاهای کاری مرئی در سایر مانیتورها ظاهری مشابه با حالت فعال داشته باشند، مفید است.
  • persistent: روی فضاهای کاری ماندگار غیرخالی نشان داده خواهد شد

"hyprland/workspaces": {
	"format": "{name}: {icon}",
	"format-icons": {
		"1": "",
		"2": "",
		"3": "",
		"4": "",
		"5": "",
		"active": "",
		"default": ""
	},
	"persistent-workspaces": {
		"*": 5, // 5 workspaces by default on every monitor
		"HDMI-A-1": 3 // but only three on HDMI-A-1
	}
}
"hyprland/workspaces": {
	"format": "{name}: {icon}",
	"format-icons": {
		"1": "",
		"2": "",
		"3": "",
		"4": "",
		"5": "",
		"active": "",
		"default": ""
	},
	"persistent-workspaces": {
		"*": [ 2,3,4,5 ], // 2-5 on every monitor
		"HDMI-A-1": [ 1 ] // but only workspace 1 on HDMI-A-1
	}
}
"hyprland/workspaces": {
	"format": "{name}n{windows}",
	"format-window-separator": "n",
	"window-rewrite-default": "",
	"window-rewrite": {
		"title<.*youtube.*>": "", // Windows whose titles contain "youtube"
		"class<firefox>": "", // Windows whose classes are "firefox"
		"class<firefox> title<.*github.*>": "", // Windows whose class is "firefox" and title contains "github". Note that "class" always comes first.
		"foot": "", // Windows that contain "foot" in either class or title. For optimization reasons, it will only match against a title if at least one other window explicitly matches against a title.
		"code": "󰨞",
		"title<.* - (.*) - VSCodium>": "codium $1"  // captures part of the window title and formats it into output
	}
}
"hyprland/workspaces": {
	// Formatting omitted for brevity
	"ignore-workspaces": [
		"(special:)?chrome-sharing-indicator"
	]
}

  • #workspaces
  • #workspaces button
  • #workspaces button.active
  • #workspaces button.empty
  • #workspaces button.visible
  • #workspaces button.persistent
  • #workspaces button.special
  • #workspaces button.urgent
  • #workspaces button.hosting-monitor (در صورتی اعمال می‌شود که workspace-monitor == waybar-monitor باشد)
  • #workspaces .workspace-label
  • #workspaces .taskbar-window (هر پنجره در نوار وظیفه، فقط در صورتی که 'workspace-taskbar.enable' مقدار true داشته باشد)
  • #workspaces .taskbar-window.active (بر پنجره دارای تمرکز اعمال می‌شود، فقط در صورتی که 'workspace-taskbar.update-active-window' مقدار true داشته باشد)
2026-08-31