لینوکس و من

نشون دادن عنوان و دکمه های عملکردی پنجره ها در پنل xfce

نویسنده : امین | تاریخ: 1393/08/24

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

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

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


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

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

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

نویسنده : امین | تاریخ: 1393/07/27

تقریبا چهار ماهی بود که با 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 به صورت پیشفرض نصب هست و شما نیازی نیست که کارهای عجیب غریبی برای داشتن بوت گرافیکی انجام بدید.
نسخه ی XFCE مانجارو با یک تم مشکی/سفید/سبز با آیکن های Faenza سادگی و زیبایی خاصی رو داره. 

تصویر از سایت منبع

پلاگین ها و اپلیکیشن های خوبی هم برای این دسکتاپ استفاده شده. مثلا viewnior برای عکس، vlc برای فیلم و xnoise برای موزیک. اما اینا سلیقه ای هست و من با deadbeef برای موزیک راحت ترم. و با mplayer2 برای فیلم ها. vlc یه مشکل حل نشدنی و نابخشودنی ای که داره اینه که قادر نیست screen saver رو غیر فعال کنه. علی رغم اینکه تیک مربوط به این کار هم در تنظیمات فعال باشه. توی فرومها هم گشتم و راهی پیدا نکردم.
gnome-mplayer یه gui خیلی ساده و خوب با امکانات لازم برای mplayer و mplayer2 هست که من به جای smplayer که سنگین و پیچیده و بدقواره است انتخاب کردم.
فرآیند نصب خیلی ساده و بدون مشکل انجام شد و همه چی طبق انتظار از یک سیستم عامل خوب، خوب به نظر میرسه. نکته ی خیلی خوبی که بعد از نصب بهش پی بردم، غیر فعال بودن کارت گرافیک دوم یعنی nvidia در لپتاپ من بود. چون که برای غیر فعال کردن این غول پر مصرف و بیخاصیت باید کلی تلاش میکردم که مانجارو بطور پیشفرض این کار رو کرده. و بنابراین هیچ مشکلی هم توی suspend و resume شدن سیستم بوجود نیومد.

-------------------------------------------

مرورگر پیشفرض فایرفاکس هست. که من خیلی وقته که دیگه با فایرفاکس سنگین و خنگ کاری ندارم و از کرومیوم استفاده میکنم. کرومیوم با pacman قابل نصب هست. و برای Flash هم با این دستور پلاگین مذکور نصب میشه  yaourt -S chromium-pepper-flash و هیچ مشکلی هم نداره. 

-------------------------------------------

compiz هم به راحتی هر چه تمام تر با yaourt نصب میشه و خوبیش اینه که نسخه ی 0.8 هست و اون باگ ها رو نداره. کلا yaourt کارها رو خیلی آسون کرده. ازش خوشم اومده. این ها رو برای کامپیز نصب کنید: compiz-core  emerald  compiz-fusion-plugins-main compiz-fusion-plugins-extra  ccsm. دیگه تنظیماتش رو خودتون بلدید. ولی یک سری تنظیماتی که من خودم انجام دادم رو اینجا میذارم.

پلاگین commands دستورات شما رو اجرا میکنه. شبیه keyboard shortcuts منتها با امکانات بیشتر. من اینها رو برای این پلاگین قرار دادم:
دستور xkill با شورتکات دلخواه super + x که بوسیله اون شما میتونید پنجره ای که دچار مشکل شده رو ببندید.
دستور xset s blank ; sleep 1 ; xset s activate برای خاموش کردن مانیتور لپتاپ
دستور deadbeef با شورتکات دلخواه کلید stop موزیک. چون وقتی deadbeef رو میبندید میره توی system tray و با این شورتکات خیلی سریع و ساده نمایان میشه.

پلاگین Animations انیمیشن های مختلفی رو در حالات مختلف نشون میده. من برای قسمت open animation این تنظیمات دلخواه رو قرار دادم:
Fade: class=Gnome-mplayer
Fade: title=Application Finder
Fade: title=File Operation Progress
Fade: type=Dialog
و برای close animation هم این ها رو:
Fade: class=Gnome-mplayer
Fade: title=Application Finder
Fade: title=File Operation Progress
Fade: type=Dialog
None: class=Xfce4-notifyd
اینها رو باید بالاتر از تنظیمات پیشفرض قرار بدید.

پلاگین window decorations هم قاب پنجره ها رو تامین میکنه! برای این پلاگین این تنظیمات رو اعمال کردم:
Command: emerald --replace
Decoration windows: (any ) & !(title=Mozilla Firefox)  & !(title=Create New Folder)  & !(title=Rename)  & !(title=Open Location) & !(title=File Operation Progress)  & !(title=Application Finder)
Shadow windows: any
در پلاگین Place windows هم میتونید پنجره های خاصی رو همیشه در یک نقطه ی خاص از صفحه باز کنید. مثلا من عادت دارم پنجره ی File Operation Progress همیشه در قسمت پایین صفحه باز بشه.

مدیر بسته های آرچ pacman هست و رابط گرافیکی اون در مانجارو چیز ساده ای به نام pamac هست. در برابر pacmanxg که در antergos بود هیچ حرفی برای گفتن نداره. pacmanxg با این دستور نصب میشه: yaourt -S pacmanxg-git و بعدش هم pamac رو پاک کنید.

-------------------------------------------
و اما bluetoorh
در Antergos من نمیتونستم با لپتاپ بلوتوث بفرستم. و هر کاری هم که کردم نشد. مشکلی وجود داشت که خیلی ها داشتن و حل نشده بود. در حالی که در اوبونتو هیچ مشکلی وجود نداشت. در مانجارو اولش این مشکل وجود داشت اما این طوری حل شد:
اول بسته ی obex-data-server رو با yaourt نصب کردم و بعد blueman رو پاک کردم و دوباره نصب کردم. و :

sudo ln -s /usr/lib/libMagickWand-6.Q16HDRI.so.2 /usr/lib/libMagickWand-6.Q16HDRI.so.1

-------------------------------------------

برای اینکه کلیدهای Fn درست کار کنند باید به بایوس بفهمونیم که سیستم عامل ما لینوکس هست تا وقتی لینوکس خواست با اون ارتباط برقرار کنه بایوس نگه من نمیفهمم تو چی میگی! برای این منظور باید این خط رو به گراب اضاف کنیم: acpi_osi=Linux . ربطی هم به نوع توزیعی که دارید نداره.
برای این منظور این فایل رو با ویرایشگر دلخواه خودتون باز کنید:
sudo mousepad /etc/default/grub 
و عبارت quiet رو جست و جو کنید و عبارتی رو که گفتم در کنارش قرار بدید و save کنید. و بعد این دستور رو اجرا کنید:
sudo grub-mkconfig -o /boot/grub/grub.cfg
-------------------------------------------

برای mount کردن خودکار درایوهای fat32 هم در فایل fstab در پوشه ی etc این مقادیر رو قرار بدید:
/dev/sda3 /run/media/Data vfat rw,auto,umask=0,uid=1000,gid=1000 0 0

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

نویسنده : امین | تاریخ: 1392/09/6

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



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

screenlets و compiz

نویسنده : امین | تاریخ: 1392/09/6

این دو تا میتونن با هم ترکیب جالبی رو بسازن. من یک ویجت ساعت آنالوگ دارم، یک آب و هوا، یک 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 میشن

نویسنده : امین | تاریخ: 1392/08/21

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 است!

نویسنده : امین | تاریخ: 1390/06/31

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

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

نویسنده : امین | تاریخ: 1390/06/9

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

Rotate Flip left

Rotate Flip Right

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

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

نویسنده : امین | تاریخ: 1388/06/12

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 داره که میتونید دانلودش کنید و نصبش کنید. اگر پیش نیاز های دیگه ای هم سیستمتون نیاز داشت نصب کنید. حیفه، چیزای قشنگین.

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