Настраиваем текст программы conky

Настройка окна программы conky были описаны в статье Настраиваем окно conky».
В этой статье мы рассмотрим создание текста отображаемого на экране, научимся создавать что-то вроде этого:

Приступим к конфигурированию текста.
Все настройки текста задаются после ключевого слова TEXT в файле .conkyrc
Основные переменные программы conky:

${scroll length text } — заставляет прокручиваться текст text (бегущая строка). При этом на экране будет показано length символов.
$uptime — время работы.

Информация о ресурсах

$acpitemp — температура процессора.
${fs_free dev} — свободное пространство на устройстве dev. Например: /home; /; /root…
${fs_bar 3 dev} — свободное пространство на устройстве dev в виде панели.
$memeasyfree — ОЗУ свободно.
${cpubar cpuN H,W} — степень загрузки процессора в виде панели:

  • cpuN — соответствующий процессор. N = 0 — общая загрузка всех процессоров. N>0 — отдельные процессоры.
  • H — высота панели.
  • W — ширина панели.

${cpugraph cpuN H,W color1 color2 -t -l} — степень загрузки процессора в виде графика.

  • cpuN — Соответствующий процессор. N = 0 — общая загрузка всех процессоров. N>0 — отдельные процессоры.
  • H — Высота панели.
  • W — Ширина панели.
  • color1 — Первый цвет градиента.
  • color2 — Второй цвет градиента.
  • -t — Температурный градиент.
  • -l — Логарифмическое увеличение (увеличивает масштаб графика при низких величинах).

${hr h} — горизонтальная линия, h — толщина.
$battery_percent — процент разряда батареи.
$battery_time — время до разряда батареи.
${image PATH -p x,y -s HxW} — вставка изображения, PATH — путь к файлу изображения, x — координата по горизонтали, y — координата по вертикали, H — высота, W — ширина.
Верхняя левая точка окна conky имеет координаты 0,0;

Вывод результатов shell команды

${exec COMMAND} — выполнить команду ос, COMMAND — команда.

Например: ${exec audtool2 current-song} выведет в окно conky название песни воспроизводимой в плеере Audacious.

Отступы, выравнивание

${tab W} — отступ от левой граници окна, W — размер отступа.

$alignr — выравнивание текста по правому краю.
$alignс — выравнивание текста по середине.
$templateN — служит для задания шаблона части текста. N — номер «куска». При этом необходимо до ключевого слова TEXT указать строку:
templateN text

  • N — Номер шаблона.
  • text — Его текст. Текст может содержать переменные.

Для перехода на новую строку используйте ‘\n’ .

Благодаря этой функции можно существенно улучшить читаемость конфига.

Условные операторы

${if_existing file} TEXT $endif — выводит на экран текст TEXT, если файл file существует.
${if_match expression} TEXT $endif — выводит на экран текст TEXT, expression — true.

Возможны операнды: ==; !=; >; =; Работа с RSS лентами новостей

В conky предусмотрена возможность просмотра rss лент. Делается это при помощи:
${rss url interval_in_minutes action num_par}

  • url — ссылка на файл rss.
  • interval_in_minutes — интервал обновления данных.
  • action — действие. Одно из этих: feed_title, item_title, item_desc
  • num_par — номер записи в ленте. 0 — самая новая.

К примеру, что-бы подписаться на ленту новостей следует ввести следующий код:

${rss url_to_rss/rss.php 1 feed_title}: $hr 1
${rss url_to_rss/rss.php 1 item_title 0}
$hr 1
${rss url_to_rss/rss.php 1 item_title 1}
$hr 1
${rss url_to_rss/rss.php 1 item_title 2}

Вы получите:

Файл .conkyrc для conky отображонных выше:

own_window yes
own_window_type normal
own_window_argb_visual
yes
own_window_argb_value 0
own_window_hints
undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
use_xft
yes
xftfont Comic Sans MS:normal:size=8
xftalpha
0.2
text_buffer_size 2048
update_interval
1.0
maximum_width 250
minimum_size 250
draw_shades no
draw_outline
yes # amplifies text if yes
default_color
white
alignment top_right
gap_x 10
gap_y 30
TEXT
Время
работы: $alignr $uptime
Температура: $alignr $acpitemp °С
${hr 1}
${tab 50}
root $alignr Свободно: ${fs_free /}
${tab 50} ${fs_bar 3 /}
${tab 50}
home $alignr Свободно: ${fs_free /home}
${tab 50} ${fs_bar 3 /home}
${hr 1}
${tab 50}
$alignr $memeasyfree озу свободно
${tab 50} ${membar 3}
${hr 1}
${tab 50}
${cpubar cpu1 3}
${tab 50} ${cpubar cpu2 3}
${hr 1}
###########
#audacious#
###########
${if_running
audacious2}${tab 50}Audacious: $alignr ${exec audtool2
current-song-output-length}
${tab 50}${scroll 40 ${exec audtool2
current-song}}
${hr 1}$endif
#########
#батарея#
#########
${if_match
$battery_percent
80}${if_match $battery_percent 60}${if_running
audacious2}${image ~/install/skript/conky/battery_third_fourth.png -p
0,270 -s 40x40}$else ${image
~/install/skript/conky/battery_third_fourth.png -p 0,230 -s
40x40}$endif$endif$endif
###
${if_match
$battery_percent40}${if_running
audacious2}${image ~/install/skript/conky/battery_two_thirds.png -p
0,270 -s 40x40}$else ${image
~/install/skript/conky/battery_two_thirds.png -p 0,230 -s
40x40}$endif$endif$endif

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий