kitten-desktop-ui(1) kitty kitten-desktop-ui(1)

kitten-desktop-ui - اجزای رابط کاربری میزکار سازگار با ترمینال و صفحه‌کلید

افزوده‌شده در نسخه 0.43.0.

کاربران حرفه‌ای ترمینال در لینوکس معمولاً ترجیح می‌دهند به‌جای محیط‌های میزکار کامل، از مدیر پنجره‌های حداقلی و ساده (bare bones) استفاده کنند. این kitten کمک می‌کند تا بخش‌هایی از محیط میزکار که در این‌گونه پیکربندی‌ها وجود ندارند فراهم شوند؛ این کار با استفاده از اجزای رابط کاربری متمرکز بر ترمینال و سازگار با صفحه‌کلید انجام می‌شود. برخی از ویژگی‌های آن عبارتند از:

  • جایگزینی دیالوگ‌های متداول باز کردن/ذخیره فایل در برنامه‌های گرافیکی (GUI) با برنامه پرسرعت و صفحه‌کلیدمحور choose-files <> که در یک لایه نیمه‌شفاف کیتی اجرا می‌شود.
  • امکان مدیریت ساده حالت روشن/تاریک (light/dark) میزکار از طریق خط فرمان.

نکته:

این kitten در پس‌زمینه برای ارائه اجزای رابط کاربری بر برنامه جانبی panel <> متکی است. مستندات <#panel-compat> آن kitten را بررسی کنید تا ببینید آیا مدیر پنجره شما با آن کار می‌کند یا خیر.

ابتدا دستور زیر را اجرا کنید:

kitten desktop-ui enable-portal

سپس، دو متغیر محیطی زیر را به صورت سراسری در سیستم تنظیم کنید، یعنی در فایل /etc/environment یا معادل آن در توزیع خود:

QT_QPA_PLATFORMTHEME=xdgdesktopportal
GTK_USE_PORTAL=1

در پایان، سیستم را راه‌اندازی مجدد کنید. اکنون، هنگامی که کادر محاوره‌ای فایل را در اکثر برنامه‌های گرافیکی باز می‌کنید، باید به‌جای دیالوگ معمولی باز کردن فایل، برنامه choose-files <> باز شود. می‌توانید با اجرای دستورات زیر حالت روشن/تاریک کنونی میزکار خود را تغییر دهید:

kitten desktop-ui set-color-scheme dark
kitten desktop-ui set-color-scheme light

مقدار فعلی را با استفاده از دستور زیر بررسی کنید:

dbus-send --session --print-reply --dest=org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.Settings.Read string:org.freedesktop.appearance string:color-scheme

میزکارهای مدرن لینوکس دارای سازوکاری موسوم به پورتال‌ها (portals) https://flatpak.github.io/xdg-desktop-portal/docs/index.html هستند که برای برنامه‌های ایزوله (sandboxed) ابداع شدند و امکانات مختلفی را از طریق DBUS در اختیار چنین برنامه‌هایی قرار می‌دهند، از جمله دیالوگ‌های باز کردن فایل، تنظیمات مشترک میزکار و غیره. این kitten با پیاده‌سازی یک بک‌اند برای برخی از این سرویس‌ها کار می‌کند.

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

چندین پیاده‌سازی رقیب برای این بک‌اندها وجود دارد. هر محیط میزکار مانند KDE یا GNOME بک‌اند مخصوص به خود را دارد و بسیاری از مدیر پنجره‌ها نیز پیاده‌سازی‌هایی را برای برخی بک‌اندها ارائه می‌دهند. شناسایی سرویس‌ها و پیکربندی اینکه از کدام بک‌اند استفاده شود، از طریق برنامه xdg-desktop-portal انجام می‌گیرد که معمولاً در مسیر /usr/lib/xdg-desktop-portal یافت می‌شود.

این برنامه را می‌توان با فایل‌هایی در پوشه ~/.local/share/xdg-desktop-portal پیکربندی کرد. به صفحه راهنمای portals.conf https://man.archlinux.org/man/portals.conf.5 مراجعه فرمایید. دستور kitten desktop-ui enable-portal تنظیمات اولیه را به‌طور خودکار برای شما انجام می‌دهد. اگر می‌خواهید مشخص کنید دقیقاً برای کدام سرویس‌ها از این kitten استفاده شود، دستور را اجرا کرده و سپس فایل پیکربندی‌ای را که دستور اعلام می‌کند وصله (patch) کرده است، ویرایش کنید.

ابتدا مطمئن شوید که DBUS قادر است در صورت نیاز این kitten را به صورت خودکار اجرا کند. اگر kitten از قبل در حال اجرا نیست، دستور زیر را امتحان کنید:

dbus-send --session --print-reply --dest=org.freedesktop.impl.portal.desktop.kitty \
    /net/kovidgoyal/kitty/portal org.freedesktop.DBus.Properties.GetAll \
    string:net.kovidgoyal.kitty.settings

اگر DBUS قادر به اجرای kitten باشد یا اگر از قبل در حال اجرا باشد، ویژگی نسخه را چاپ خواهد کرد، در غیر این صورت با خطا مواجه خواهد شد. در صورت بروز خطا، فایل زیر را بررسی کنید: ~/.local/share/dbus-1/services/org.freedesktop.impl.portal.desktop.kitty.service که باید توسط دستور enable-portal ایجاد شده باشد. کلید Exec آن باید به مسیر کامل فایل اجرایی kitten اشاره کند.

سپس بررسی کنید که آیا سامانه پورتال XDG واقعاً از این kitten به عنوان بک‌اند تنظیمات خود استفاده می‌کند یا خیر. دستور زیر را اجرا کنید:

dbus-send --session --print-reply --dest=org.freedesktop.portal.Desktop \
    /org/freedesktop/portal/desktop org.freedesktop.portal.Settings.Read \
    string:net.kovidgoyal.kitty string:status

اگر این دستور پاسخی برگرداند، kitten طبق انتظار استفاده می‌شود. اگر خطای پیدا نشدن (not found) برگرداند، بک‌اند دیگری برای تنظیمات در حال استفاده است.

صفحه راهنمای portals.conf را مطالعه کرده و دستور زیر را اجرا کنید:

/usr/lib/xdg-desktop-portal -r v

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

اگر برخی برنامه‌های گرافیکی برای کادرهای انتخاب فایل از برنامه choose-files استفاده نمی‌کنند، مطمئن شوید متغیرهای محیطی ذکرشده در بالا تنظیم شده‌اند؛ همچنین می‌توانید برنامه گرافیکی را با تنظیم صریح این متغیرها اجرا کنید، مانند:

QT_QPA_PLATFORMTHEME=xdgdesktopportal GTK_USE_PORTAL=1 my-gui-app

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

می‌توانید جنبه‌های مختلف عملکرد kitten را با ایجاد فایل desktop-ui-portal.conf در پوشه پیکربندی kitty خود <#confloc> تنظیم کنید. در ادامه دستورالعمل‌های پیکربندی پشتیبانی‌شده آورده شده است.

color_scheme no-preference

طرح رنگ برای سیستم شما. این گزینه مقدار اولیه طرح رنگ را تنظیم می‌کند. بعداً می‌توان آن را با استفاده از kitten desktop-ui color-scheme تغییر داد.

accent_color cyan

رنگ تاکیدی (RGB) برای سیستم شما؛ می‌تواند به صورت نام رنگ یا در قالب هگزادسیمال مشخص شود.

contrast normal

سطح کنتراست ترجیحی.

اندازه پنجره بازشوی انتخاب‌گر فایل بر حسب سطر و ستون. به صورت پیش‌فرض تمام‌صفحه است. برای نمونه: file_chooser_size 25 80 باعث می‌شود اندازه پنجره بازشو ۲۵ سطر و ۸۰ ستون باشد. توجه داشته باشید در صورت استفاده از این گزینه، بسته به کامپوزیتور در حال اجرا، ممکن است پنجره بازشو به درستی مودال (modal) نباشد.

مسیر فایل پیکربندی مورد استفاده برای kitty هنگام رسم پنجره انتخاب‌گر فایل. می‌تواند چندین بار مشخص شود. به صورت پیش‌فرض از فایل عادی kitty.conf استفاده می‌شود. مسیرهای نسبی نسبت به دایرکتوری پیکربندی kitty سنجیده می‌شوند.

بازنویسی گزینه‌های پیکربندی تکی kitty برای پنجره انتخاب‌گر فایل. می‌تواند چندین بار مشخص شود. نحو: name=value. برای مثال: font_size=20.

Kovid Goyal

2026, Kovid Goyal

July 30, 2026 0.48.2