Сегодня 25 апреля, четверг ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7272
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
muhas.ru - Заметки аскетичного гика
muhas.ru - Заметки аскетичного гика
Голосов: 1
Адрес блога: http://muhas.ru
Добавлен: 2008-11-19 17:05:29 блограйдером muhas
 

Информация о батарее в GNU screen и другие прелести hardstatus

2011-11-15 10:40:40 (читать в оригинале)

Прочел на хабре заметку про вашего мальчика о zshтынц про размещение заряда батарее в правом приглашении.
Всё бы ничего, но не стоит забывать что для того что бы увидеть заряд батарее надо сделать какое-либо действие что бы отобразилось новое приглашение. Да и с отображением времени в строках приглашения дела обстоят аналогичным образом. Это несколько напрягает когда мы не часто в консоли что-то выполняем...

Но сама идея полезная, и используется мною с тех пор как у меня появился ноутбук. Посему хочу рассказать о своей красноглазой реализации отображения информации об аккумуляторе в консоли. Реализовано всё через GNU Screen и его статусную строку.
Добавляем в конфиг скрина backtick 1 60 60 /путь/к/скрипту (жирным выделен номер команды), а в приглянувшееся место hardstatus или caption добавляем номер команды %1`. Вот, к примеру, мой скрипт писанный судя по дате изменения пару лет назад и до сих пор верно несущий службу
#/bin/sh

#определяем цвета
GREEN="\005{+b d.}"
YELLOW="\005{+b d.}"
RED="\005{+Bb r}"
CLEAN="\005{-Bb d.}"

#определяем номер батарее
BT=1

# ну  и определение и разкраска текущего состояния
REM=`grep 'remaining capacity' /proc/acpi/battery/BAT${BT}/state | awk '{print $3}'`
LAST=`grep 'last full' /proc/acpi/battery/BAT${BT}/info |awk '{print $4}'`

ADAPTERSTATUS=`cat /proc/acpi/ac_adapter/ADP${BT}/state | grep 'state' | awk '{ print $2 }'`
if [ $ADAPTERSTATUS = "on-line" ]
then 
    BATCURRENT=$(echo $REM $LAST | awk '{printf "%d%%", ($1/$2)*100'})
    POWERLINE=$(echo "${GREEN}AC: $BATCURRENT$CLEAN")
else
    PRESENT=`grep 'present rate' /proc/acpi/battery/BAT1/state | awk '{print $3}'`
    BATCURRENT=$(echo $REM $LAST $PRESENT | awk '{printf "%d", ($1/$2)*100}')
    BATLEFT=$(echo $REM $LAST $PRESENT | awk '{printf "%d", ($1/$3)*60}')
    if [ $BATCURRENT -ge 40 ]
    then
        POWERLINE=$(echo "${GREEN}Battery: $BATCURRENT%$CLEAN")
    fi
    if [ $BATCURRENT -le 39 ]
    then
        if [ $BATCURRENT -ge 20 ]
        then
            POWERLINE=$(echo "${YELLOW}Battery: $BATCURRENT%$CLEAN")
        fi    
    fi
    if [ $BATCURRENT -le 19 ]
    then
        POWERLINE=$(echo "${RED}Battery: $BATCURRENT%$CLEAN")
    fi
fi
# собсвтенно сам вывод
echo -e "$POWERLINE "

Если будите использовать тот скрипт что приведен на хабре не забывайте что цвета для screen несколько иначе определяются и используйте echo -e.
Вообще, в hardstatus или caption скрина можно выводить что угодно, о чем я непрестанно всем напоминаю. Даже неоднократно писал в блог об этом, например:
  • Вывод количества непрочитанных писем
  • Уведомления от mcabber
  • Информация о wifi соединении
Так же можно выводить иксовую раскладку клавиатуры (к примеру через skb — backtick 1 0 0 skb), текущую композицию в mpd (в гит ветке скрина с руским языком при выводе в статус наконец всё в порядке), последние события из /var/log/messages.log, да в общем всё что душе угодно, ибо в этом плане screen очень похож на dzen2.

Интересно, а как в tmux обстоят с этим дела? Что-то я видел там про status-left/-right, но все лениво его опробовать в бою (слишком уж привык к скрину), хотя сегодня увидел на линсовете конфиг тмукса с клавишами скрина — надеюсь это поспособствует мне в его изучении.

Тэги: hardstatus, linux, screen, tip

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»
Изменения рейтинга
Категория «Проза»
Взлеты Топ 5
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.