آموزش i3wm: پیکربندی

آموزش i3wm: پیکربندی

post banner picture

با کلی تاخیر بریم سراغ قسمت دوم دوره آموزش i3wm ، توی قسمت قبلی دستورات و شرت کات های i3 رو برسی کردیم، توی این قسمت قراره یه کانفیگ اولیه برای این مدیر پنجره درست کنیم
اگه قسمت قبلی رو نخوندید خوندن این پست رو ادامه ندید و از قسمت اول شروع کنید
برای خوندن قسمت اول این دوره کلیک کنید
برای مطلع شدن از قسمت های بعدی این آموزش کانال ما توی تلگرام رو دنبال کنید

بریم که قسمت دوم آموزش i3wm رو شروع کنیم


باز کردن فایل کانفیگ

برای باز کردن فایل کانفیگ میتونید از هر ادیتوری که دوست دارید و راحت تر هستید استفاده کنید

قبل از هر کاری باید فایل کانفیگ رو به هوم خودتون اضافه کنید برای این کار دستور زیر رو وارد کنید

sudo cp -r ~/.config/i3/* ~/.i3/

حالا برای باز کردنش دستور زیر رو بزنید، من از ویم استفاده میکنم شما میتونید به جای vim هر ادیتوری رو بزنید

vim ~/i3/config

فایل کانفیگ یه چیزی شبیه به اینه:

# Use Mouse+$mod to drag floating windows to their wanted positiofloating_modifier $mod
# start a terminal
bindsym $mod+Return
exec i3-sensible-terminal
# kill focused window bindsym
$mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# change focus bindsym $mod+j focus left bindsym $mod+k focus down bindsym $mod+l focus up
bindsym $mod+semicolon focus right

برای دیدن کامل کلیک کنید

همونطور که میبینید چیز پیچیده ای نداره و کانفیگ کردنش سادس
با خوندن این پست میتونید تا حد زیادی مشکلاتتون رو توی کانفیگ کردن i3 برطرف کنید و چیزی رو بسازید که دوست دارید

کامنت ها

در مدیر پنجره آی تری کامنت ها با علامن هشتگ(#) مشخص میشن، برای مثال:

# Test Comment

توی i3 کامنت ها خونده نمیشن که اگه برنامه نویس باشید با این مساله اشنا هستید
از کامنت ها معمولا برای راهنمایی گذاشتن درباره اون کاری که داره انجام میشه یا برای توضیحات استفاده میشه

-فونت ها

سینتکس فونت ها در آی تری:

font <X core font description>
font pango:<family list> [<style options>] <size>

حالا که سینتکس فونت هارو توی آی تری میدونیم بریم که فونت اضافه کنیم برای این کار این خط رو به فایلتون اضافه کنید و اگه فونت دیگه ای توی کانفیگتون بود اون رو کامنت یا پاک کنید تا از فونت جدید استفاده بشه

font pango:DejaVu Sans Mono 10

این دستور فونت dejavu sans با حالت mono رو با سایز 10 به کانفیگ شما اضافه میکنه

ساخت کیبورد شرت کات ها

bindsym [--release] [<Group>+][<Modifiers>+]<keysym>
bindcode [--release] [<Group>+][<Modifiers>+]<keycode>

برای مثال شرت کات برای ریبوت کردن سیستم:

bindsym $mod+Shift+r "systemctl reboot"

تنظیم تصویر زمینه

برای اینکه از تصویر زمینه استفاده کنید باید نرم افزار feh رو نصب کنید
برای نصب به این جدول توجه کنید

نصب در ارچsudo pacman -S feh
نصب در فدوراsudo dnf install feh
نصب در سنت او اسsudo yum install feh
نصب در اوبونتوsudo apt install feh
نصب در جنتوsudo emerge --ask media-gfx/feh

خب بعد از نصب این خط را به فایل کانفیگ خودتون اضافه کنید

exec_always --no-startup-id feh --bg-fill [BACKGROUND FILE ADDR]

فارسی سازی کیبورد

برای فارسی سازی کیبورد خودتون با کلید های ترکیبی alt و shift این خط را به فایل کانفیگ خودتون اضافه کنید
برای اعمال این تغییرات باید یک بار i3 را مجددا اجرا کنید برای این کار دستور زیر را استفاده کنید

$mod+Shift+r

خب بریم برای فارسی سازی ، برای فارسی سازی کیبورد دستور زیر رو استفاده کنید

exec_always setxkbmap -layout us,ir -option "grp:alt_shift_toggle"

به جای آلت و شیفت میتونید از هرچیزی استفاده کنید

استفاده از تاچ پد

برای اینکه در تاچ پد کلیک هم داشته باشید این خط را به فایل کانفیگ خودتون اضافه کنید

bindsym XF86TouchpadToggle exec /some/path/toggletouchpad.sh

کسایی که تاچ پد ندارن این قسمت رو بیخیال بشن

کم و زیاد کردن صدا

برای اینکه از کلید های مخصوص کم و زیاد کردن صدا در کیبورد استفاده کنید این خطوط رو به فایل کانفیگتون اضافه کنید

bindsym XF86AudioPlay exec playerctl play
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous

قبل از اینکه اضافه کنید باید نرم افزار playerctl رو نصب کنید

تنظیم نور صفحه

برای تنظیم نور صفحه این خطوط را به فایل کانفیگ اضافه کنید

bindsym XF86MonBrightnessUp exec xbacklight -inc 20
bindsym XF86MonBrightnessDown exec xbacklight -dec 20

استفاده از networkmanager applet

برای استفاده از nm applet در i3bar باید اول اون رو نصب کرده باشید
بعد این خطوط رو به فایل کانفیگتون اضافه کنید

exec --no-startup-id nm-applet

تنظیم حاشیه ها برای پنجره های جدید

سینتکس حاشیه های جدید:

default_border normal|none|pixel
default_border normal|pixel <px>
default_floating_border normal|none|pixel
default_floating_border normal|pixel <px>

برای مثال اگر پنجره ای بخواهیم با حاشیه های دو پیکسل از این دستور استفاده میکنیم

default_border pixel 2

یا برای پنجره های بدون حاشیه از این دستور

default_border none

برای پنجره های نرمال هم از این دستور

default_border normal

برای پنجره های شناور هم این دستورات را استفاده کنید

پنجره شناور با حاشیه های دو پیکسلی

default_floating_border pixel 2

پنجره های شناور بدون حاشیه

default_floating_border none

و برای پنجره های شناور نرمال از این دستور استفاده کنید

default_floating_border normal

تنظیم سایز برای پنجره های شناور

برای این کار این خطوط رو باید به کانفیگتون اضافه کنید

floating_minimum_size <width> x <height>
floating_maximum_size <width> x <height>

به جای <width> عرض را و به جای <height> طول را اضافه کنید

تمرکز بر اساس حرکت موس

اگه با i3 کار کرده باشید میدونید که به صورت پیشفرض کرسر موستون روی هر پنجره ای بره از اون استفاده میشه

برای اینکه این حالت رو خاموش کنید این

خط رو به کانفیگ اضافه کنید

focus_follows_mouse no

برای فعال کردنش هم به جای no بنویسید yes

ایجاد متغیر

ایجاد متغیر توی i3 کار خیلی راحتیه فقط کافیه توی فایل کانفیگتون این خط رو اضافه کنید

set $var COMMAND,TEXT,...

به همین راحتی (((((((:

چند اسکرین شات برای رفع خستگی و ایده گرفتن

اینو گذاشتم که خسته نشید چون واقعا طولانی شده این پست و یکم ایده بگیرید برای کانفیگی که قراره انجام بدید و بدونید که i3 زشت نیست فقط کانفیگ لازم داره(((:

نتیجه تصویری برای ‪i3wm‬‏
نتیجه تصویری برای ‪i3wm‬‏
نتیجه تصویری برای ‪i3wm‬‏
نتیجه تصویری برای ‪i3wm‬‏
نتیجه تصویری برای ‪i3 config‬‏
نتیجه تصویری برای ‪i3 config‬‏
نتیجه تصویری برای ‪i3 config‬‏

خب دیگه کافیه بریم ادامه این آموزش

رنگ ها

رسیدیم به قسمت آخر آموزش i3wm
قسمتی که نقش خیلی مهمی توی زیبایی محیط i3 شما داره

بریم که اخرین قسمت از قسمت دوم آموزش i3wm رو شروع کنیم کنیم

توی i3 رنگ ها خیلی بخش گسترده ای هست و من فقط برای حاشیه پنجره ها رو میگم توی این قسمت
رنگ های دیگه حتما توی قسمت های بعدی خواهند بود

client.focused

این رنگ ، رنگ حاشیه های پنجره ای هست که روی اون تمرکز دارید، یه بهتره بگم پنجره ای که از اون درحال استفاده هستید

client.unfocused

این رنگ هم برخلاف رنگ قبلی برای پنجره ای هست که روی اون تمرکز ندارید یا باهاش کار نمیکنید

client.urgent

این رنگ مربوط میشه به حالت فوری

client.placeholder

این رنگ هم از رنگ متن برای جلب محتویات رنگ بندی استفاده میکنه(منم نمیدونم چی میشه فقط ترجمشه) برای همین متن انگلیسیش رو هم میزارم
متن انگلیسی:
Background and text color are used to draw placeholder window contents (when restoring layouts). Border and indicator are ignored.
حتما ترجمه درستش رو کامنت کنید و کلا هر اشتباهی که توی این پست هست تا درستش کنم

client.background

این هم همونطور که از اسمش مشخصه رنگ پس زمینه هست ، این رنگ فقط یک رنگ رو دریافت میکنه

این هم یک نمونه از رنگ ها در i3
همونطور که میبینید رنگ ها به صورت hex هستن برای دریافت این رنگ ها کلیک کنید

class border backgr. text indicator child_border
client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c

client.background #ffffff

توی مثال بالا چند قسمت برای رنگ وجود داره که هر کدوم برای یک کاری هستن، مثلا:

border برای حاشیه ها

backgr برای رنگ پس زمینه

text برای رنگ متن ها

indector برای نشان دادن جهت تقسیم

child_border برای رنگ حاشیه های فرعی یا حاشیه های کناری


ویدیو های آموزشی

اگه ویدیو های آموزشی رو بیشتر از متن دوست دارید توصیه میکنم این ویدیو هارو ببینید
البته در کشور عزیزمون سانسور هست یوتیوب ولی خودتون میدونید چیکار کنید و اگه باز نشد هم که دلیلش فیلترینگه

ویدیو قسمت اول

ویدیو قسمت دوم

ویدیو سوم و آخرین ویدیو

این ویدیو هارو کانال code cast درست کرده و آموزش خیلی خوبیه

سایت های آموزشی

قطعا سایت های آموزشی زیادی برای این مدیر پنجره هستن ولی من میخام بهتون بهترینش رو معرفی کنم یعنی سایت رسمی i3wm.org

این سایت یکی از کامل ترین آموزش هارو داره برای این مدیر پنجره و من برای این اموزش کمی ازش کمک گرفتم

بخش پایانی

این قسمت از دوره آموزش i3wm هم تموم شد
امیدوارم از این پست خوشتون اومده باشه
توی این پست سعی کردم هرچیز که ضروری هست رو بگم ولی بازم خیلی طولانی شد و نیازمند قسمت های جدیده

توی قسمت بعدی میریم سراغ کانفیگ i3status و i3gaps و چیزای دیگه
من برای این اموزش یک کانفیگ آماده کردم و روی گیتهاب منتشرش کردم برای دیدن کلیک کنید

https://github.com/dr-cyb3r/myi3

به جز i3 مدیر پنجره های زیادی هست و برای آموزش مدیر پنجره بعدی یا هر اموزشی که دوست دارید حتما بهم ایمیل بزنید به ایمیل linuxswblog@gmail.com حتما میخونم و سعی میکنم که اموزشش رو بزارم

این پست رو هم مثل پست های دیگه بداهه نوشتم، امیدوارم زیاد بد نشده باشه چون پست هارو نمیخونم قبل از منتشر کردن
باید این مشکل رو درست کنم

تا قسمت بعدی یا پست بعدی ((:
موفق باشید(((:

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *