| kitten-desktop-ui(1) | kitty | kitten-desktop-ui(1) |
نام (NAME)
kitten-desktop-ui - اجزای رابط کاربری میزکار سازگار با ترمینال و صفحهکلید
نمای کلی (OVERVIEW)
افزودهشده در نسخه 0.43.0.
کاربران حرفهای ترمینال در لینوکس معمولاً ترجیح میدهند بهجای محیطهای میزکار کامل، از مدیر پنجرههای حداقلی و ساده (bare bones) استفاده کنند. این kitten کمک میکند تا بخشهایی از محیط میزکار که در اینگونه پیکربندیها وجود ندارند فراهم شوند؛ این کار با استفاده از اجزای رابط کاربری متمرکز بر ترمینال و سازگار با صفحهکلید انجام میشود. برخی از ویژگیهای آن عبارتند از:
- جایگزینی دیالوگهای متداول باز کردن/ذخیره فایل در برنامههای گرافیکی (GUI) با برنامه پرسرعت و صفحهکلیدمحور choose-files <> که در یک لایه نیمهشفاف کیتی اجرا میشود.
- امکان مدیریت ساده حالت روشن/تاریک (light/dark) میزکار از طریق خط فرمان.
نحوه نصب (HOW TO INSTALL)
نکته:
ابتدا دستور زیر را اجرا کنید:
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
نحوه کارکرد (HOW IT WORKS)
میزکارهای مدرن لینوکس دارای سازوکاری موسوم به پورتالها (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) کرده است، ویرایش کنید.
عیبیابی (TROUBLESHOOTING)
ابتدا مطمئن شوید که 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
توجه داشته باشید که همه برنامهها از پورتالها استفاده نمیکنند؛ بنابراین اگر برنامه خاصی در استفاده از پورتال ناموفق است اما بقیه کار میکنند، موضوع را به توسعهدهندگان آن برنامه گزارش دهید.
پیکربندی (CONFIGURATION)
میتوانید جنبههای مختلف عملکرد kitten را با ایجاد فایل desktop-ui-portal.conf در پوشه پیکربندی kitty خود <#confloc> تنظیم کنید. در ادامه دستورالعملهای پیکربندی پشتیبانیشده آورده شده است.
ظاهر (APPEARANCE)
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.
نویسنده (AUTHOR)
Kovid Goyal
حق نشر (COPYRIGHT)
2026, Kovid Goyal
| July 30, 2026 | 0.48.2 |