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

ЧАСЫ

Самый простой способ вывести часы в conky это вписать строку в conkyrc

$time

После запуска conky получим часы вместе с календарем. С такими часами мало что можно сделать, можно сменить шрифт, размер, окраску, убрать секунды, дату.

Разберем команду вывода часов

$time - если запустить без дополнительных параметров будет выведена дата и время


Дополнительные параметры:

%H - часы, формат 00-23
%I - часы, формат 01-12
%k - часы, формат 0-23
%l - часы, формат 1-12
%M - минуты, формат 00-59
-- %p - PM, AM -- в русской локали не работает
-- %P - pm, am -- в русской локали не работает
%r - время, формат 00:00:00 без вывода am, pm (12 часов)
%R - время, формат 00:00
%S - секунды, формат 00-59
%T - время, формат 00:00:00 (24 часа)
%X - предпочтительный формат времени в текущей локали без даты.

Исходя из этого команда ${time %T} аналогична команде ${time %X}, а также команде ${time %H:%M:%S}.
Можно написать любую, результат будет один и тот же.



Кроме вывода таких часов в классических conky, с помощью bash скрипта можно вывести аналоговые часы, примерно такого вида



Вывод часов производится с помощью шрифтов, специально разработанных для этого. Скрипт был написан Crinos512 в 2009 году. Скрипт можно взять здесь clock описывать скрипт не буду, так как не очень сильно владею bash. Там же находятся необходимые шрифты и циферблаты. Для вывода часов необходимо поместить шрифты в папку .fonts и дать команду для подключения шрифтов

sudo fc-cache -v -f

В conkyrc необходимо добавить следующие строки

${color white}${goto 23}${font zoraclockD:size=110}A
${voffset -178}${color 444444}${goto 23}${font zoraclockD:size=110}F
${voffset -183}${color black}${goto 32}${font clockfaces:size=98}O
${voffset -159}${goto 124}${color 000000}${font 911 Porscha:size=11}${execpi 20 date | cut -c18}${goto 140}${execpi 20 date | cut -c19}${color 000478}
${color black}${voffset -90}${goto 30}${font zoraclockM:size=110}${execpi 20 ~/clock.sh minute}${color d5d5d5}
${color black}${voffset -150}${goto 50}${font zoraclockH:size=80}${execpi 20 ~/clock.sh hour}


Первые две строки выводят белый фон и ободок часов
Третья строка выводит деления циферблата
Четвертая строка выводит дату
Пятая и шестая строки выводят соответственно минутную и часовую стрелки.

В следующий раз напишу как нарисовать часы с помощью lua+cairo

2 комментария:

  1. Чтоб тебя Торвальдс по голове погладил. То, что нужно.

    ОтветитьУдалить
  2. Большое спасибо Вам за этот блог! Давно искал что-то подобноеб не мог найтиб а тут случайно наткнулся. Всё очень просто и на понятном языке. Ещё раз спасибо!

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