التكوين — Liu Terminal

إعداد Liu Terminal. خصّص السمات واختصارات لوحة المفاتيح والخطوط والإعدادات عبر ملف إعداد JSON.

يوجد config.json في ~/.config/Liu/config.json. المفاتيح هي سلاسل وأرقام مسطحة على المستوى الأعلى (وليست كائنات متداخلة). يحمّلها Liu عند التشغيل ويعيد تحميلها تلقائيًا عند تغيير الملف على القرص. تُتجاهل المفاتيح غير المعروفة.

تخطيط الملف

~/.config/Liu/
├── config.json        # إعدادات التطبيق الرئيسي
├── keybindings.json   # اختصارات مخصصة (راجع صفحة اختصارات المفاتيح)
├── known_hosts        # المضيفون المعروفون بصيغة OpenSSH
├── vault.db           # خزنة SQLite مشفرة AES-256-GCM (اشتقاق مفتاح PBKDF2)
└── themes/
    ├── my-theme.json
    └── ...

الحقول ذات المستوى الأعلى

theme string "Liu"

اسم المظهر النشط. يجب أن يطابق أحد المظاهر الـ18 المدمجة أو ملف JSON في ~/.config/Liu/themes/.

font_path string "JetBrainsMono-Regular.ttf"

ملف الخط الأساسي. تُحل أسماء الملفات البسيطة مقابل دليل fonts المضمّن؛ المسارات المطلقة تعمل أيضًا.

font_size number 16

حجم النقطة قبل تحجيم DPI.

enable_ligatures boolean true

تبديل تشكيل رموز الربط البرمجية.

cursor_style number 0

0 = block · 1 = underline · 2 = bar

cursor_blink boolean true

يومض في الأجزاء المركز عليها فقط.

scrollback number 1000

أسطر لكل جزء (محدودة 0–20000). الذاكرة تزداد مع cols × scrollback.

vault_auto_lock_minutes number 15

قفل تلقائي بعد N دقيقة من الخمول (0 = قفل يدوي فقط).

quake_mode boolean false

تمكين نافذة الانزلاق بنمط Quake (يتطلب quake_hotkey).

quake_hotkey string "Ctrl+`"

سلسلة الاختصار العالمي عندما يكون quake_mode صحيحًا.

مفاتيح أخرى مدعومة

يعرض الجدول أعلاه القيم الأكثر تعديلًا. يقبل المحمل أيضًا مجموعات المستوى الأعلى المسطحة التالية:

  • line_height, font_normalize, font_smoothing, font_weight and fallback_font_0 … fallback_font_3 control font metrics and fallback fonts. Defaults: 1.0, true, true, 0; font weight is clamped to 0–2.
  • tab_sleep_idle_minutes defaults to 20; confirm_close_agent, bold_is_bright, show_scrollbar, show_tab_bar, show_toolbar_icons and show_git_badge default to true. bidi_enabled, hide_title_bar and show_status_bar default to false.
  • sidebar_width defaults to 240 and is clamped to 160–500; opacity defaults to 1.0 and is clamped to 0.2–1.0; padding defaults to 2.
  • browser_enabled, browser_last_url and browser_recent_0 … browser_recent_7 store browser state. The in-app browser is available on the macOS WebKit build.
  • option_as_alt accepts off, left, right or both; prompt_recall accepts off, badge or always. cursor_animate defaults to false, notify_command_threshold to 10, and allow_osc52_write to false.
  • background_image, notes_vault_path, background_mode (stretch/center/tile/fill), background_opacity, background_blur and background_blur_radius configure the image layer. The defaults are empty path, empty path, fill, 0.3, false and 10.
  • quake_mode, quake_hotkey, quake_height_ratio and quake_animation_duration default to false, Ctrl+`, 0.4 and 0.2; their numeric ranges are 0.1–1.0 and 0–10.
  • profile_count plus profile_<index>_name, _font_path, _font_size, _theme, _cursor_style and _opacity define up to 16 profiles. Translate-on-Tab and Voice keys are documented on their dedicated pages.
  • site_count plus site_<index>_name, _path, _command and _port define up to 32 Site Manager entries; runtime process state is not persisted.

تُحفظ مفاتيح النمط مثل style_tab_gap و style_sidebar_min_width و style_terminal_padding أيضًا في config.json. ارتفاع شريط الأدوات وعرض علامات التبويب ثوابت تخطيط وقت التجميع وليست مفاتيح قابلة للتكوين.

مثال

{
  "theme": "Tokyo Night",
  "font_path": "JetBrainsMono-Regular.ttf",
  "font_size": 14,
  "enable_ligatures": true,
  "cursor_style": 2,
  "cursor_blink": false,
  "scrollback": 5000,
  "vault_auto_lock_minutes": 30,
  "quake_mode": true,
  "quake_hotkey": "Ctrl+`"
}

عدد علامات التبويب محدود بـ 32 لكل نافذة (MAX_TABS في src/ui/ui.h) — غير قابل للتكوين هنا. يُختار backend GPU عند التجميع (Metal على macOS، OpenGL في الأنظمة الأخرى). تُقيَّد الحقول الرقمية مثل scrollback بمدى آمن عند التحميل.

العودة إلى مقدمة ↺

المستندات

البدء

الأدلة

المراجع

لغات أخرى

English · Türkçe · 简体中文 · 한국어 · Español · Deutsch · Italiano · Français · 日本語