صفر و یک - برنامه نویسی - لینوکس

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

صفر و یک - برنامه نویسی - لینوکس

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

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

آخرین نظرات

  • ۱۰ بهمن ۹۵، ۰۲:۴۲ - Black Riders
    عالی

نویسندگان

روزی، روزگاری با i3 - پیکره‌بندی اولیه

جمعه, ۹ آبان ۱۳۹۳، ۱۲:۵۸ ب.ظ

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 و استفاده‌ی کاراتر از اون رو خواهم نوشت.

 

این پست‌ها را هم ببینید:

از گنوم تا i3 : سقوط یا صعود؟

معرفی ۵ مدیر پنجره محبوب لینوکسی

تفاوت بین مدیر پنجره و محیط رومیزی

 

نظرات  (۶)

بسیار جالب، ولی من تقریبا بدون ماوس با unity همه کار می کنم بخصوص قابلیت HUD که حتی امکان جستجو تو منو ها رو با کیبورد بهت میده.
پاسخ:
ممنون سعیدجان.
بله همین طوره معمولاً تمام دسکتاپ‌ها رو هم می‌شه تا حدود زیادی با کی‌بورد کنترل کرد، دلیل انتخاب مدیر پنجره به جای دسکتاپ بیشتر امکانات بسیار زیاد شخصی سازی در اون‌هاست.
درود
بسیار بسیار سپاسگزارم واقعا چه متن کامل و خوبی بود . دیروز به هر زحمتی بود شروع کردم
کلیدهای ترکیبی رو توی dwm شناختم . i3 هم حالا که این متن رو خوندم خیلی شبیه به dwm هست .
یه سوال : چه طور میتونیم منوی برنامه ها رو ببینیم ؟ اصلا چنین امکانی وجود داره ؟ یا فقط باید اسم برنامه رو
یادمون باشه و تایپش کنیم تا اجرا بشه ؟

متشکرم
پاسخ:
سلام فرهاد عزیز. ممنون که مرتب سر می‌زنی.
اون پیغامت رو تازه دیدم. جوابش رو برات می‌فرستم.
در مورد منو هم راه‌هایی برای ساختن منو هست اما دردسرشون زیاده. استفاده از dmenu به مرور برات راحت تر از منو‌ها می‌شه.

اوه! من بیشتر از openbox دیگه نمیتونم پیشروی کنم! کار با i3 و awesome و ... خیلی عذاب آوره!

تو این لینک برای tint2 گزینه start menu اضافه کرده، ولی من نتونستم راه بندازمش! یه جای کار میلنگه! ولی تو اسکرین‌شات‌ها مشخصه طرف اضافه‌اش کرده و داره کار میکنه!

فکر کنم اضافه کردن tint2 به i3 یه مقدار جذاب‌تره کنه دسکتاپو! شاید!

http://crunchbang.org/forums/viewtopic.php?id=19277
پاسخ:
جالب بود، تستش می‌کنم. ممنون محمد جان.
درود عزیز ازمایش کردم و عالی بود نسبت به بقیه
ولی وقتی به فارسی نویسی احتیاج داریم چی کار کنیم ؟؟؟
پاسخ:
زنده باشی sh عزیز.
این مطلب از شاهین عزیز رو بخونید.
سلام علی رضای عزیز
فونت عربی رو فعال کردم ک خود i3 اون رو داره
در مورد خطا : می کفت ک ستاتوس بار رو بیدا نمی کنه و (0) exit رو نشون می داد
اون توضیحات شاهین عزیز هم برای بج جواب نداد در ununtu 15.04
خخخخخخخخخخ
10 دقیقه زمان برد تا با کلید های عربی نوشتم :D
-------------------------
دوستان | اکه خواستن استفاده کنن
بعد از کافیک بیشفرض و ورود کوشه سمت راست نوشته us
روی اون اکر کلیک راست کنید از منوی Prefrences
و بعد input method
و بعد add
و در نهایت هم General کلیدی رو بهش اختصاص بدید
(این متن با صفحه عربی در i3 نوشته شده )
Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBengaliBelarusianBulgarianCatalanChinese (Simp)Chinese (Trad)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKannadaKoreanLaoLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTamilTeluguThaiTurkishUkrainianUrduVietnameseWelshYiddish
AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBengaliBelarusianBulgarianCatalanChinese (Simp)Chinese (Trad)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKannadaKoreanLaoLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTamilTeluguThaiTurkishUkrainianUrduVietnameseWelshYiddish
Text-to-speech function is limited to 100 characters
پاسخ:
نیازی به پچ نیست از اون اسکریپتی که شاهین نوشته استقاده کن.
درود / بخشش عزیز برای سوال های مبتدیانه
در i3 وقتی file manager رو اجرا می کنم / از محیط i3 خارج و وارد gnome میشه
ایا برای من اینطوری هست؟؟؟
یا درواقع چطور فایل منیجر رو اجرا کنم که خارج نشه از محیط i3 ?
ممنون
پاسخ:
سلام شکیب عزیز. خواهش می‌کنم زنده باشید.
متوجه منظورتون نشدم اما بهتره از یه فایل منیجر دیگه به جز nautilus استفاده کنید.
گزینه های پیشنهادی:

thunar
pcmanfm
xfe
rox

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی