kitten-broadcast(1) kitty kitten-broadcast(1)

kitten-broadcast - ارسال هم‌زمان متن تایپ‌شده به پنجره‌های kitty

تایپ هم‌زمان متن در تمامی پنجره‌های kitty

کیتن broadcast می‌تواند برای تایپ هم‌زمان متن در تمامی پنجره‌های kitty <#term-window> (یا در صورت تمایل زیرمجموعه‌ای از آن‌ها) به کار رود.

برای استفاده از آن، کافی است یک نگاشت در kitty.conf ایجاد کنید؛ مانند:

map f1 launch --allow-remote-control kitty +kitten broadcast

سپس کلید F1 را فشار دهید؛ هر آنچه در پنجرهٔ تازه ایجادشده تایپ کنید، به تمامی پنجره‌های kitty ارسال خواهد شد.

می‌توانید از گزینه‌های شرح‌داده‌شده در زیر برای کنترل پنجره‌های انتخاب‌شده استفاده کنید.

برای مثال، ارسال هم‌زمان فقط به سایر پنجره‌های موجود در زبانهٔ فعلی:

map f1 launch --allow-remote-control kitty +kitten broadcast --match-tab state:focused

کد منبع این کیتن در گیت‌هاب در نشانی https://github.com/kovidgoyal/kitty/tree/master/kittens/broadcast در دسترس است.

kitty +kitten broadcast [options] [initial text to send ...]

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

کلیدی که برای تغییر وضعیت پنهان‌سازی ورودی در خود پنجرهٔ broadcast فشرده می‌شود. هنگام وارد کردن گذرواژه کاربردی است و از دیده شدن گذرواژه روی صفحه جلوگیری می‌کند. پیش‌فرض: Ctrl+Alt+Esc
کلیدی که برای پایان دادن به نشست broadcast فشرده می‌شود. پیش‌فرض: Ctrl+Esc
پنجره‌ای که باید تطبیق داده شود. مشخصات تطبیق به صورت field:query هستند؛ که در آن field می‌تواند یکی از موارد زیر باشد: id، title، pid، cwd، cmdline، num، env، var، state، neighbor، session و recent. بخش query عبارت مورد نظر برای تطبیق است. عبارت‌ها می‌توانند یک عدد یا یک عبارت منظم (regular expression) باشند و می‌توان آن‌ها را با استفاده از عملگرهای بولی (Boolean) ترکیب کرد <#search-syntax>.

مقدار ویژهٔ all با تمامی پنجره‌ها تطبیق می‌یابد.

برای فیلدهای عددی: id، pid، num و recent، عبارت به عنوان یک عدد تفسیر می‌شود و نه یک عبارت منظم. مقادیر منفی برای id از بزرگ‌ترین شمارهٔ شناسه به سمت پایین تطبیق داده می‌شوند؛ به‌ویژه، -1 تازه‌ترین پنجرهٔ ایجادشده است.

فیلد num به موقعیت پنجره در زبانهٔ فعلی اشاره دارد که از صفر آغاز شده و در جهت عقربه‌های ساعت شمارش می‌شود (این ترتیب همان ترتیبی است که پنجره‌ها توسط دستور kitten @ ls <#at-ls> گزارش می‌شوند).

شناسهٔ پنجرهٔ فعلی از طریق متغیر محیطی KITTY_WINDOW_ID <#envvar-KITTY_WINDOW_ID> در دسترس است.

فیلد recent به پنجره‌هایی که اخیراً در زبانهٔ فعال فعلی فعال بوده‌اند اشاره دارد؛ به‌طوری‌که صفر پنجرهٔ فعال فعلی، یک پنجرهٔ فعال قبلی و به همین ترتیب است.

فیلد neighbor به همسایهٔ پنجرهٔ فعال در جهت مشخص‌شده اشاره دارد که می‌تواند یکی از موارد زیر باشد: left، right، top یا bottom.

فیلد session با پنجره‌هایی که در نشست (session) مشخص‌شده ایجاد شده‌اند تطبیق می‌یابد. از عبارت ^$ برای تطبیق پنجره‌هایی که در یک نشست ایجاد نشده‌اند استفاده کنید، از . برای تطبیق نشست فعال فعلی و از ~ برای تطبیق نشست فعال فعلی یا آخرین نشست فعال (هنگامی که هیچ نشستی فعال نیست) استفاده نمایید.

هنگام استفاده از فیلد env برای تطبیق بر اساس متغیرهای محیطی، می‌توانید فقط نام متغیر محیطی یا نام و مقدار را مشخص کنید؛ برای مثال: env:MY_ENV_VAR=2.

به همین ترتیب، فیلد var بر اساس متغیرهای کاربری تنظیم‌شده روی پنجره تطبیق می‌یابد. مانند فیلد env می‌توانید نام یا نام و مقدار را مشخص کنید.

فیلد state با وضعیت پنجره تطبیق می‌یابد. وضعیت‌های پشتیبانی‌شده عبارتند از: active، focused، needs_attention، parent_active، parent_focused، focused_os_window، self، overlay_parent. پنجره‌های فعال پنجره‌هایی هستند که در زبانهٔ والد خود فعال‌اند. تنها یک پنجرهٔ فوکوس‌شده وجود دارد و آن پنجره‌ای است که رویدادهای صفحه‌کلید به آن تحویل داده می‌شوند. اگر هیچ پنجره‌ای فوکوس نشده باشد، آخرین پنجرهٔ فوکوس‌شده تطبیق داده می‌شود. مقدار focused_os_window با تمام پنجره‌های موجود در پنجرهٔ سیستم‌عامل با فوکوس فعلی تطبیق می‌یابد. مقدار self با پنجره‌ای که دستور کنترل از راه دور در آن اجرا می‌شود تطبیق دارد. مقدار overlay_parent با پنجره‌ای تطبیق می‌یابد که زیر پنجرهٔ self قرار دارد، زمانی که پنجرهٔ self یک پنجرهٔ پوششی (overlay) باشد.

توجه داشته باشید که می‌توانید از دستور kitten @ ls <#at-ls> برای دریافت فهرستی از پنجره‌ها استفاده کنید.

زبانه برای تطبیق. مشخصات تطبیق به صورت field:query هستند؛ که در آن field می‌تواند یکی از موارد زیر باشد: id، index، title، window_id، window_title، pid، cwd، cmdline، env، var، state، session و recent. بخش query عبارت مورد نظر برای تطبیق است. عبارت‌ها می‌توانند یک عدد یا یک عبارت منظم باشند و می‌توان آن‌ها را با استفاده از عملگرهای بولی ترکیب کرد <#search-syntax>.

مقدار ویژهٔ all با تمامی زبانه‌ها تطبیق می‌یابد.

برای فیلدهای عددی: id، index، window_id، pid و recent، عبارت به عنوان یک عدد تفسیر می‌شود و نه یک عبارت منظم. مقادیر منفی برای id/window_id از بالاترین شمارهٔ شناسه به پایین تطبیق می‌یابند؛ به‌ویژه، -1 جدیدترین زبانه/پنجرهٔ ایجادشده است.

هنگام استفاده از title یا id، ابتدا یک زبانهٔ منطبق جستجو می‌شود، و در صورت پیدا نشدن، یک پنجرهٔ منطبق جستجو شده و زبانهٔ مربوط به آن پنجره استفاده می‌شود.

همچنین می‌توانید از window_id و window_title برای تطبیق زبانه‌ای که شامل پنجره‌ای با شناسه یا عنوان مشخص‌شده است استفاده کنید.

عدد index برای تطبیق n-اُمین زبانه در پنجرهٔ فعال فعلی سیستم‌عامل استفاده می‌شود. عدد recent زبانه‌های اخیراً فعال در پنجرهٔ فعال فعلی سیستم‌عامل را تطبیق می‌دهد؛ با صفر برای زبانهٔ فعال فعلی، یک برای زبانهٔ فعال قبلی و به همین ترتیب.

فیلد session با زبانه‌هایی که در نشست مشخص‌شده ایجاد شده‌اند تطبیق می‌یابد. از عبارت ^$ برای تطبیق پنجره‌هایی که در یک نشست ایجاد نشده‌اند استفاده کنید، از . برای تطبیق نشست فعال فعلی و از ~ برای تطبیق نشست فعال فعلی یا آخرین نشست فعال (هنگامی که هیچ نشستی فعال نیست) استفاده نمایید.

هنگام استفاده از فیلد env برای تطبیق بر اساس متغیرهای محیطی، می‌توانید فقط نام متغیر محیطی یا نام و مقدار را مشخص کنید؛ برای مثال: env:MY_ENV_VAR=2. زبانه‌های حاوی هر پنجره‌ای با متغیرهای محیطی مشخص‌شده تطبیق داده می‌شوند. به طور مشابه، var زبانه‌های حاوی هر پنجره‌ای با متغیر کاربری مشخص‌شده را مطابقت می‌دهد.

فیلد state با وضعیت زبانه تطبیق می‌یابد. وضعیت‌های پشتیبانی‌شده عبارتند از: active، focused، needs_attention، parent_active، parent_focused و focused_os_window. زبانه‌های فعال، زبانه‌هایی هستند که در پنجرهٔ سیستم‌عامل والد خود فعال‌اند. تنها یک زبانهٔ فوکوس‌شده وجود دارد و آن زبانه‌ای است که رویدادهای صفحه‌کلید به آن تحویل داده می‌شوند. اگر هیچ زبانه‌ای فوکوس نشده باشد، آخرین زبانهٔ فوکوس‌شده تطبیق می‌یابد. مقدار focused_os_window با تمامی زبانه‌های موجود در پنجرهٔ سیستم‌عامل با فوکوس فعلی تطبیق پیدا می‌کند.

توجه داشته باشید که می‌توانید از دستور kitten @ ls <#at-ls> برای دریافت فهرستی از زبانه‌ها استفاده کنید.

Kovid Goyal

2026, Kovid Goyal

July 30, 2026 0.48.2