شما هنوز به سیستم وارد نشده اید.

#1 2017-04-15 21:39:45

mazhar
عضو
ثبت شده: 2016-08-01
ارسال ها: 227

i3 - bspwm

اگه تیتر این تاپیک براتون آشنا نباشه احتمال زیادی داره که محتوای این تاپیک به درد شما نخوره.
اینجا میخوایم کانفیگ ها و اسکریپت های مخصوص این نوع خاص از window manager های standalone رو قرار بدیم تا هم رفرنس و هم عامل ایجاد انگیزه باشه.

آفلاین

#2 2017-04-15 21:48:12

mazhar
عضو
ثبت شده: 2016-08-01
ارسال ها: 227

پاسخ: i3 - bspwm

یکی از مهم ترین مساله ها انتخاب bar هست، که من بعد از تست و امتحان چندین نوع مختلف به این نتیجه رسیدم از کانکی به صورت ویژه ای استفاده کنم تا بشه به عنوان bar استفاده کرد.
926201d08cf66b474df8ee1fea02c9bc.png
قسمت کانفیگ کانکی:

conky.text = [[
${execpi 1 /home/mazhar/.config/conky/battery}  ${execpi 1 /home/mazhar/.config/conky/brightness} ${execpi 1 /home/mazhar/.config/conky/volume}  ${execpi 1 /home/mazhar/.config/conky/kbled} ${color 99cccc} Cpu ${cpu cpu0} ${color ff6666} Temp $acpitemp ${color aa22aa} Wifi ${wireless_essid wlp59s0} ${color 6666ff} Mem $mem ${color ffff21} Time  ${execi 1 date +"%H:%M"}
]]

اولین و مهم ترین قسمت به نظرم اومد که قسمت باتری رو کانفیگ کنم. به این صورت که با تغییر وضعیت شارژ رنگ هم عوض بشه و در صورت وصل به برق علامت مربوطه ظاهر بشه (اصطلاحاً دینامیک).

#!/bin/bash
capacity=`cat /sys/class/power_supply/BAT0/capacity`
if [ "$capacity" -le "10" ]
then
        echo -n '${color '#ff6622'}[\#---------]'
elif [ "$capacity" -le "20" ] && [ "$capacity" -gt "10" ]
then
        echo -n '${color '#ee7722'}[\#\#--------]'
elif [ "$capacity" -le "30" ] && [ "$capacity" -gt "20" ]
then
        echo -n '${color '#dd8822'}[\#\#\#-------]'
elif [ "$capacity" -le "40" ] && [ "$capacity" -gt "30" ]
then
        echo -n '${color '#cc9922'}[\#\#\#\#------]'
elif [ "$capacity" -le "50" ] && [ "$capacity" -gt "40" ]
then
        echo -n '${color '#bbaa22'}[\#\#\#\#\#-----]'
elif [ "$capacity" -le "60" ] && [ "$capacity" -gt "50" ]
then
        echo -n '${color '#aabb22'}[\#\#\#\#\#\#----]'
elif [ "$capacity" -le "70" ] && [ "$capacity" -gt "60" ]
then
        echo -n '${color '#99cc22'}[\#\#\#\#\#\#\#---]'
elif [ "$capacity" -le "80" ] && [ "$capacity" -gt "70" ]
then
        echo -n '${color '#88dd22'}[\#\#\#\#\#\#\#\#--]'
elif [ "$capacity" -le "90" ] && [ "$capacity" -gt "80" ]
then
        echo -n '${color '#77ee22'}[\#\#\#\#\#\#\#\#\#-]'
else
        echo -n '${color '#66ff22'}[\#\#\#\#\#\#\#\#\#\#]'
fi

status=`cat /sys/class/power_supply/BAT0/status`
if [ "$status" == "Charging" ]
then
        echo -n '+${color}'
else
        echo -n '-${color}'
fi
echo -n " $capacity%"

و از فایل کانفیگ کانکی اینجوری صداش بزنین:

${execpi 1 /path/to/script/file}

و این بار نور صفحه کلید، که مقدارش رو میگیریم از فایل مربوط، و سپس رنگش رو بر اون اساس پر رنگ می کنیم (نور صفحه کلید من قرمز بود به همین دلیل قرمز انتخاب کردم برای رنگ، همخوانی داره قشنگه) و همچنین شاید آدرس فایل استفاده شده در اسکریپت و level های نور برای لپ تاپ شما متفاوت باشه:

#!/bin/bash
value=`cat /sys/class/leds/asus\:\:kbd_backlight/brightness`
if [ "$value" == 0 ]
then
        echo -n '${color '#cc2222'}Kb 00${color}'
elif [ "$value" == 1 ]
then
        echo -n '${color '#dd2222'}Kb 01${color}'
elif [ "$value" == 2 ]
then
        echo -n '${color '#ee2222'}Kb 10${color}'
elif [ "$value" == 3 ]
then
        echo -n '${color '#ff2222'}Kb 11${color}'
fi

نور صفحه ی زمینه:

#!/bin/bash
value=`xbacklight -get | awk '{print int($1+0.5)}'`
if [ "$value" -le "10" ]
then
        echo -n '${color '#666600'}Backlight [\#---------]'
elif [ "$value" -le "20" ] && [ "$value" -gt "10" ]
then
        echo -n '${color '#777700'}Backlight ${voffset -1}[\#\#--------]'
elif [ "$value" -le "30" ] && [ "$value" -gt "20" ]
then
        echo -n '${color '#888800'}Backlight ${voffset -1}[\#\#\#-------]'
elif [ "$value" -le "40" ] && [ "$value" -gt "30" ]
then
        echo -n '${color '#999900'}Backlight ${voffset -1}[\#\#\#\#------]'
elif [ "$value" -le "50" ] && [ "$value" -gt "40" ]
then
        echo -n '${color '#aaaa00'}Backlight ${voffset -1}[\#\#\#\#\#-----]'
elif [ "$value" -le "60" ] && [ "$value" -gt "50" ]
then
        echo -n '${color '#bbbb00'}Backlight ${voffset -1}[\#\#\#\#\#\#----]'
elif [ "$value" -le "70" ] && [ "$value" -gt "60" ]
then
        echo -n '${color '#cccc00'}Backlight ${voffset -1}[\#\#\#\#\#\#\#---]'
elif [ "$value" -le "80" ] && [ "$value" -gt "70" ]
then
        echo -n '${color '#dddd00'}Backlight ${voffset -1}[\#\#\#\#\#\#\#\#--]'
elif [ "$value" -le "90" ] && [ "$value" -gt "80" ]
then
        echo -n '${color '#eeee00'}Backlight ${voffset -1}[\#\#\#\#\#\#\#\#\#-]'
else
        echo -n '${color '#ffff00'}Backlight ${voffset -1}[\#\#\#\#\#\#\#\#\#\#]'
fi
echo -n " $value"
echo -n '${color}'

صدا (volume):

#!/bin/bash
value=`pactl list sinks | grep '^[[:space:]]Volume:' | head -n $(( $SINK + 1 )) | tail -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,'`
if [ "$value" -le "10" ]
then
        echo -n '${color '#226666'} Volume [\#---------]'
elif [ "$value" -le "20" ] && [ "$value" -gt "10" ]
then
        echo -n '${color '#227777'} Volume [\#\#--------]'
elif [ "$value" -le "30" ] && [ "$value" -gt "20" ]
then
        echo -n '${color '#228888'} Volume [\#\#\#-------]'
elif [ "$value" -le "40" ] && [ "$value" -gt "30" ]
then
        echo -n '${color '#229999'} Volume [\#\#\#\#------]'
elif [ "$value" -le "50" ] && [ "$value" -gt "40" ]
then
        echo -n '${color '#22aaaa'} Volume [\#\#\#\#\#-----]'
elif [ "$value" -le "60" ] && [ "$value" -gt "50" ]
then
        echo -n '${color '#22bbbb'} Volume [\#\#\#\#\#\#----]'
elif [ "$value" -le "70" ] && [ "$value" -gt "60" ]
then
        echo -n '${color '#22cccc'} Volume [\#\#\#\#\#\#\#---]'
elif [ "$value" -le "80" ] && [ "$value" -gt "70" ]
then
        echo -n '${color '#22dddd'} Volume [\#\#\#\#\#\#\#\#--]'
elif [ "$value" -le "90" ] && [ "$value" -gt "80" ]
then
        echo -n '${color '#22eeee'} Volume [\#\#\#\#\#\#\#\#\#-]'
else
        echo -n '${color '#22ffff'} Volume [\#\#\#\#\#\#\#\#\#\#]'
fi
echo -n " $value"

آخرین ویرایش توسط mazhar (2017-04-19 23:49:40)

آفلاین

#3 2017-05-31 13:11:59

mazhar
عضو
ثبت شده: 2016-08-01
ارسال ها: 227

پاسخ: i3 - bspwm

این یکی مخصوص bspwm:

533e8bea5f09eaaa14f20bcb0360023c.png

برای اینکه بدونین تو کدوم دسکتاپ هستین و تو کانکی نشونش بدین به این صورت عمل کنین:

اسکریپتی نوشتیم که query بده به کلاینت bspc و شماره دسکتاپو ازش بگیره و همچنین لیست همه ی دسکتاپ ها رو هم میگیریم که اگه ۱۰ دسکتاپ دارید خروجی به صورت زیر میشه:

0x00600003
0x00600004
0x00600005
0x00600006
0x00600007
0x00600008
0x00600009
0x0060000A
0x0060000B
0x0060000C

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

#!/bin/bash
desktops=`bspc query -D`
current=`bspc query -D -d focused`
counter="1"
for i in $desktops
do
	if [ "$i" == "$current" ]
	then
		break
	fi
	((counter++))
done

if [ "$counter" == "1" ]
then
	echo -n '${color '#299d19'}0001${color} 0010 0011 0100 0101 0110 0111 1000 1001 0000'
elif [ "$counter" == "2" ]
then
	echo -n '0001 ${color '#299d19'}0010${color} 0011 0100 0101 0110 0111 1000 1001 0000'
elif [ "$counter" == "3" ]
then
	echo -n '0001 0010 ${color '#299d19'}0011${color} 0100 0101 0110 0111 1000 1001 0000'
elif [ "$counter" == "4" ]
then
	echo -n '0001 0010 0011 ${color '#299d19'}0100${color} 0101 0110 0111 1000 1001 0000'
elif [ "$counter" == "5" ]
then
	echo -n '0001 0010 0011 0100 ${color '#299d19'}0101${color} 0110 0111 1000 1001 0000'
elif [ "$counter" == "6" ]
then
	echo -n '0001 0010 0011 0100 0101 ${color '#299d19'}0110${color} 0111 1000 1001 0000'
elif [ "$counter" == "7" ]
then
	echo -n '0001 0010 0011 0100 0101 0110 ${color '#299d19'}0111${color} 1000 1001 0000'
elif [ "$counter" == "8" ]
then
	echo -n '0001 0010 0011 0100 0101 0110 0111 ${color '#299d19'}1000${color} 1001 0000'
elif [ "$counter" == "9" ]
then
	echo -n '0001 0010 0011 0100 0101 0110 0111 1000 ${color '#299d19'}1001${color} 0000'
else
	echo -n '0001 0010 0011 0100 0101 0110 0111 1000 1001 ${color '#299d19'}0000${color}'
fi

آخرین ویرایش توسط mazhar (2017-05-31 13:14:05)

آفلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB