четверг, 24 марта 2011 г.

Кнопки включения конок

Здесь я хочу рассмотреть варианты включения conky с помощью кнопки размещенной на нижней панели.

Мне попадалось несколько скриптов написанных на bash и выполняющих одну функцию, включения и выключения conky. Мне кажется, что это намного удобнее, по крайней мере можно выключить одни conky, и запустить другие. Правда такими кнопками я пользуюсь при отладке очередных conky, а для переключения между conky я использую программу CGUI, о которой я тоже расскажу в этом сообщении.

Начнем с простого скрипта, как я уже упоминал, написанного на bash.

#!/bin/sh

# Скрипт для запуска conky с помощью кнопки запуска
# Первое нажатие включает conky, второе - отключает.
# Если .conkyrc не находится в домашней директории то необходимо
# изменить exec conky на exec conky -c ~/путь_к_скрипту/conkyrc

if pidof conky | grep [0-9] > /dev/null then
    exec killall conky
else
    exec conky
fi


При запуске скрипта происходит проверка состояния conky, если conky не запущены, то производится запуск программы, если программа уже была запущена, то происходит её выключение.

Сохраните этот скрипт под именем turn_conky.sh в любом месте, я обычно сохраняю скрипт в папке с conky, и не забудьте дать скрипту право на исполнение

chmod a+x turn_conky.sh

Для создания кнопки щелкните правой кнопкой мыши на панели и выберите пункт "Добавить на панель ...". В открывшемся окне выбираем

"Пользовательская кнопка запуска" и жмем "Добавить". В открывшемся окне


заполняем строку "Имя", можете написать просто conky или что вам вздумается. Далее жмем кнопку "Просмотреть..." и указываем путь к скрипту. Иконку можно выбрать по своему усмотрению. После нажатия "ОК" кнопка готова к запуску conky.

Для запуска нескольких conky необходимо немного изменить скрипт

#!/bin/sh
# click to start, click to stop

if pidof conky | grep [0-9] > /dev/null
then
exec killall conky
else

sleep 30  # sleep not required for xfce on startup - 30 or more for others
conky -c ~/Conky/conkymain &
conky -c ~/Conky/conkytext &
conky -c ~/Conky/conkyemail &
conky -c ~/Conky/conkyforecast &

exit
fi



Следующий скрипт позволяет запускать вместе с conky ещё какую либо программу и конечно выключать их. Таким способом я запускаю VLC, для прослушивания радио, и conky которые выводят данные, артист, альбом, обложка и другие в окно conky. Этот скрипт был написан wlourf для VLC

#!/bin/bash

#Run the radio with vlc in an http interface : http://localhost:8080/
#and run the conky  to display informations
#if vlc and conky are already running, then kill them
#
#IN rc.xml (OpenBox)
#    <keybind key="W-A-f">
#      <action name="Execute">
#        <name>FIP radio</name>
#        <command>~/.config/openbox/bureau/call-radio-and-conky.sh</command>
#      </action>
#    </keybind>
#
#wlourf, april 2010


flag="/tmp/flag-fip"
if [ -f $flag ]; then
    for p in  `tail $flag`
    do
        kill $p
    done
    rm $flag
else
    vlc --intf=http http://www.tv-radio.com/station/fip_mp3/fip_mp3-128k.m3u &
    echo $! > $flag
    conky conky  &
    echo $! >> $flag
fi

При запуске скрипта в /tmp создаётся файл flag-fip, если файл существует, то происходит выключение запущенных скриптом программ. Использую несколько таких кнопок, с разными названиями файлов, создаваемых в /tmp, можно независимо включать и выключать разные программы.

Ну и напоследок о программе CGUI. Эта программа позволяет запускать 10 conky в любой последовательности. После запуска программы открывается окно

в котором производится выбор нужных в данный момент conky.

Ссылка на программу conkyrcGUI. Немного о том, как установить программу.

Распакуйте в домашнюю директорию, зайдите в папку conkyGUI и запустите INSTALL.run, откроется окно

Выбираете "Install ConkyGUI". В домашней директории будет создана скрытая папка .Conky. Необходимо скопировать в эту папку все ваши conkyrc переименовав их в conkyrc1, conkyrc2 и т.д. Не обязательно иметь все 10 conky, главное, чтобы их было не больше 10. Для запуска программы Alt+F2 и наберите cgui. Я подключил всё это на кнопку, иконку для кнопки найдете в папке .Conky


1 комментарий: