среда, 25 мая 2011 г.

Conky-Lense. Вживляем в панель

Обладая даже скромными познаниями Unity, было бы совсем некрасиво запускать Conky из терминала. К тому же конфигурация пытается имитировать не что-то абстрактное, а именно линзу. Значит ей самое место на панели, причем оттуда будет производится, как запуск, так и закрытие.


Тут нам пригодятся bash-скрипты:



#!/bin/bash

if xwininfo -name "FirstLense" | grep "FirstLense"
then
XWINFO=`xwininfo -name "FirstLense"`

WINID=${XWINFO:22:9}
xkill -id $WINID
else
conky -c ~/Программы/Conky/Lenses/firstlenserc
fi

exit

Здесь, с помощью утилиты "xwininfo", определяем существование окна с именем "FirstLense" (его задаем в rc-файле строчкой "own_window_title FirstLense"). Если такого нет, то запускаются Conky с конфигурацией "~/Программы/Conky/Lenses/firstlenserc". Если есть - окно уничтожается.
В той же папке создаем пустой файл, который в последствии переименуем в ConkyLense.desktop, с таким содержанием:


[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=Программы/Conky/Lenses/calendar.sh
Name=Conky Lense
Icon=/usr/share/icons/Faenza/apps/scalable/browser-help.svg

X-Ayatana-Desktop-Shortcuts=Run;Exit;Editor

[Run Shortcut Group]
Name=Запустить
Exec=conky -c Программы/Conky/Lenses/firstlenserc
TargetEnvironment=Unity

[Exit Shortcut Group]
Name=Закрыть
Exec=killall conky
TargetEnvironment=Unity

[Editor Shortcut Group]
Name=Редактировать
Exec=gedit Программы/Conky/Lenses/ConkyLense.desktop
TargetEnvironment=Unity

Как видно из текста, по клику будет запускаться выше написанный скрипт (Exec=Программы/Conky/Lenses/calendar.sh). Иконка выбрана из набора Faenza "/usr/share/icons/Faenza/apps/scalable/browser-help.svg". В контекстное меню добавлено три пункта: запуск conky, завершение процесса conky и редактирование самой кнопки запуска, так сказать, на всякий случай.
Перетаскиваем ConkyLense.desktop на панель. Теперь "коньками" можно управлять.


Послесловие
Лето уже вступает в свои законные права. Люди берут отпуска и оправляются на отдых в другие страны. А если там есть свое жилье, например квартира в Болгарии, то это совсем замечательно. Отдыхать так с комфортом!

Смотри также
Conky. Псевдолинза

2 коммент.:

  1. А как насчёт такого варианта скрипта?
    !/bin/sh
    if [ "$(ps -A|grep -c conky)" -gt "1" ]
    then
    killall conky &
    else
    conky &
    fi

    ОтветитьУдалить
  2. Mik Rain, в моем варианте можно закрывать не все коньки сразу, а лишь определенную конфигурацию

    ОтветитьУдалить