kitten-@-send-key(1) kitten Manual kitten-@-send-key(1)

kitten-@-send-key - ارسال رویدادهای فشردن کلید به پنجره‌های مشخص‌شده

kitten @ send-key [KEYS TO SEND ...]

ارسال رویدادهای اختیاری فشردن کلید به پنجره‌های مشخص‌شده. تمام کلیدهای مشخص‌شده ابتدا به عنوان رویدادهای فشردن و سپس به ترتیب معکوس به عنوان رویدادهای رهاسازی ارسال می‌شوند. کلیدها به برنامه‌های در حال اجرا در پنجره‌ها فرستاده می‌شوند. آن‌ها تنها در صورتی ارسال می‌شوند که حالت فعلی صفحه‌کلید برای برنامه از آن کلید خاص پشتیبانی کند. برای مثال: send-key ctrl+a ctrl+b توجه داشته باشید که بنا به دلایل فنی، خطاها گزارش نمی‌شوند، بنابراین send-key همیشه با موفقیت انجام می‌شود، حتی اگر هیچ کلیدی به هیچ پنجره‌ای ارسال نشده باشد.

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

مقدار ویژه 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. پنجره‌های active پنجره‌هایی هستند که در زبانه والد خود فعالند. تنها یک پنجره focused وجود دارد و آن پنجره‌ای است که رویدادهای صفحه‌کلید به آن تحویل داده می‌شوند. اگر هیچ پنجره‌ای متمرکز نباشد، آخرین پنجره متمرکز تطبیق داده می‌شود. مقدار focused_os_window با تمام پنجره‌ها در پنجره سیستم‌عامل متمرکز فعلی تطبیق می‌یابد. مقدار self با پنجره‌ای که دستور کنترل از راه دور در آن اجرا می‌شود تطبیق می‌یابد. مقدار overlay_parent با پنجره‌ای که زیر پنجره self قرار دارد (زمانی که پنجره self یک پوشش/overlay است) تطبیق می‌یابد.

توجه داشته باشید که می‌توانید از دستور 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. زبانه‌های active زبانه‌هایی هستند که در پنجره سیستم‌عامل والد خود فعالند. تنها یک زبانه focused وجود دارد و آن زبانه‌ای است که رویدادهای صفحه‌کلید به آن تحویل داده می‌شوند. اگر هیچ زبانه‌ای متمرکز نباشد، آخرین زبانه متمرکز تطبیق داده می‌شود. مقدار focused_os_window با تمام زبانه‌ها در پنجره سیستم‌عامل متمرکز فعلی تطبیق می‌یابد.

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

تطبیق با تمامی پنجره‌ها.
عدم ارسال متن به پنجره فعال، حتی اگر جزو پنجره‌های تطبیق‌یافته باشد.
نمایش راهنمای این دستور.

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

انتخاب‌ها: if-available، always و never.

July 30, 2026 0.48.2