لینوکس و من

۸ مطلب با کلمه‌ی کلیدی «compiz» ثبت شده است

میخوام افزونه ای برای پنل XFCE معرفی کنم که جالبه! به عکس زیر که از سایت XFCE لینک شده نگاه کنید:
نشون دادن دکمه های عملکردی پنجره ها و عنوان پنجره ها در پنل xfce از طریق افزونه ای به نام xfce4-windowck-plugin قابل انجام هست. به راحتی میتونید این افزونه رو برای توزیع خودتون نصب کنید. در مانجارو (بر پایه ی آرچ)  از AUR دانلود و نصب میشه. و بعد از طریق پنل به عنوان یک آیتم جدید اضافه میشه. تنظیماتی هم داره که در شکل بالا میبینید.

این نمونه ای از تنظیمات من هست :

یه کار اضافه ولی لازمی که باید بکنیم اینه که پنجره ها موقع maximized شدن decoration خودشون رو از دست بدن. چون دیگه لازم نیست داشته باشن. دکمه ها که هستن، اسم پنجره هم اون بالا هست. در compiz من از روشی که قبلا توی وبلاگ گفته بودم  استفاده میکنم.

برای مدیر پنجره های دیگه، سری به لینک منبع بزنید و قسمت FAQ رو بخونید.

Manjaro و یک سری تنظیمات!

تقریبا چهار ماهی بود که با Antergos کار می کردم. یکی دو بار فول آپدیت کردم و سیستم خوب کار میکرد. هیچ وقت دستم رو توی حنا نذاشت! هر چیزی که میخواستم توی مخازن Arch یا AUR پیدا میشد. تا اینکه یک بار پس از مدت زیادی تصمیم گرفتم فول آپدیت کنم که اشتباه محض بود... x-server از کار افتاد و به هر دری که زدم درست نشد.
در این زمان درسم هم تموم شد و وقت بیشتری داشتم، گفتم برم ببینم این اوبونتو ۱۴.۰۴ که این همه سر و صدا کرده چیه. اینو نصب کردیم و یکم باهاش ور رفتم، آپدیتش کردم، کاستومایزش کردم، اما همیشه یه جای کار می لنگید. مثلا سرعت یونیتی به طرز بدی پایین بود و لگ های فراوان داشت. گنوم شل هم که داغون تر از اون. XFCE نصب کردم، network manager نمیومد و کلی گشتم تا درست شد، compiz نسخه ی 0.9 بود و این نسخه چند تا باگ حل نشده داره که نمیشه ازشون صرف نظر کرد. و نسخه های 0.8 هم تحت هیچ شرایطی نصب نشدن و مشکلات dependency پیش میومد.
توی کرومیوم هم که پشتیبانی از پلاگین های خاصی من جمله flash قطع شد. باید pepper flash plugin رو نصب میکردم. نصب کردم ولی همچنان مشکل باقی موند و کامل حل نشد. یعنی ویدیوهای یوتیوب میومدن اما هیچ سایت دیگه ای کار نمیکرد.
بعد از چند روز کار کردن با اوبونتو، چند بار وقتی login میکردم دسکتاپ نمیومد. خلاصه اینکه نتونستم با اوبونتو کنار بیام و تصمیم گرفتم به همون سیستم های مبتنی بر Arch برگردم. چون واقعا دوست داشتنی تر و با شعور تر از اوبونتویی بود که یکی دو هفته باهاش کار کردم.
 
اینبار خواستم چیز دیگه ای رو امتحان کنم، رفتم سراغ Manjaro. این هم یک توزیع مبتنی بر Arch هست. اما یه تفاوت های اساسی نسبت به Antergos داره که بی شک بنظر من باعث برتری اون هست.
اول اینکه برخلاف Antergos که برای نصب شدن نیاز به اینترنت داره، مانجارو بصورت آفلاین نصب میشه.
دوم اینکه برخلاف Antergos مانجارو نسخه های مختلف برای دانلود گذاشته. یعنی نسخه ی XFCE, KDE, و ... و نسخه هایی هم داره که کاربران بصورت غیر رسمی تولید کردن.
من نسخه ی XFCE رو دانلود کردم، اولین چیزی که متوجهش میشید اینه که plymouth به صورت پیشفرض نصب هست و شما نیازی نیست که کارهای عجیب غریبی برای داشتن بوت گرافیکی انجام بدید.

نمایش پنجره ها به سبک gnome shell با compiz

دلتون میخواد در compiz وقتی ماوس رو به گوشه ی بالای سمت چپ (یا هر جای دیگه) بردید پنجره هایی که باز هستن این طوری نمایش داده بشن؟


اینطوری دسترسی به پنجره ها خیلی راحت تر و سریع تر میشه. این تصویری که میبینید در دسکتاپ mate به همراه compiz هست. پلاگین scale در compiz این کار رو انجام میده. اما متاسفانه پنجره های minimized رو نشون نمیده. با این حال به درد من خیلی میخوره. اگه پلاگین های extra رو هم نصب کردین scale add ons هم میتونه عملکرد های دیگه ای به این پلاگین اضافه کنه. مثلا با کلیک وسط ماوس پنجره بسته بشه.
این خیلی شبیه به همون کاریه که در gnome shell هم هست. منتها در گنوم پنجره های minimized هم نشون داده میشن.

screenlets و compiz

این دو تا میتونن با هم ترکیب جالبی رو بسازن. من یک ویجت ساعت آنالوگ دارم، یک آب و هوا، یک folder view  و یکی هم یه آرم لینوکس!!!
دوست ندارم وقتی در یک پنجره ای در حال کار هستم هیچ کدوم اینها روی پنجره باشه. حتی ساعت! دوست دارم کل فضای مانیتور مربوط به چیزی باشه در حال اجراست. برای اینکه ساعت رو ببینم، باید show desktop رو بزنم تا همه ی پنجره ها برن پایین و ساعت روی دسکتاپ معلوم شه. اما این کار باعث میشه ویجت ها هم مثل پنجره ها برن! میشه این مشکل رو با این کار حلش کرد تا با show desktop ویجت ها سر جاشون باقی بمونن. 
فایل زیر رو با ویرایشگر متن باز کنید. نسخه ی پایتون۲ (به رنگ قرمز) ببینید در سیستم شما چیه و اون رو به جاش بنویسید. در حال حاضر آخریش ۲.۷ هست:

sudo nano /usr/lib/python2.7/site-packages/screenlets/__init__.py
حالا این عبارت رو پیدا کنید و # رو از کنارش بردارید.
self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DOCK)

یک بار screenlet ها رو restart کنید. (یا دوباره به دسکتاپ login کنید)

compiz یک پلاگین داره به نام widget layer. این پلاگین ویجت ها رو پنهان میکنه و با یک شورت‌کات اون ها رو نمایش میده. اما میتونیم تعیین کنیم این پلاگین روی کدوم ویجت ها تاثیر گذار باشه. مثلا فقط ویجت ساعت. در قسمت تنظیمات هر ویجتی که میخواید، این دو تا رو علامت بزنید: keep above و treat as widget. و پلاگین مربوطه رو در compiz فعال کنید. میبینید که اون ویجت غیب میشه. اما با فشردن کلید شورت‌کات (پیشفرض F9 ) نمایش داده میشه. این طوری با یک کلید میتونیم ویجت ساعت رو ببینیم :) حتی میتونیم سایز اون رو بزرگ کنیم و به عنوان اسکرین سیور استفاده کنیم! 

حذف windows decorator در پنجره هایی که maximized میشن

compiz واقعا میشه گفت بهترین چیزی هست که یک دسکتاپ مدرن میتونه داشته باشه. و من برای تیم گنوم واقعا متاسفم که پشتیبانی از اون رو متوقف کردند. من الآن از دسکتاپ mate استفاده میکنم و هر کاری که دلم میخواد با compiz انجام میدم. یکی از این کارها، حذف حاشیه ی پنجره ها (windows decorator) از پنجره های maximize شده هست. البته قبلش باید برای سه تا عمل close و minimize و maximize شورتکات های خودتون رو تعیین کنید. برای تعیین شورتکات های دلخواه برای اینها، در برنامه ی تنظیمات compiz به قسمت General options و بعد Key bindings برید و این موارد رو برای این سه تا کار به دلخواه خودتون تغییر بدید. کیبورد شورتکات های خودم این ها هستند:
close window: <Super>space یعنی کلید ویندوز + اسپیس
minimize window: <Super>down یعنی کلید ویندوز + کلید جهت‌نمای پایین
toggle window maximized: <Super>up یعنی کلید ویندوز + کلید جهت‌نمای بالا

حالا آماده ایم که بریم سر اصل مطلب. به قسمت Window Decoration برید. میبینید که در فیلد Decoration Windows نوشته any. شما به جاش این عبارت رو قرار بدید: 
!state=maxvert

کار با compiz واقعا جذابه. خیلی کارها میتونید باهاش بکنید. وقت کنم حتما در مورد کارهاش مینویسم. مثلا میتونید هر برنامه ی دلخواهی رو در موقعیت خاصی از صفحه باز کنید. مثلا برنامه مرورگر همیشه در وسط صفحه با اندازه های مشخصی باز بشه. یا مثلا میتونیم کار کنیم که وقتی چیزی در حال کپی شدن هست، اون پنجره که پروسه ی کپی رو نشون میده، در گوشه ی صفحه باز بشه و همیشه روی همه ی پنجره ها قرار بگیره. یا میتونیم چیزهایی که لازم نیستن window decoration داشته باشن کاری کنیم که نداشته باشن. مثل همین پنجره ی کپی. یا پنجره هایی مثل shutdown یا delete و ... که به اینها میگن dialog. و خیلی کارهای خوب دیگه.
البته اینها فقط در دسکتاپ هایی قابل انجام هست که window manager اونها compiz باشه. مثلا در gnome-shell که ویندو منیجر mutter داره یا در دسکتاپ Pantheon که ویندو منیجر gala داره امکانش نیست. چون اینها بر اساس gnome 3 ساخته شدن و نمیتونن compiz رو اجرا کنن. اما مثلا mate, xfce, Openbox و حتی KDE میتونن compiz رو به جای ویندو منیجر خودشون انتخاب کنن.

compiz fusion icon روی nerve است!

این آقای compiz fusion icon که در پارسیکس وجود داره و مسئول راه اندازی compiz هست، اگر یک آیکن شکیل تر داشت شاید میتونست روی پنل دسکتاپ من به زندگیش ادامه بده. اما با اون آیکن اندازه ی کف دستی که توی پنل ظاهر میشه، تمام ریخت اون ناحیه رو خراب میکنه. اگر ایشون رو از startup برداریم، دیگه کامپیز خان اجرا نمیشه. چاره ی کار اینه که ایشون رو از startup برداریم و به جاش compiz --replase رو بذاریم. به همین سادگی!

مشکل autohide پنل های گنوم

سلام. شاید شما یه نتبوک کوچولویی دارید که میخواید نهایت استفاده رو از فضای مانیتورش ببرید. و بخواید که پنل های گنوم رو autohide بکنید. وقتی یه پنل افقی رو (بالایی و پایینی) اتوهاید میکنید هیچ مشکلی وجود نداره. ولی وقتی پنل های عمودی رو (راست و چپ) اتوهاید میکنید ممکنه پنل ها غیب بشن و دیگه نتونید ببینیدشون. چرا گفتم ممکنه؟ چون مشکل از گنوم نیست، مشکل از Compiz هست. شما ممکنه Compiz رو فعال کرده باشید! برای حل این مشکل Compiz settings رو باز کنید و از طریق advanced search این عبارت ها رو پیدا کنید:

Rotate Flip left

Rotate Flip Right

این ها رو باز کنید و تنظیمشون کنید روی مثلا گوشه های صفحه. یا کلا پاکشون کنید. حالا باید پنل های عمودی با  اوهاید  درست کار کنن.

نصب پلاگین های بیشتر در compiz

compiz ابزاریه که effect های تصویری رو که کارت گرافیکتون پشتیبانی میکنه میتونه مدیریت کنه. مثلا دسکتاپ سه بعدی و اینا… این جا میخوام بگم چه جوری افکت های بیشتری علاوه بر سازمان، روی compiz نصب کردم.
 
اول اینا رو دانلود و نصب می کنیم:
 
sudo apt-get install compiz-fusion-bcop compiz-dev compizconfig-settings-manager build-essential libtool libglu1-mesa-dev libxss-dev libcairo2-dev libpango1.0-dev git-core
 
حالا پلاگین های مختلفی رو این جوری دانلود می کنیم:
 
cd ~/.compiz
git clone git://anongit.compiz-fusion.org/users/wodor/anaglyph
git clone git://anongit.compiz-fusion.org/fusion/plugins/atlantis
git clone git://anongit.compiz-fusion.org/users/metastability/atlantis2
git clone git://anongit.compiz-fusion.org/fusion/plugins/cubemodel
git clone git://anongit.compiz-fusion.org/users/rcxdude/dialog
git clone git://anongit.compiz-fusion.org/users/edgurgel/toggle-decoration
git clone git://anongit.compiz-fusion.org/users/pat/elements
git clone git://anongit.compiz-fusion.org/users/kdubois/extra-animations
git clone git://anongit.compiz-fusion.org/inactive/users/smspillaz/fireflies
git clone git://anongit.compiz-fusion.org/users/warlock/freewins
git clone git://anongit.compiz-fusion.org/users/rcxdude/ghost
git clone git://anongit.compiz-fusion.org/users/b0le/photowheel
git clone git://anongit.compiz-fusion.org/users/pafy/screensaver
git clone git://anongit.compiz-fusion.org/users/metastability/snowglobe
git clone git://anongit.compiz-fusion.org/inactive/users/smspillaz/stars
 
اکنون زمان نصب فرا می رسد:
 
cd ~/.compiz/elements
 
make clean
make
make install
 
یکی یکی پلاگین ها رو نصب کنید. و بعد برای این که این پلاگین های جدید در compiz وارد بشن، یه دور از توی منوی Appearence که theme رو عوض می کنیم در قسمت visual effects یه بار میزنیم off بعد دوباره بر می گردونیم به حالت قبلیش. یا این که restart کنید!
 
توجه: بعضی از پلاگین ها برای نصب شدن، احتیاج به یکی دو تا چیز دیگه هم دارن که نصب بشن. مثلا screensaver به libXScrnSaver-1.1.3 داره که میتونید دانلودش کنید و نصبش کنید. اگر پیش نیاز های دیگه ای هم سیستمتون نیاز داشت نصب کنید. حیفه، چیزای قشنگین.
 
من این راهو رفتم، مشکلی نداشت، الآن مثلا برگ پاییزی روی دسکتاپ میریزه، یا اسکرین سیور شده چرخش دسکتاپ ها به صورت مکعبی و …