Herbstluftwm - настройка wm, панели и использование сторонних скриптов

#!/bin/sh
temp1=`sensors | grep temp2 | tr -s \  | cut -d \  -f 2`
temp2=`sensors | grep temp2 | tr -s \  | cut -d \  -f 2 | cut -c 2-3`
if [ $temp2 -gt 55 ]; then echo '<fc=orange>'$temp1'</fc>'
elif [ $temp2 -gt 40 ]; then echo '<fc=yellow>'$temp1'</fc>'
else echo $temp1
fi
exit 0
вроде работает
во всяком случае после 40 окрашивает в жёлтый
до оранжевого нагреть не получается
ну и аналогично для МБ
#!/bin/sh
temp1=`sensors | grep Board | tr -s \  | cut -d \  -f 3`
temp2=`sensors | grep Board | tr -s \  | cut -d \  -f 3 | cut -c 2-3`
if [ $temp2 -gt 55 ]; then echo '<fc=orange>'$temp1'</fc>'
elif [ $temp2 -gt 40 ]; then echo '<fc=yellow>'$temp1'</fc>'
else echo $temp1
fi
exit0
но тут проверить сложнее - ни в какую не хочет греться, зараза ))))

Спасибо всем!
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Haron_Prime
до оранжевого нагреть не получается
Дык там просто:
если температура больше 55 - оранжевый;
иначе если больше 40 - желтый;
иначе - дефолтный цвет.
Все будет работать.
И еще, смотрю, для получения 4-х значений температуры вы 4 раза вызываете sensors. Я в таких случаях вызываю команду один раз и записываю выхлоп в переменную, заменив символ переноса строки пробелом и убрав последовательности пробелов, напр.:
sens=`sensors | tr -t "\n" " " | tr -s \  `
Теперь для получения температуры просто берете нужное поле. В вашем случае:
temp1=`echo "$sens" | cut -d \  -f 137`
temp2=`echo $temp1 | cut -c 2,3`
temp3=`echo "$sens" | cut -d \  -f 228`
temp4=`echo $temp3 | cut -c 2,3`

PS. У вас на вывод каждого значения отдельный скрипт? Считаю это не правильным. На вывод всей информации в статусбаре должен быть один скрипт, во всяком случае у меня так. Это и есть начало оптимизации. )

upd. Чуть подправил под конкретный случай.
Aivar
Я в таких случаях вызываю команду один раз
Поддерживаю ….... достаточно вывести один раз, а дальше ввести параметр, например, color и оперировать только им ….... мой пример (где Tcpu значение температуры, полученное понравившимся юзеру способом)
        Twarn=65
        Tcrit=70
        if [[ $Tcpu -ge $Twarn ]]; then
            if [[ $Tcpu -ge $Tcrit ]]; then
               color=#f50505
            else
               color=#fadd05
            fi
        else
            color=green
        fi
Я обычно для вывода температуры использую или awk или cat для файла /sys/class/thermal/thermal_zone.../temp и вывожу только одно значение, наибольшее — выводить несколько значений считаю лишним и не нужным — эти значения, как правило, особо и не отличаются …. но сокращается вывод и легче наблюдать ...
PS.... такой способ удобен и для проверки - нет смысла греть проц, достаточно изменить в скрипте значения Twarn и Tcrit
Ошибки не исчезают с опытом - они просто умнеют
Вот только у меня значения расположены в различных местах на xmobar и перемещать их я не планирую.
Второе, о каких 4-х значениях идёт речь? У меня только температура проца и мб, т.е. два вызова sensors, а не 4
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
vasek
cat для файла /sys/class/thermal/thermal_zone.../temp
ну вот, а то какието sensoры, главное в оптимизации отказ от ненужного софта...
_temp=`cat /sys/class/thermal/thermal_zone0/temp | cut -c -2`
if (( $_temp >= 75 )); then
    echo -ne "\x06$_temp°C";
fi
и да как уже писал, зачем выводить какие то параметры если они в норме??
Ошибки в тексте-неповторимый стиль автора©
Haron_Prime
о каких 4-х значениях идёт речь? У меня только температура проца и мб, т.е. два вызова sensors, а не 4

Haron_Prime
temp1=`sensors | grep temp2 | tr -s \  | cut -d \  -f 2`
temp2=`sensors | grep temp2 | tr -s \ | cut -d \ -f 2 | cut -c 2-3`
...
temp1=`sensors | grep Board | tr -s \ | cut -d \ -f 3`
temp2=`sensors | grep Board | tr -s \ | cut -d \ -f 3 | cut -c 2-3`
4 вызова sensors в 2-х скриптах, которые, как я понимаю, вызываются один за другим. Кстати, свой предыдущий пост я несколько подправил конкретно под ваш случай.

indeviral
ну вот, а то какието sensoры, главное в оптимизации отказ от ненужного софта...
Поддерживаю:
cpu_temp=`cat /sys/class/hwmon/hwmon0/temp2_input | cut -c 1,2`°C

indeviral
и да как уже писал, зачем выводить какие то параметры если они в норме??
Помню, но место все равно пустует.
Я, наверное, когда наиграюсь, вообще слезу на стандартный i3status вместо самописных скриптов, там варианты тоже есть.
indeviral
зачем выводить какие то параметры если они в норме??
а как узнать, что они не в норме, если их не выводить?
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Haron_Prime
а как узнать, что они не в норме, если их не выводить?
Выводить только те и только тогда, когда они не в норме. )
Aivar
Выводить только те и только тогда, когда они не в норме. )
ага
т.е. периодически на панели будут вылазить какие-то данные, а всё остальное время она будет пустовать
оптимизация, чо ж....
ну и нафиг тогда вообще панель нужна?
можно выводить попапом, вообще круть! переключил раскладку - вылез попап, переключился на другой ws - вылез попап, изменилась температура - вылез попап, поднялась нагрузка на процессор - вылез попап, повысился расход оперативки - вылез попап etc
нет уж, увольте!
я предпочитаю, чтобы все интересующие меня параметры были перед глазами в любой момент, а не пропадали/появлялись, устраивая из панели маяк
это конечно дело вкуса и каждый сам решает, как ему удобнее
лично мне удобнее постоянно видеть на панели всё то, что я туда вывожу
то, что меня не интересует, не выводится
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Haron_Prime, не серчайте вы так... У меня у самого выводится все и сразу. Единственный скрытый момент - инфа о перегреве мат. платы, да и та выводится в качестве нотификации.
А вообще, определенное зерно истины в лаконичном выводе есть - небольшой экран, ограниченные ресурсы машины, личные предпочтения и т.д. Так что все имеет право на жизнь.
 
Зарегистрироваться или войдите чтобы оставить сообщение.