تجربهٔ کار با i3 یک رقیب قدر‌!

Jul 5, 2012·

4 min read

ویژگی‌ها:

مستند‌سازی عالی:

برای ورود به دنیای i3 جدای از این که اگر از Awesome استفاده کرده باشید نیاز به یادگیری چیز زیادی ندارید‌، می‌توانید به یک [User guide](i3wm.org/docs/userguide.html "i3 userguide") عالی که توسط توسعه دهندگانش حاضر شده مراجعه کنید‌. چیزی که متاسفانه برای Awesome پیدا نمی‌شد‌!

فایل config:

کانفیگ میزکار Awesome با زبان lua نوشته می‌شد‌ که همین امر قابلیت‌های زیادی هم برایش به همراه می‌آورد‌. حال ممکن است که text بودن کانفیگ i3 کمی مایوس کننده به نظر برسد‌. اما سادگی و کارایی‌اش به خوبی کمک حالم شد‌. حقیقتش را بخواهید تا آخرین لحظات هم از زبان lua سر در نیاوردم و همین امر باعث شده بوده که بیشتر از کانفیگ‌های دیگران برای تنظیمات Awesome بهره بگیرم‌. ولی الان روی i3 همه چیز تحت کنترل من است‌. از طرفی اگر در فایل کانفیگ اشتباهی رخ داده باشد‌، سیستم خطایاب میزکار به دقت محل خطا و دلیلش را نشان می‌دهد‌، در حالی که در Awesome دیگر فایل کانفیگ لود نمی‌شد و از کانفیگ پیش‌فرض برای لود سیستم استفاده می‌شد‌.

Tiling دستی

حقیقتش را بخواهید دلیل جذب شدنم به Awesome قابلیت کنترل تمام و کمالش به کیبورد بود و نه Tilingاش‌! حتما می‌پرسید چرا؟ Tiling در Awesome به صورت خودکار انجام می‌گرفت و با وجود قابلیت استفاده از layout‌های مختلف هنوز هم یک جای کار می‌لنگید‌!‌ مثلا من نیازی ندارم که دیکشنری mdic هم tile شود‌! آن هم هر دفعه که می‌خواهد یک لغت ترجمه کند‌، این شد که کلا قابلیت نمایش پنجرهٔ mdic را بی‌خیال شده بودم و برای ظاهر نشدنش در هر جا به یک میزکار جدا محدودش کرده بودم‌. نرم‌افزار‌هایی از این دست برایم زیاد بودند‌. مثل gimp یا vlc یا صفحهٔ گفتگوی Pidgin! حالا i3 چطور کمکم می‌کند؟ در i3 به راحتی می‌توان تعیین کرد پنجرهٔ بعدی کجا باز شود و یا حالت پیش‌فرضی برای باز شدن پنجره‌ها تایین کرد‌. مثلا با یک meta+v می‌گویم پنجرهٔ بعدی زیر پنجرهٔ حاضر باز شود‌! البته هنوز یک مشکل هم دارم که احتمالا باگ باشد‌ (با این زبان داغانم [در اینجا](faq.i3wm.org/question/210/split-an-specific.. "i3 faq") به مشکل اشاره کردم‌). یا اصلا می‌توان گفت که یک پنجره tile نشود‌! meta+shift+space پنجره را می‌کند و دیگر خیالت راحت است!

میزکار‌های داینامیک‌:

در آوسام شما یک تعدادی میزکار به صورت پیش‌فرض تعیین می‌کنید و باقی فعالیت‌هایتان محدود به همین میزکار‌هاست (البته این اواخر یک پلاگین هم پیدا کرده بودم که امکان ایجاد میزکار‌های جدید به صورت داینامیک را می‌داد). همچنین اگر میزکاری خالی بود هنوز هم جزو میزکار‌هایتان حساب می‌شد‌. اما در i3 شما عملا به تعداد میزکار‌های مورد استفاده‌تان میزکار دارید‌! همچنین میزکار‌های خالی بی‌خودی سیستمتان را معطل نمی‌کنند و بلافاصله حذف می‌شوند‌.

مشکلات:

پشتیبانی نکردن از تایتل‌های فارسی:

اعلان خط به صورت -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 که فکر می‌کنم مربوط به X باشد و با استفاده xfontsel قابل تعیین است‌، متاسفانه امکان استفاده از فونت‌های یونیکد را نمی‌دهد ( یا یه همچین چیزی! هنوز درست مشکل را درک نکرده‌ام! باید بیشتر تحقیق کنم ) همین می‌شود که در تایتل‌های فارسی برنامه‌ها که در فایرفاکس بیشتر از همه نمود پیدا می‌کند‌، به مشکل بر بخوریم‌. البته این مشکل را حل کرده‌ام و در پست بعد در موردش می‌نویسم‌.

قابلیت‌های گزارش دهی ضعیف i3status:

این برنامه در واقع برای گزارش‌گیری این نرم‌افزار و دادن اطلاعات برای منوهای میزکار ساخته شده‌. ولی با وجود این که اطلاعات اولیه خوبی ارائه می‌دهد ولی هنوز هم با وجود ابزاری مثل [conky](shahinism.com/blog/1391/01/08/%db%8c%d8%a7%.. "یادداشتی در مورد conky و داشتن خروجی فارسی روی آن") وجودش تقریبا بیهوده است‌.

keybinding برای تغییر صفحه کلید:

حقیقتش این یکی نابودم کرد تا حلش کنم‌! دوست نداشتم روی X کلیدی تعریف کنم که صفحه کلید را تغییر دهد‌. از طرفی نمی‌خواستم عادت چندساله‌ام برای Alt+shift را کنار بگذارم‌. یعنی حقیقتش در اولین اقدام آمدم با Capslock این کلیدها را جایگزین کنم که عوض دو حالت‌، سه حالته شد‌! یعنی یک بار که می‌زدی انگلیسی بود‌، بار بعد انگلیسی Capital بود و بار بعد فارسی می‌شد (که باید دنبال دلیلش بگردم و اگر شد این کلید را جایگزین کنم). بگذریم‌! مشکل اینجا بود که برای keybindingها می‌شود از یک کلید یا یک metakey به علاوهٔ یک کلید استفاده کرد‌! حالا مشکل اینجا بود که alt و shift هر دو meta حساب می‌شوند و خوب یعنی نمی‌شد تعیینشان کرد‌! که البته این مشکل هم حل شده و در موردش در پست بعد می‌نویسم‌!

نتیجه:

با وجود این که i3 خیلی وقتم را برای کانفیگ و درکش گرفت و Awesome خیلی قابلیت‌های بدرد بخور و خوشگل‌تر از i3 داشت‌، سادگی و سر راست بودن این میزکار جذبم کرده و فعلا می‌خواهم از آن استفاده کنم‌! حتی اگر قابلیت نمایش عکس BackGround هم نداشته باشد D:

*: همانطور که گفتم برای من این دو تا بودند‌! آن بیرون خیلی خیلی بیشتر از دو انتخاب برای میزکار با این قابلیت‌ها وجود دارد!