kitten-@-screenshot(1) kitten Manual kitten-@-screenshot(1)

kitten-@-screenshot - گرفتن اسکرین‌شات از پنجره‌های ترمینال kitty

kitten @ screenshot [OUTPUT_FILE]

گرفتن اسکرین‌شات به صورت یک تصویر PNG از کل یک پنجره سیستم‌عامل kitty. با استفاده از --match یا --match-tab می‌توان اسکرین‌شات را به یک پنجره یا زبانه منفرد در kitty محدود کرد. پنجره یا زبانه مشخص‌شده باید در حال حاضر قابل مشاهده باشد، یعنی باید در زبانه فعال پنجره سیستم‌عامل خود قرار داشته و در مورد پنجره، به دلیل چینش پشت پنجره دیگری پنهان نشده باشد، در غیر این صورت این دستور با خطا مواجه خواهد شد.

به‌طور پیش‌فرض، داده‌های تصویر PNG در خروجی استاندارد (STDOUT) نوشته می‌شوند. اگر در عوض یک مسیر فایل مشخص شود، خود kitty (به جای این فرآیند kitten) اسکرین‌شات را در آن مسیر ذخیره می‌کند. از آنجا که kitty و kitten معمولاً روی یک رایانه یکسان اجرا می‌شوند، این کار از کپی شدن داده‌های تصویر (که ممکن است حجیم باشند) روی بستر انتقال کنترل از راه دور (که احتمالاً کند است) جلوگیری می‌کند.

پنجره مورد نظر برای تطبیق. مشخصات تطبیق به صورت 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 یک لایه رویی یا 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. زبانه‌های فعال زبانه‌هایی هستند که در پنجره سیستم‌عامل والد خود فعال هستند. تنها یک زبانه فوکوس‌شده وجود دارد و آن زبانه‌ای است که رویدادهای صفحه‌کلید به آن تحویل داده می‌شوند. اگر هیچ زبانه‌ای فوکوس نشده باشد، آخرین زبانه فوکوس‌شده تطبیق داده می‌شود. مقدار 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) از - استفاده کنید. برای خواندن از توصیف‌گر فایل num از fd:num استفاده کنید. در صورت عدم ارائه گزینه --password استفاده می‌شود. به طور پیش‌فرض فایل rc-pass در دایرکتوری پیکربندی kitty بررسی می‌شود.
نام متغیر محیطی برای خواندن گذرواژه. در صورت عدم ارائه گزینه --password-file استفاده می‌شود. به طور پیش‌فرض متغیر محیطی KITTY_RC_PASSWORD بررسی می‌شود.
اگر گذرواژه‌ای در دسترس نباشد، kitty معمولاً دستور کنترل از راه دور را بدون گذرواژه ارسال می‌کند. از این گزینه می‌توان برای اجبار آن به استفاده همیشگی یا عدم استفاده از گذرواژه ارائه‌شده استفاده کرد. اگر روی always تنظیم شود و گذرواژه‌ای ارائه نشده باشد، از گذرواژه خالی استفاده می‌شود.

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

July 27, 2026 0.48.1