arcanis.me/ru/projects/pytextmonitor.html
2014-04-03 12:30:00 +04:00

397 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
category: ru
layout: project
title: py-text-monitor
short: pytextmonitor
description: Минималистичный плазмоид, который выглядит, как виджеты в Awesome WM
hasgui: true
developers:
- Evgeniy Alelseev
license: GPLv3
links:
- Страница плазмоида на <a href="http://kde-look.org/content/show.php/Py+Text+Monitor?content=157124">kde-look.org</a>
- Страница DataEngine на <a href="http://kde-look.org/content/show.php/Extended+Systemmonitor+DataEngine?content=158773">kde-look.org</a>
- Пакет в <a href="https://aur.archlinux.org/packages/kdeplasma-applets-pytextmonitor">AUR</a>
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#information"><span class="octicon octicon-link"></span></a>Информация</h2>
<p align="justify">Минималистичный пламоид, написанный на <code>Python2</code>. Он выглядит, как виджеты в <a href="http://awesome.naquadah.org/">Awesome WM</a>. Мой плазмоид хорошо и легко настраивается и не засоряет Ваш KDE. Также данный пакет имеет дополнительный <a href="http://techbase.kde.org/Development/Tutorials/Plasma/DataEngines">DataEngine</a>, который написан на <code>CPP</code> (старые версии были написаны на <code>Python2</code>).</p>
<h3><a name="devel" class="anchor" href="#devel"><span class="octicon octicon-link"></span></a>Разработчики</h3>
<ul>
{% for devel in page.developers %}
<li>{{ devel }}</li>
{% endfor %}
</ul>
<h3><a name="license" class="anchor" href="#license"><span class="octicon octicon-link"></span></a>Лицензия</h3>
<ul>
<li>{{ page.license }}</li>
</ul>
<!-- end of info block -->
<!-- install block -->
<h2><a name="install" class="anchor" href="#install"><span class="octicon octicon-link"></span></a>Установка</h2>
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Инструкция</h3>
<ul>
<li><p align="justify">Скачайте <a href="https://github.com/arcan1s/pytextmonitor/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p align="justify">Извлеките из него файлы и установите DataEngine:</p>
{% highlight bash %}
cd /путь/к/извлеченным/файлам/
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --localprefix` -DCMAKE_BUILD_TYPE=Release ../
make
make install
{% endhighlight %}
<p align="justify">Для глобальной установки наберите:</p>
{% highlight bash %}
cd /путь/к/извлеченным/файлам/
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ../
make
sudo make install
{% endhighlight %}</li>
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Зависимости</h3>
<p align="justify">Все было протестировано на последних версиях зависимостей.</p>
<ul>
<li>kdebase-workspace</li>
<li>kdebindings-python2</li>
<li>automoc4 <i>(make)</i></li>
<li>cmake <i>(make)</i></li>
<li>kdebase-runtime <i>(make)</i></li>
<li>lm_sensors <i>(опционально, для определения температурного устройства)</i></li>
<li>sysstat <i>(опционально, для уведомлений)</i></li>
<li>hddtemp <i>(опционально, для контроля за температурой HDD)</i></li>
<li>один из поддерживаемых музыкальных плееров - <a href="http://amarok.kde.org/">amarok</a>, <a href="http://www.musicpd.org/">mtd</a> или <a href="http://qmmp.ylsoftware.com/">qmmp</a> <i>(опционально, для контроля за музыкальным плеером)</i>
<li>проприетарный видеодрайвер <i>(опционально, для контроля за GPU)</i></li></li>
</ul>
<!-- end of install block -->
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>Использование</h2>
<p align="justify">Откройте список виджетов Plasma и выберете <code>Py Text Monitor</code>.</p>
<!-- end of howto block -->
<!-- config block -->
<h2><a name="config" class="anchor" href="#config"><span class="octicon octicon-link"></span></a>Настройка</h2>
<h3><a name="deconf" class="anchor" href="#deconf"><span class="octicon octicon-link"></span></a>Настройка DataEngine</h3>
<p align="justify">Вы можете отредактировать настройки DataEngine, которые хранятся в <code>/usr/share/config/extsysmon.conf</code> или <code>$HOME/.kde4/share/config/extsysmon.conf</code> в зависимости от типа установки. Раскомментируйте необходимые строчки и отредактируйте их.</p>
<h4><a name="deoptions" class="anchor" href="#deoptions"><span class="octicon octicon-link"></span></a>Опции DataEngine</h4>
<table>
<tr>
<th>GPUDEV</th>
<td><p align="justify">Устанавливает тип GPU. Может быть <code>nvidia</code> (для nVidia), <code>ati</code> (для ATI Radeon), <code>ignore</code> или <code>auto</code>. По умолчанию <code>auto</code>.</p></td>
</tr>
<tr>
<th>HDDDEV</th>
<td><p align="justify">Устанавливает блочное устройство для <code>hddtemp</code> через запятую или <code>all</code> для всех возможных. По умолчанию <code>all</code>.</p></td>
</tr>
<tr>
<th>MPDADDRESS</th>
<td><p align="justify">Адрес MPD хоста. По умолчанию <code>localhost</code>.</td>
</tr>
<tr>
<th>MPDPORT</th>
<td><p align="justify">Адрес MPD хоста. По умолчанию <code>6600</code>.</td>
</tr>
<tr>
<th>CUSTOM</th>
<td><p align="justify">Своя команда для запуска. По умолчанию <code>wget -qO- http://ifconfig.me/ip</code>.</td>
</tr>
</table>
<h3><a name="widconf" class="anchor" href="#widconf"><span class="octicon octicon-link"></span></a>Настройка виджета</h3>
<p align="justify">Для настройки внешнего вида Вы должны открыть окно настроек и установить требуемый формат. Порядок меток изменится, если Вы измените положение слайдера. В метках работают HTML тэги.<br>
<b>ЗАМЕЧАНИЕ</b> Вы не можете, например, заставить его показывать Вам <code>$cpu</code> в метка swap. <b><code>$cpu</code> будет работать только в метке cpu.</b></p>
<p align="justify">Доступные флаги в таблице ниже.<br>
<b>ЗАМЕЧАНИЕ</b> Нумерация всех массивов в переменных начинается с 0.</p>
<table>
<tr>
<th rowspan="5">Время</th>
<td><code>$time</code></td>
<td><p align="justify">Время в стандартном формате. Например, <code>fri Nov 6 04:48:01 2013</code>.</p></td>
</tr>
<tr>
<td><code>$isotime</code></td>
<td><p align="justify">Время в формате ISO.</p></td>
</tr>
<tr>
<td><code>$shorttime</code></td>
<td><p align="justify">Время в коротком формате локали.</p></td>
</tr>
<tr>
<td><code>$longtime</code></td>
<td><p align="justify">Время в длинном формате локали.</p></td>
</tr>
<tr>
<td><code>$custom</code></td>
<td><p align="justify">Cпециальный формат времени.</p></td>
</tr>
<tr>
<th rowspan="2">Аптайм</th>
<td><code>$uptime</code></td>
<td><p align="justify">Системный аптайм, <code>---d--h--m</code>.</p></td>
</tr>
<tr>
<td><code>$custom</code></td>
<td><p align="justify">Cпециальный формат аптайма.</p></td>
</tr>
<tr>
<th rowspan="2">CPU</th>
<td><code>$cpu</code></td>
<td><p align="justify">Полная загрузка CPU, %, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$cpuN</code></td>
<td><p align="justify">Загрузка CPU для ядра N, %, <code>-----</code>. N должно быть в промежутке от 0 до 7.</p></td>
</tr>
<tr>
<th rowspan="2">Частота CPU</th>
<td><code>$cpucl</code></td>
<td><p align="justify">Средняя частота CPU, МГц, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$cpuclN</code></td>
<td><p align="justify">Частота CPU для ядра N, МГц, <code>----</code>. N должно быть в промежутке от 0 до 7.</p></td>
</tr>
<tr>
<th rowspan="1">Температура</th>
<td><code>$tempN</code></td>
<td><p align="justify">Температура для датчика N, &deg;C, <code>----</code>. Пример: <code>$temp0</code></p></td>
</tr>
<tr>
<th rowspan="1">GPU</th>
<td><code>$gpu</code></td>
<td><p align="justify">Использование GPU, %, <code>-----</code>. <code>aticonfig</code> или <code>nvidia-smi</code> должны быть установлены.</p></td>
</tr>
<tr>
<th rowspan="1">Температура GPU</th>
<td><code>$gputemp</code></td>
<td><p align="justify">Температура GPU, &deg;C, <code>----</code>. <code>aticonfig</code> или <code>nvidia-smi</code> должны быть установлены.</p></td>
</tr>
<tr>
<th rowspan="2">Память</th>
<td><code>$mem</code></td>
<td><p align="justify">Использование памяти, %, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$memmb</code></td>
<td><p align="justify">Использование памяти, MB, <code>-----</code>.</p></td>
</tr>
<tr>
<th rowspan="2">Swap</th>
<td><code>$swap</code></td>
<td><p align="justify">Использование swap, %, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$swapmb</code></td>
<td><p align="justify">Использование swap, MB, <code>-----</code>.</p></td>
</tr>
<tr>
<th rowspan="1">HDD</th>
<td><code>$hddN</code></td>
<td><p align="justify">Занятость точки монтирования N, %, <code>-----</code>. Пример: <code>$hdd0</code>.</p></td>
</tr>
<tr>
<th rowspan="1">Температура HDD</th>
<td><code>$hddtempN</code></td>
<td><p align="justify">Температура HDD с номером N, &deg;C, <code>----</code>. Пример <code>$hddtemp0</code>. <code>hddtemp</code> должен быть установлен.</p></td>
</tr>
<tr>
<th rowspan="3">Сеть</th>
<td><code>$down</code></td>
<td><p align="justify">Скорость загрузки, KB/s, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$up</code></td>
<td><p align="justify">Скорость отдачи, KB/s, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$netdev</code></td>
<td><p align="justify">Текущее устройство.</p></td>
</tr>
<tr>
<th rowspan="2">Батарея</th>
<td><code>$bat</code></td>
<td><p align="justify">Заряд батареи, %, <code>---</code>.</p></td>
</tr>
<tr>
<td><code>$ac</code></td>
<td><p align="justify">Статус зарядного устройства. Возвращает <code>(*)</code>, если устройство подключено, или <code>( )</code>, если нет.</p></td>
</tr>
<tr>
<th rowspan="5">Музыкальный плеер</th>
<td><code>$album</code></td>
<td><p align="justify">Альбом текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
</tr>
<tr>
<td><code>$artist</code></td>
<td><p align="justify">Исполнитель текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
</tr>
<tr>
<td><code>$progress</code></td>
<td><p align="justify">Прогресс текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
</tr>
<tr>
<td><code>$time</code></td>
<td><p align="justify">Длительность текущей пени. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
</tr>
<tr>
<td><code>$title</code></td>
<td><p align="justify">Название текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
</tr>
<tr>
<th rowspan="1">Своя команда</th>
<td><code>$custom</code></td>
<td><p align="justify">Получить данные из указанной команды.</p></td>
</tr>
</table>
<h4><a name="advanced" class="anchor" href="#advanced"><span class="octicon octicon-link"></span></a>Расширенные настройки</h4>
<p align="justify"><b>Свой формат времени:</b></p>
<table>
<tr>
<td><code>$dddd</code></td>
<td><p align="justify">Длинный день недели.</p></td>
</tr>
<tr>
<td><code>$ddd</code></td>
<td><p align="justify">Короткий день недели.</p></td>
</tr>
<tr>
<td><code>$dd</code></td>
<td><p align="justify">День.</p></td>
</tr>
<tr>
<td><code>$d</code></td>
<td><p align="justify">День без нуля.</p></td>
</tr>
<tr>
<td><code>$MMMM</code></td>
<td><p align="justify">Месяц в длинном формате.</p></td>
</tr>
<tr>
<td><code>$MMM</code></td>
<td><p align="justify">Месяц в коротком формате.</p></td>
</tr>
<tr>
<td><code>$MM</code></td>
<td><p align="justify">Месяц.</p></td>
</tr>
<tr>
<td><code>$M</code></td>
<td><p align="justify">Месяц без нуля.</p></td>
</tr>
<tr>
<td><code>$yyyy</code></td>
<td><p align="justify">Год.</p></td>
</tr>
<tr>
<td><code>$yy</code></td>
<td><p align="justify">Год в коротком формате.</p></td>
</tr>
<tr>
<td><code>$hh</code></td>
<td><p align="justify">Часы.</p></td>
</tr>
<tr>
<td><code>$h</code></td>
<td><p align="justify">Часы без нуля.</p></td>
</tr>
<tr>
<td><code>$mm</code></td>
<td><p align="justify">Минуты.</p></td>
</tr>
<tr>
<td><code>$m</code></td>
<td><p align="justify">Минуты без нуля.</p></td>
</tr>
<tr>
<td><code>$ss</code></td>
<td><p align="justify">Секунды.</p></td>
</tr>
<tr>
<td><code>$s</code></td>
<td><p align="justify">Секунды без нуля.</p></td>
</tr>
</table>
<p align="justify"><b>Свой формат времени работы:</b></p>
<table>
<tr>
<td><code>$dd</code></td>
<td><p align="justify">Дни аптайма.</p></td>
</tr>
<tr>
<td><code>$d</code></td>
<td><p align="justify">Дни аптайма без нуля.</p></td>
</tr>
<tr>
<td><code>$hh</code></td>
<td><p align="justify">Часы аптайма.</p></td>
</tr>
<tr>
<td><code>$h</code></td>
<td><p align="justify">Часы аптайма без нуля.</p></td>
</tr>
<tr>
<td><code>$mm</code></td>
<td><p align="justify">Минуты аптайма.</p></td>
</tr>
<tr>
<td><code>$m</code></td>
<td><p align="justify">Минуты аптайма без 0.</p></td>
</tr>
</table>
<p align="justify"><b>Датчики температуры:</b> Список датчиков, которые будут наблюдаться в соответствующем поле (содержимое комбо-бокса заполнятся из <code>sensors</code>). Содержимое виджета редактируемо, клавиша delete удалит текущий элемент.</p>
<p align="justify"><b>Точки монтирования: </b> Список точек монтирования, которые будут наблюдаться в соответствующем поле (содержимое комбо-бокса заполнятся из <code>mount</code>). Содержимое виджета редактируемо, клавиша delete удалит текущий элемент.</p>
<p align="justify"><b>HDD:</b> Список HDD, температура которых будет наблюдаться в соответствующем поле (содержимое комбо-бокса заполнятся из <code>find</code>). Содержимое виджета редактируемо, клавиша delete удалит текущий элемент.</p>
<p align="justify"><b>Путь к интерфейсам:</b> Путь к директории, которая содержит информацию о сетевых устройствах. По умолчанию <code>/sys/class/net</code>. Необходима для автоматического выбора устройства.</p>
<p align="justify"><b>Сетевой интерфейс:</b> Использовать указанный интерфейс, как активный. Содержимое комбо-бокса заполнятся из <b>пути к интерфейсам</b>. Эта опция отключит автоматический выбор сетевого интерфейса.</p>
<p align="justify"><b>Устройство батареи:</b> Файл, содержащий информацию о батарее. Данный файл (<code>/sys/class/power_supply/BAT0/capacity</code> по умолчанию) должен содержать только заряд батареи в %.</p>
<p align="justify"><b>Устройство AC:</b> Файл, содержащий информацию об адапторе питания. Данный файл (<code>/sys/class/power_supply/AC/online</code> по умолчанию) должен содержать <code>1</code>, если устройство подключено.</p>
<p align="justify"><b>Музыкальный плеер:</b> Выберете один из поддерживаемых музыкальных плееров для соответствующего поля.</p>
<h4><a name="tooltips" class="anchor" href="#tooltips"><span class="octicon octicon-link"></span></a>Тултипы</h4>
<p align="justify">Начиная с версии 1.7.0, поля CPU, частота CPU, память, swap, сеть поддерживают графический тултип (всплывающая подсказка). Чтобы включить их, просто сделайте требуемые чекбоксы полностью чекнутыми. Число хранимых значений может быть установленно во вкладке. Цвета графиков настраиваются тоже.</p>
<h4><a name="deguiconf" class="anchor" href="#deguiconf"><span class="octicon octicon-link"></span></a>Настройка DataEngine</h4>
<p align="justify"><b>Устройство GPU:</b> Выберете одно из поддерживаемых устройств GPU. <code>auto</code> включит автоматическое определение устройства. По умолчанию <code>auto</code>.</p>
<p align="justify"><b>HDD:</b> Выберете один из HDD для монитора температуры HDD. <code>all</code> включит монитор для всех доступных устройств. По умолчанию <code>all</code>.</p>
<p align="justify"><b>Адрес MPD:</b> Адрес MPD сервера. По умолчанию <code>localhost</code>.</p>
<p align="justify"><b>Порт MPD:</b> Порт MPD сервера. По умолчанию <code>6600</code>.</p>
<p align="justify"><b>Своя команда:</b> <i><b>ЗАМЕЧАНИЕ</b> это поле может привести к "зависанию" компьютера.</i> Команда, которая будет запущена для соответствующего поля. Например, <code>wget -qO- http://ifconfig.me/ip</code> вернет внешний IP.</p>
<!-- end of config block -->
<!-- gui block -->
<h2><a name="gui" class="anchor" href="#gui"><span class="octicon octicon-link"></span></a>Графический интерфейс</h2>
<h2><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Скриншоты</h2>
<p align="justify">Виджет (кликабельно):<br>
<a href="/resources/screenshots/pytextmonitor_widget.png"><img src="/resources/preview/pytextmonitor_widget_prev.jpg"></a><br>
Окно настроек:<br>
<a href="/resources/screenshots/pytextmonitor_config_01.png"><img src="/resources/preview/pytextmonitor_config_01_prev.jpg"></a><br>
<a href="/resources/screenshots/pytextmonitor_config_02.png"><img src="/resources/preview/pytextmonitor_config_02_prev.jpg"></a><br>
<a href="/resources/screenshots/pytextmonitor_config_03.png"><img src="/resources/preview/pytextmonitor_config_03_prev.jpg"></a><br>
<a href="/resources/screenshots/pytextmonitor_config_04.png"><img src="/resources/preview/pytextmonitor_config_04_prev.jpg"></a><br>
<a href="/resources/screenshots/pytextmonitor_config_05.png"><img src="/resources/preview/pytextmonitor_config_05_prev.jpg"></a><br>
Тултипы:<br>
<a href="/resources/screenshots/pytextmonitor_tooltips.png"><img src="/resources/preview/pytextmonitor_tooltips_prev.jpg"></a></p>