| I3(1) | i3 Manual | I3(1) |
نام (NAME)
i3 - مدیر پنجره کاشیکار بهبودیافته
خلاصه دستور (SYNOPSIS)
i3 [-a] [-c configfile] [-C] [-d all] [-v] [-V]
گزینهها (OPTIONS)
-a
-c
-C
-d all
-v
-V
--force-xinerama
--get-socketpath
--shmlog-size <limit>
--replace
توضیحات (DESCRIPTION)
مقدمه (INTRODUCTION)
پروژه i3 از آنجا شکل گرفت که wmii، مدیر پنجره محبوب ما در آن زمان، برخی قابلیتهای مدنظرمان را نداشت (برای نمونه، پیادهسازی اصولی و درست چندمانیتوره)، باگهایی داشت، برای مدت زمان نسبتاً طولانی پیشرفتی نکرده بود و توسعه و هک آن اصلاً آسان نبود (کامنتها و مستندات کد منبع کاملاً ناکافی بود). با این حال، ما معتقدیم توسعهدهندگان و مشارکتکنندگان wmii کار فوقالعادهای انجام داده بودند. از آنها برای الهام بخشیدن به ما در ساخت i3 سپاسگزاریم.
لطفاً توجه داشته باشید که i3 در وهله نخست برای کاربران پیشرفته و توسعهدهندگان هدفگذاری شده است.
نکته مهم برای کاربران درایور باینری nVidia
اگر از درایور باینری گرافیک nVidia (که به عنوان blob نیز شناخته میشود) قبل از نسخه 302.17 استفاده میکنید، لازم است هنگام راهاندازی i3 از فلگ --force-xinerama (در فایل ~/.xsession خود) به شکل زیر استفاده کنید:
exec i3 --force-xinerama -V >>~/.i3/i3log 2>&1
همچنین برای توضیحات کامل، به docs/multi-monitor مراجعه کنید.
اصطلاحات (TERMINOLOGY)
درخت (Tree)
پنجره (Window)
پنجره شناور (Floating Window)
کانتینر تفکیکشده (Split container)
کانتینرها را میتوان در چیدمانهای مختلف استفاده کرد. حالت پیشفرض "default" نامیده میشود و اندازه هر کلاینت را به طور یکسان تغییر میدهد تا جا شود.
فضای کاری (Workspace)
در i3، هر فضای کاری به یک صفحه نمایش مجازی خاص اختصاص داده میشود. به طور پیشفرض، صفحه ۱ دارای فضای کاری ۱، صفحه ۲ دارای فضای کاری ۲ و به همین ترتیب است... با این حال، هنگامی که یک فضای کاری جدید ایجاد میکنید (با جابجایی ساده به آن)، صفحهای که در حال حاضر در آن قرار دارید به آن اختصاص مییابد.
خروجی (Output)
مدیر پنجره i3 از رابط RandR برای پرسوجوی خروجیهای در دسترس و صفحههای متصل به این خروجیها استفاده میکند.
کلیدهای میانبر (KEYBINDINGS)
در اینجا یک بررسی کوتاه از کلیدهای میانبر پیشفرض آورده شده است:
Mod1+Enter
Mod1+d
j/k/l/;
Mod1+<direction>
Mod1+Shift+<direction>
Mod1+<number>
Mod1+Shift+<number>
Mod1+f
Mod1+s
Mod1+e
Mod1+w
Mod1+Shift+Space
Mod1+Space
Mod1+Shift+q
Mod1+Shift+r
Mod1+Shift+e
فایلها (FILES)
~/.config/i3/config (یا ~/.i3/config)
هنگام راهاندازی، i3 فایلهای پیکربندی را به ترتیب زیر جستجو میکند:
میتوانید با استفاده از گزینه -c یک مسیر دلخواه را مشخص کنید.
نمونه پیکربندی.
# فایل پیکربندی i3 (نسخه ۴)
# فونت برای عنوان پنجرهها. همچنین توسط نوار (bar) استفاده خواهد شد، مگر اینکه فونت دیگری
# در بلوک bar {} در زیر مشخص شده باشد.
# این فونت به طور گسترده نصب است، گلیفهای یونیکد زیادی ارائه میدهد، از رندر متن
# راستبهچپ پشتیبانی میکند و قابلیت مقیاسپذیری در نمایشگرهای hidpi/retina را دارد (به لطف pango).
font pango:DejaVu Sans Mono 8
# قبل از i3 نسخه ۴.۸، ما این مورد را به عنوان پیشفرض پیشنهاد میکردیم:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# فونت بالا بسیار کممصرف در فضا است، یعنی در اندازههای کوچک خوب، واضح و
# شفاف به نظر میرسد. با این حال، پوشش گلیف یونیکد آن محدود است، سیستم رندر قدیمی
# فونتهای اصلی X از راستبهچپ پشتیبانی نمیکند و از آنجا که یک فونت بیتمپ است،
# در نمایشگرهای hidpi/retina مقیاسپذیر نیست.
# استفاده از کلید Mod1+ماوس برای کشیدن پنجرههای شناور به موقعیت دلخواه
floating_modifier Mod1
# شروع یک ترمینال
bindsym Mod1+Return exec /usr/bin/urxvt
# بستن پنجره فوکوسشده
bindsym Mod1+Shift+q kill
# اجرای dmenu (راهانداز برنامه)
bindsym Mod1+d exec /usr/bin/dmenu_run
# تغییر فوکوس
bindsym Mod1+j focus left
bindsym Mod1+k focus down
bindsym Mod1+l focus up
bindsym Mod1+semicolon focus right
# به عنوان روش جایگزین، میتوانید از کلیدهای جهتنما استفاده کنید:
bindsym Mod1+Left focus left
bindsym Mod1+Down focus down
bindsym Mod1+Up focus up
bindsym Mod1+Right focus right
# جابجایی پنجره فوکوسشده
bindsym Mod1+Shift+j move left
bindsym Mod1+Shift+k move down
bindsym Mod1+Shift+l move up
bindsym Mod1+Shift+semicolon move right
# به عنوان روش جایگزین، میتوانید از کلیدهای جهتنما استفاده کنید:
bindsym Mod1+Shift+Left move left
bindsym Mod1+Shift+Down move down
bindsym Mod1+Shift+Up move up
bindsym Mod1+Shift+Right move right
# تفکیک در جهت افقی
bindsym Mod1+h split h
# تفکیک در جهت عمودی
bindsym Mod1+v split v
# ورود به حالت تمامصفحه برای کانتینر فوکوسشده
bindsym Mod1+f fullscreen toggle
# تغییر چیدمان کانتینر (stacked، tabbed، default)
bindsym Mod1+s layout stacking
bindsym Mod1+w layout tabbed
bindsym Mod1+e layout default
# تغییر وضعیت بین کاشیکاری و شناور
bindsym Mod1+Shift+space floating toggle
# تغییر فوکوس بین پنجرههای کاشیکاری و شناور
bindsym Mod1+space focus mode_toggle
# فوکوس روی کانتینر والد
bindsym Mod1+a focus parent
# فوکوس روی کانتینر فرزند
#bindsym Mod1+d focus child
# جابجایی به فضای کاری
bindsym Mod1+1 workspace 1
bindsym Mod1+2 workspace 2
# ..
# انتقال کانتینر فوکوسشده به فضای کاری
bindsym Mod1+Shift+1 move workspace 1
bindsym Mod1+Shift+2 move workspace 2
# ...
# بارگذاری مجدد فایل پیکربندی
bindsym Mod1+Shift+c reload
# راهاندازی مجدد درجا برای i3 (چیدمان/نشست شما حفظ میشود، برای ارتقای i3 نیز کاربرد دارد)
bindsym Mod1+Shift+r restart
# خروج از i3 (شما را از نشست X خارج میکند)
bindsym Mod1+Shift+e exit
# نمایش دکمههای فضای کاری به همراه خط وضعیت تولیدشده توسط i3status
bar {
status_command i3status
}
~/.xsession
این فایلی است که باید در آن محلیسازیها (locales) را پیکربندی کرده و i3 را اجرا کنید. این فایل به محض ورود شما توسط مدیر ورود (xdm, slim, gdm, ...) اجرا میشود.
نمونه xsession.
# غیرفعال کردن خاموش شدن صفحه توسط DPMS xset -dpms xset s off # غیرفعال کردن بوق هشدار xset -b # فعالسازی بستن اضطراری سرور X با کلیدهای میانبر C-A-<Bksp> setxkbmap -option terminate:ctrl_alt_bksp # اعمال محلیسازیهای صحیح از ابتدا: # مقدار LC_ALL لغو میشود زیرا همه متغیرها را بازنویسی میکند # از LANG=de_DE.UTF-8 استفاده میشود، به جز موارد زیر: # مقدار LC_MESSAGES=C هرگز خروجی برنامهها را ترجمه نمیکند # مقدار LC_TIME=en_DK منجر به خروجی تاریخ/زمان yyyy-mm-dd hh:mm میشود unset LC_ALL export LANG=de_DE.UTF-8 export LC_MESSAGES=C export LC_TIME=en_DK.UTF-8 # استفاده از XToolkit در برنامههای جاوا export AWT_TOOLKIT=XToolkit # تنظیم رنگ پسزمینه xsetroot -solid "#333333" # فعال کردن core dump در صورت بروز مشکل ulimit -c unlimited # شروع i3 و ثبت گزارش در ~/.local/share/i3/log mkdir -p ~/.local/share/i3 echo "Starting at $(date)" >> ~/.local/share/i3/log exec /usr/bin/i3 -V -d all >> ~/.local/share/i3/log
محیط (ENVIRONMENT)
I3SOCK
این متغیر مسیر سوکت IPC را رونویسی و جایگزین میکند (برای مکان پیشفرض به راهنمای کاربر مراجعه کنید). سوکت IPC توسط برنامههای خارجی مانند i3-msg(1)، i3bar(1) یا اسکریپتهای کاربر استفاده میشود.
همچنین ببینید (SEE ALSO)
شما باید یک نسخه از راهنمای کاربر (شامل تصاویر و اسکرینشاتها که به همین دلیل در این صفحه راهنما ادغام نشده است)، راهنمای اشکالزدایی و راهنمای توسعه ("how to hack") را داشته باشید.
همچنین میتوانید به صورت آنلاین در نشانی https://i3wm.org به این مستندات دسترسی پیدا کنید.
i3-input(1), i3-msg(1), i3bar(1), i3-nagbar(1), i3-config-wizard(1), i3-migrate-config-to-v4(1)
نویسندگان (AUTHORS)
Michael Stapelberg و مشارکتکنندگان
| 02/06/2026 | i3 4.25.1 |