I3-MSG(1) i3 Manual I3-MSG(1)

i3-msg - ارسال پیام به مدیر پنجره i3

i3-msg [-q] [-v] [-h] [-s socket] [-t type] [-r] [message]

-q, --quiet

فقط پیام IPC را ارسال می‌کند و خروجی پاسخ را پنهان می‌سازد.

-v, --version

نمایش شماره نسخه برنامه و خروج.

-h, --help

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

-s, --socket sock_path

برنامه i3-msg از متغیر محیطی I3SOCK یا مسیر سوکت مشخص‌شده در اینجا استفاده می‌کند. اگر هر دو ناموفق باشند، تلاش می‌کند اطلاعات سوکت را از پنجره ریشه به دست آورد و سپس قبل از خروج با خطا، مسیر /tmp/i3-ipc.sock را امتحان کند.

-t type

ارسال پیام IPC؛ بخش زیر را ببینید. مقدار پیش‌فرض این گزینه "command" است.

-m, --monitor

به جای خروج بلافاصله پس از دریافت نخستین رویداد مشترک‌شده، به طور نامحدود منتظر تمام آن‌ها می‌ماند. فقط همراه با "-t subscribe"; قابل استفاده است. برای جزئیات، نوع پیام IPC "subscribe" را در زیر ببینید.

-r, --raw

نمایش پاسخ خام JSON به جای فرمت‌بندی زیبای خطاها (برای دستورها) یا نمایش محتوای فایل پیکربندی سطح بالا (برای GET_CONFIG).

message

پیام IPC ارسالی؛ بخش زیر را ببینید.

command

بار داده (payload) پیام، یک دستور برای i3 است (مانند دستوراتی که در فایل پیکربندی به کلیدها متصل می‌کنید) و بلافاصله پس از دریافت اجرا می‌شود.

get_workspaces

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

get_outputs

خروجی‌های (نمایشگرهای) جاری را دریافت می‌کند. پاسخ، یک فهرست کدگذاری‌شده به صورت JSON از خروجی‌ها خواهد بود (بخش پاسخ‌ها در docs/ipc را ببینید، برای نمونه در https://i3wm.org/docs/ipc.html#_receiving_replies_from_i3).

get_tree

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

get_marks

فهرستی از نشانه‌ها (شناسه‌های کانتینرها برای پرش سریع و آسان به آن‌ها در آینده) را دریافت می‌کند. پاسخ، یک فهرست کدگذاری‌شده به صورت JSON از نشانه‌های پنجره خواهد بود.

get_bar_config

پیکربندی نوار فضای کاری (به صورت نگاشت JSON) با شناسه داده‌شده را دریافت می‌کند. اگر شناسه‌ای ارائه نشود، آرایه‌ای از تمام شناسه نوارهای پیکربندی‌شده بازگردانده می‌شود.

get_binding_modes

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

get_version

نسخه فعلی i3 را دریافت می‌کند. پاسخ یک دیکشنری کدگذاری‌شده به صورت JSON شامل نسخه اصلی، فرعی، وصله و نسخه خوانا برای انسان خواهد بود.

get_config

پیکربندی فعلی بارگذاری‌شده در i3 را دریافت می‌کند.

send_tick

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

subscribe

بار داده پیام، رویدادهایی را توصیف می‌کند که قصد اشتراک در آن‌ها را دارید. به محض دریافت، هر رویداد به صورت یک شیء کدگذاری‌شده در قالب JSON تخلیه می‌شود. برای نظارت مستمر، گزینه -m را ببینید.

دستور i3-msg یک پیاده‌سازی نمونه برای کلاینتی است که از رابط IPC سوکت یونیکس برای ارتباط با i3 استفاده می‌کند.

0: در صورت موفقیت، 1: در صورت نحو نامعتبر یا ناتوانی در اتصال به سوکت IPC، 2: در صورتی که i3 در پردازش دستور(های) شما با خطا مواجه شود.

# استفاده از کادر ۱ پیکسلی برای کلاینت جاری
i3-msg "border 1pixel"
# می‌توانید گیومه‌ها را حذف کنید
i3-msg border normal
# استخراج و تخلیه درخت چینش
i3-msg -t get_tree
# نظارت بر تغییرات پنجره‌ها
i3-msg -t subscribe -m '[ "window" ]'

اگر هیچ سوکت IPC در خط فرمان مشخص نشده باشد، از این متغیر برای تعیین مسیر سوکت دامنه یونیکس مورد نیاز برای اتصال به i3 استفاده می‌شود.

i3(1)

Michael Stapelberg و مشارکت‌کنندگان

02/06/2026 i3 4.25.1