swaymsg(1) General Commands Manual swaymsg(1)

swaymsg - ارسال پیام به یک نمونه در حال اجرای sway از طریق سوکت IPC.

swaymsg [options...] [message]

-h, --help

نمایش پیام راهنما و خروج.

-m, --monitor

پایش برای دریافت پاسخ‌ها تا زمان متوقف شدن، به‌جای خروج پس از دریافت نخستین پاسخ. این گزینه تنها با نوع پیام IPC به نام subscribe قابل استفاده است. اگر پاسخی ناهنجار دریافت شود یا نوع رویداد نامعتبری درخواست شده باشد، swaymsg پایش را متوقف کرده و خارج می‌شود.

-p, --pretty

استفاده از خروجی زیبا و مرتب حتی در صورت عدم استفاده از tty. برای همه انواع پیام در دسترس نیست.

-q, --quiet

ارسال پیام IPC بدون چاپ پاسخ دریافتی از sway.

-r, --raw

استفاده از خروجی خام JSON حتی در صورت استفاده از tty.

-s, --socket <path>

استفاده از مسیر سوکت مشخص‌شده. در غیر این صورت، swaymsg از sway جویای مکان سوکت خواهد شد (که ابتدا مقدار $SWAYSOCK و سپس $I3SOCK است).

-t, --type <type>

مشخص کردن نوع پیام IPC. به موارد زیر مراجعه کنید.

-v, --version

چاپ نسخه (برنامه swaymsg) و خروج.

<command>

پیام ارسالی یک دستور sway است (همان دستوراتی که می‌توانید در فایل پیکربندی sway به کلیدهای میانبر مقید کنید). این دستور بلافاصله اجرا خواهد شد.

برای مشاهده فهرست دستورها به sway(5) مراجعه کنید.

دستور swaymsg می‌تواند خروجی به شکل خوانا و مرتب (پیش‌فرض در حالت مستقل) یا با قالب‌بندی JSON (--raw) بازگرداند. برای مستندات دقیق درباره داده‌های JSON بازگردانده شده در هر یک از انواع پیام فهرست‌شده در زیر، به sway-ipc(7) مراجعه کنید. قالب JSON می‌تواند حاوی اطلاعات بیشتری نسبت به خروجی مرتب (pretty) باشد.

نکات:

  • بسط دستور دو بار انجام می‌شود: یک بار توسط swaymsg و بار دیگر توسط sway. اگر در دستور خود رشته‌های چندکلمه‌ای دارای علامت نقل‌قول دارید، کل دستور را درون علامت‌های نقل‌قول تکی (single-quotes) قرار دهید. به عنوان مثال، از swaymsg 'output "Foobar Display" enable' به‌جای swaymsg output "Foobar Display" enable استفاده کنید. علاوه بر این، توجه داشته باشید که گزینه‌های جداشده با کاما نیز رشته‌های چندکلمه‌ای به حساب می‌آیند، چرا که می‌توان از کاما برای اجرای چندین دستور در همان سطر استفاده کرد.
  • اگر دستوری ارائه می‌دهید که با یک خط تیره (-) شروع می‌شود، پیش از دستور دو خط تیره (--) درج کنید تا به swaymsg اعلام کند هیچ چیزی پس از آن نقطه را به عنوان گزینه پردازش نکند. برای مثال، از swaymsg -- mark --add test به‌جای swaymsg mark --add test استفاده کنید.

get_workspaces

فهرستی از فضاهای کاری و وضعیت آن‌ها را دریافت می‌کند.

get_inputs

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

get_outputs

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

get_tree

درخت چیدمان کدگذاری‌شده به صورت JSON از تمامی پنجره‌های باز، کانتینرها، خروجی‌ها، فضاهای کاری و غیره را دریافت می‌کند.

get_seats

فهرستی از تمامی seatها، ویژگی‌های آن‌ها و تمام دستگاه‌های اختصاص‌یافته را دریافت می‌کند.

get_marks

فهرستی کدگذاری‌شده به صورت JSON از نشانه‌ها (marks) را دریافت می‌کند.

get_bar_config

پیکربندی کدگذاری‌شده به صورت JSON را برای swaybar دریافت می‌کند.

get_version

اطلاعات نسخه نمونه در حال اجرای sway را دریافت می‌کند.

get_binding_modes

فهرستی کدگذاری‌شده به صورت JSON از حالت‌های میانبر (binding modes) پیکربندی‌شده فعلی را دریافت می‌کند.

get_binding_state

اطلاعات کدگذاری‌شده به صورت JSON درباره وضعیت فعلی کلیدهای میانبر (binding state) را دریافت می‌کند.

get_config

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

send_tick

یک رویداد tick را به تمام کلاینت‌های مشترک‌شده ارسال می‌کند.

subscribe

اشتراک در فهرستی از انواع رویدادها. آرگومان این نوع باید در قالب یک آرایه معتبر JSON ارائه شود. در صورتی که هر یک از انواع نامعتبر باشد یا آرایه معتبر JSON ارائه نشود، عملیات با شکست مواجه خواهد شد. برای مشاهده فهرست انواع رویدادهای معتبر و داده‌های بازگردانده شده به همراه آن‌ها به sway-ipc(7) مراجعه کنید.

0

موفقیت

1

خطاهای swaymsg مانند نحو نامعتبر، ناتوانی در اتصال به سوکت ipc یا ناتوانی در تجزیه پاسخ sway

2

بروز خطا از سوی sway هنگام پردازش دستور (مانند دستور نامعتبر، شکست در اجرای دستور، و درخواست اشتراک نامعتبر)

sway(5) sway-bar(5) sway-input(5) sway-output(5) sway-ipc(7)

2026-06-23