kitten-@-send-text(1) راهنمای kitten kitten-@-send-text(1)

kitten-@-send-text - ارسال متن دلخواه به بافر ورودی پنجره‌های ترمینال kitty

kitten @ send-text [TEXT TO SEND]

ارسال متن دلخواه به پنجره‌های مشخص‌شده. متن از قواعد نویسه‌های کنترلی (اسکیپ) پایتون پیروی می‌کند؛ بنابراین می‌توانید از اسکیپ‌هایی مانند '\e' برای ارسال کدهای کنترلی و '\u21fa' برای ارسال نویسه‌های یونیکد استفاده کنید. به یاد داشته باشید که از کوتیشن تکی استفاده نمایید، در غیر این صورت بک‌اسلش به عنوان نویسه اسکیپ شل تفسیر می‌شود. اگر از گزینه --match استفاده کنید، متن به تمام پنجره‌های منطبق ارسال خواهد شد. به‌طور پیش‌فرض، متن فقط به پنجره فعال فعلی ارسال می‌شود. توجه داشته باشید که به دلایل فنی، خطاها گزارش نمی‌شوند؛ بنابراین send-text همیشه موفقیت‌آمیز بازمی‌گردد، حتی اگر هیچ متنی به هیچ پنجره‌ای ارسال نشده باشد.

پنجره برای تطبیق. مشخصات تطبیق به این صورت هستند: field:query. که در آن field می‌تواند یکی از این موارد باشد: id، title، pid، cwd، cmdline، num، env، var، state، neighbor، session و recent. همچنین query عبارتی است که باید تطبیق داده شود. عبارت‌ها می‌توانند یک عدد یا یک عبارت منظم (Regex) باشند و با عملگرهای بولی ترکیب شوند.

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

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

فیلد num به موقعیت پنجره در زبانه فعلی اشاره دارد که از صفر شروع شده و در جهت عقربه‌های ساعت شمارش می‌شود (این دقیقاً همان ترتیبی است که پنجره‌ها توسط دستور kitten @ ls گزارش می‌شوند).

شناسه پنجره فعلی در متغیر محیطی KITTY_WINDOW_ID در دسترس است.

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

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

فیلد 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 یک اورلی است) تطبیق می‌دهد.

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

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

مقدار ویژه 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 برای دریافت فهرست زبانه‌ها استفاده کنید.

تطبیق تمام پنجره‌ها.
عدم ارسال متن به پنجره فعال، حتی اگر یکی از پنجره‌های منطبق باشد.
خواندن متن ارسالی از ورودی استاندارد (stdin). توجه داشته باشید که در این حالت متن دقیقاً همان‌طور که هست ارسال می‌شود و کدهای اسکیپ در آن تفسیر نمی‌شوند. اگر ورودی استاندارد یک ترمینال باشد، می‌توانید کلیدهای Ctrl+D را برای پایان خواندن فشار دهید.
مسیر فایلی که می‌خواهید محتوای آن را ارسال کنید. توجه داشته باشید که در این حالت محتوای فایل عیناً ارسال می‌شود و کدهای اسکیپ در آن تفسیر نمی‌شوند.
هنگام ارسال متن به یک پنجره، متن در کدهای اسکیپ جای‌گذاری در قلاب (bracketed paste) محصور شود. حالت پیش‌فرض انجام ندادن این کار است. مقدار auto به این معنی است که حالت جای‌گذاری در قلاب تنها در صورتی استفاده می‌شود که برنامه‌ای که در پنجره اجرا می‌شود این حالت را فعال کرده باشد.

گزینه‌های مجاز: disable, auto, enable

نمایش راهنمای این دستور

نشانی نمونه kitty مورد نظر برای کنترل. این نشانی با نشانی ارائه‌شده به نمونه kitty از طریق گزینه --listen-on یا تنظیم listen_on در kitty.conf مطابقت دارد. در صورت عدم تعیین، متغیر محیطی KITTY_LISTEN_ON بررسی می‌شود. اگر آن هم یافت نشود، پیام‌ها به ترمینال کنترل‌کننده این فرآیند ارسال می‌شوند؛ یعنی فقط در صورتی کار خواهند کرد که این فرآیند درون یک پنجره kitty اجرا شود.
رمز عبور برای استفاده هنگام ارتباط با kitty. این باعث می‌شود که kitty از کاربر برای انجام عمل مشخص‌شده اجازه بگیرد، مگر اینکه رمز عبور قبلاً پذیرفته شده باشد یا در kitty.conf از پیش پیکربندی شده باشد. برای استفاده از یک رمز عبور خالی، --use-password را برابر با always قرار دهید.
فایلی که رمز عبور از آن خوانده می‌شود. فاصله‌های خالی انتهایی نادیده گرفته می‌شوند. مسیرهای نسبی نسبت به دایرکتوری پیکربندی kitty سنجیده می‌شوند. از - برای خواندن از STDIN استفاده کنید. از fd:num برای خواندن از توصیف‌کننده فایل num استفاده نمایید. در صورت عدم ارائه --password استفاده می‌شود. مقدار پیش‌فرض، جستجوی فایل rc-pass در دایرکتوری پیکربندی kitty است.
نام متغیر محیطی برای خواندن رمز عبور از آن. در صورت عدم ارائه --password-file استفاده می‌شود. مقدار پیش‌فرض، بررسی متغیر محیطی KITTY_RC_PASSWORD است.
اگر هیچ رمز عبوری در دسترس نباشد، kitty معمولاً دستور کنترل از راه دور را بدون رمز عبور ارسال می‌کند. این گزینه می‌تواند برای اجبار به استفاده همیشگی یا عدم استفاده از رمز عبور ارائه‌شده به کار رود. اگر روی always تنظیم شود و هیچ رمز عبوری ارائه نشود، از رمز عبور خالی استفاده می‌شود.

گزینه‌های مجاز: if-available, always, never

July 30, 2026 0.48.2