روزی، روزگاری با i3 - پیکرهبندی اولیه
همونطور که قرار شد توی این مقاله در مورد استفاده و پیکرهبندی i3 صحبت میکنیم. i3 رو میشه کامل با کیبورد کنترل کرد و از ماوس کم سرعت جدا شد. برای همین قسمت بزرگی از بخش تنظیمات i3 مربوط به کیبورد میشه. تنظیمات i3 توی یه فایل simple text ذخیره میشن و این یکی از مزایای i3 نسبت به رقبای قدرشه. به سادگی میشه کلیدهای میانبر رو تعریف کرد، تنظیمات مربوط به نمایش border ها و اندازهی پنجرهها رو تغییر داد و برنامههای startup رو تعیین کرد.
اول i3 رو نصب کنید و اجراش کنید. یه صفحهی خالی با یه بار ساده میبینید، تعجب نکنید اگه با کلیک ماوس هیچ منویی براتون باز نمیشه چون قراره همهی کارها رو با کیبورد انجام بدید.
تنظیمات i3 توی مسیر i3./~ قرار دارن پس به اونجا برید و فایل config رو باز کنید. اولین گزینهای که میبینید این خطه:
set $mod Mod4
توی i3 برای اینکه بتونید کارهاتون رو با کیبورد انجام بدید به یه سری کلید ترکیبی نیاز دارید که با کلید Mod شروع میشن. Mod4 همون دکمهی ویندوز روی کیبورده و Mod1 دکمهی Alt. اما به نظر من از Alt استفاده نکنید چون کاراییش رو توی برنامهها از دست میده.
خط بعدی مربوط به فونت مورد استفاده میشه. بهتره فونت رو عوض کنید و از یه فونت با پشتیبانی یونیکد استفاده کنید:
font pango:DejaVu Sans Mono 10
i3 میتونه به جز حالت Tiling از حالت Floating (اینجا رو ببینید) هم پشتیبانی کنه. این خط بهش میگه که برای رفتن به حالت Floating از چه کلیدهایی استفاده کنه:
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
توی حالت Floating نمیتونید با ماوس پنجرهها رو جابجا کنید، برای این کار باید از یه کلید ترکیبی استفاده کنید که همون mod و کلیک راسته:
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
کلاً استفاده از bindsym این طوریه:
bindsym عملیات-مورد-نظر کلیدهای-ترکیبی
مثلاً برای جابجا شدن بین پنجرهها:
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
هر وقت تنظیمات رو تغییر دادید و خواستید نتیجه رو ببینید میتونید i3 رو با Mod و Shift و r ریاستارت کنید:
# restart i3 inplace (preserves your layout/session, can be used to
bindsym $mod+Shift+r restart
برای خروج از i3 هم از Mod و Shift و e استفاده کنید:
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
تغییر اندازه پنجرهها با Mod و r انجام میشه. بعدش میتونید با کلیدهای جهتی اندازهی پنجره رو تغییر بدید:
# resize window (you can also use the mouse for that)
bindsym $mod+r mode "resize"
i3 به خوبی از روش کار Vim پشتیبانی میکنه پس هر جا که کلیدهای جهتی کار میکن میتونید از کلیدهای j برای چپ، k برای پایین، l برای بالا و ; برای راست هم استفاده کنید.
برای حرکت بین فضاهای کاری میتونید از Mod به همراه شماره اون Workspace استفاده کنید:
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
برای انتقال یه پنجره به یه Workspace دیگه از کلیدهای Mod و Shift و شماره Workspace استفاده کنید:
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
ترمینال رو براحتی با کلیدهای Mod و Return (اینتر) باز کنید:
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
من از terminator استفاده میکنم پس خط بالا رو این طوری تغییر میدم:
bindsym $mod+Return exec --no-startup-id terminator
تقسیم شدن صفحه معمولاً به صورت عمودیه، اما امکان تقسیم شدن صفحه به صورت افقی هم هست:
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
i3 میتونه برای لایه بندی از مودهای پایین پشتیبانی کنه:
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
برای بستن پنجرههای باز از Mod و Shift و q استفاده کنید:
bindsym $mod+Shift+q kill
برای تمام صفحه کردن پنجرهها هم از Mod و f استفاده کنید:
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
توی تمام تنظیمات بالا میتونید دکمههای مورد نظر خودتون رو به جای دکمههای پیش فرض i3 بذارید.
میرسیم به قسمت bar یا همون نوارابزار سیاه رنگ پایین صفحه. تنظیمات bar توی یه تگ نوشته میشن:
bar {
}
مهمترین قسمت قسمتیه که با status_command شروع میشه. توی i3 میشه برای قسمت status بار از چند تا بار مختلف استفاده کرد. اولیش بار پیش فرض i3 یا همون i3bar که برای استفاده کردنش باید این خط رو به تگ بار اظافه کنید:
bar {
status_command i3bar
}
i3bar خیلی سادست و امکانات کمی داره و معمولاً از بارهای دیگهای به جای اون استفاده میشه.
شما میتونید از بارهای مختلفی به جای i3bar استفاده کنید مثل py3status یا i3blocks یا i3situation یا conky-i3bar . توی مقالههای بعدی راجع به استفاده از چندتاشون توضیح میدم.
مکان بار با position مشخص میشه. در حالت پیش فرض پایینه و میتونید این طوری ببریدش بالا:
bar {
position top
}
برای تنظیم رنگها هم از تک colors استفاده کنید:
bar {
colors {
background #000000
separator #666666
statusline #ffffff
focused_workspace #44bbff #3276E8 #ffffff
active_workspace #333333 #5f676a #ffffff
inactive_workspace #333333 #222222 #888888
urgent_workspace #2f343a #900000 #ffffff
}
}
برای اجرای اسکریپتها یا برنامهها با استفاده از میانبرهای صفحه کلید از exec استفاده کنید. مثلاً برای کم و زیاد و قطع کردن صدا:
# volume
bindsym XF86AudioRaiseVolume exec amixer sset Master 2%+
bindsym XF86AudioLowerVolume exec amixer sset Master 2%-
bindsym XF86AudioMute exec amixer sset Master toggle
آخرین قسمت هم مربوط به اجرای برنامههای استارتآپ میشه. مثالهای زیر رو ببینید:
exec conky
exec xscreensaver -no-splash
exec xscreensaver -no-splash
و این هم اجرای برنامهها در Workspace خاص:
exec --no-startup-id i3-msg 'workspace 3; exec nautilus'
exec --no-startup-id i3-msg 'workspace 2; exec firefox'
exec --no-startup-id i3-msg 'workspace 1; exec terminator -b'
فعلاً تا همین جا کافیه. فقط لازمه بگم که برای اجرای برنامههای نصب شده روی سیستم توی i3 از dmenu استفاده کنید که کلیدش هم توی تنظیمات Mod و d تعریف شده.
bindsym $mod+d exec dmenu_run
توی پستهای بعدی مطالبی در مورد تغییرات ظاهری i3 و استفادهی کاراتر از اون رو خواهم نوشت.
این پستها را هم ببینید: