منبع اصلی نوشتار زیر در این لینک قرار دارد

DWM راهکار مناسبی برای مدیریت پنجره ها در لینوکس

\"dwm-logo\"مدت ها میشد که دنبال یک window manager می گشتم که هم خیلی سبک تر desktop environment هایی مثل gnome باشه هم خیلی راحت تر بتونم تنظیمش کنم. برای همین منظور چیز هایی مثل awesome, wmii, i3, ratpoison رو امتحان کردم که در انتها window manager dwm نظرمو جلب کرد که با کمی تغییرات شد محیط اصلی ای که باهاش کار می کنم.

 

window manager چیست:

ابزاری نرم افزاری که در محیط گرافیکی gui موقعیت پنجره ها رو مدیریت می کند. البته می توان گفت اکثر window manager ها تکمیل تر می شوند و کار DE ها رو هم انجام می دهند. DE ها از یک wm یک برنامه مدیریت فایل، یک مجموعه کتابخانه و ... تشکیل می شود.

نصب Dwm کار سختی نیست که شما هم می توانید از طریق ریپو هایتان نصبش کنید و هم می توانید از طریق کامپایل کردن پکیجش نصب کنید. برای عوض کردن تنظیماتش راه دوم بهتر است.

برای همین از سایت اصلی source مربوطه را دریافت کنید. ( به این بسته هم نگاه کنید. )

برای عوض کردن رنگ و چیزهای دیگر باید فایل config.h را تغییر بدهید. به طور مثال من با دکمه Alt به عنوان کلید اصلی مشکل داشتم برای همین همه چیز را به دکمه super تغییر دادم که با  emacs دوست داشتنی ام مشکلی نداشته باشد.

یکی از مهمترین خاصیت های dwm پشتیبانی از سیستم tiling است که در این حالت می تونید دو برنامه را به صورت خرد شده در کنار هم ببینید. من در تنظیمات خودم ۳ حالت دارم. اینکه یک پنجره را فقط نشان بدهد اینکه همه را tile کند اینکه کلا float باشد.\\

 

نمونه کانفیگ فایلش رو میتونید اینجا ببینید.

 

در این کانفیگ شما می تونید از دکمه های پایین استفاده کنید.

dmenu رو یا همون باز کننده برنامه هاتونه --> super + space

باز کردن workspace ها --> super + numkey

انتقال پنجره به workspace های دیگر --> shift + super + numkey

layout به صورت tile در بیاید --> super + t

layout به صورت full در بیاید --> super + m

layout به صورت float در بیاید --> super + f

و ...

کلا با خواندن فایل تنظیمات می توانید به همه دکمه ها پی ببرید D: .

 

نکات راهبردی:

برای مدیریت شبکه توصیه می کنم از برنامه wicd استفاده کنید

sudo yum install wicd wicd-gtk wicd-curses
sudo service NetworkManager stop # Bad password errors if both are running…
sudo service wicd start
wicd-client -n

 

برای مدیریت ترمینال دو برنامه خوب هست که کار راه اندازند

terminator که قابلیت tile شدن داخلی داره و خیلی کارایی دارد ( یه سری آموزش و توضیحات اینجا است.)

guake که یه سری کارهای گرافیکی می کنه :D

 

برای تغییر بک گراند از ابزاری به اسم feh می تونید استفاده کنید که می تونه تصویر رو عوض کنه

 

برای فایل منیجر هم ابزار هایی مثل krusader, doublecommander, thunar هم خوب است. البته بی مشکل ترینشون همین krusader است که kde است.

 

برای تغییر زبان هم می توانید از setxkbmap استفاده کنید.

setxkbmap -option grp:switch,grp:alt_shift_ toggle,grp_led:scroll us,ir

 

کلا شما می توانید یک سری تنظیمات داشته باشید که در init ی جایی بازش کنید

نمونه کدی که می توانید بنویسید:

 

while true; do
    xsetroot -name \"Memory $(free -m | grep \'^Mem\' | awk \'{print \"\\x02 total: \" $2 \"MB used: \" $3\"MB \\x01\"}\') CPU $(top -bn 1 | grep \'^Cpu\' | tr -d \'usy,\' | awk \'{print \"\\x02 user \" $2 \", sys \" $3 \"\\x01 Date \\x02\"}\') $( date +\"%F %R\" ) $(uptime | awk \'{print  \"Up:\" $3}\' | tr -d \',\')\"
     
    sleep 60s
done &

# start wallpaper

feh --bg-scale ~/Pictures/wallpapaer/7sobhgoode.jpg

در این کد با xsetroot مقدار رم مصرف شده و ... رو نوشته بک گراند هم عوض کردیم.

 

چند screenshot:

\"dwm\"