35 KiB
permalink | category | hastr | layout | title | short | tags | hasgui | hasdocs | developers | license | links | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ru/projects/awesome-widgets | ru | true | project | Awesome Widgets | awesome-widgets | python, kde, qt, linux, система, awesome | true | false |
|
GPLv3 |
|
Набор минималистичных легко настраиваемых пламоидов, написанных на C++/Qt
. Они
выглядят, как виджеты в Awesome WM. Также пакет предоставляет дополнительный системный [DataEngine]
(//techbase.kde.org/Development/Tutorials/Plasma/DataEngines "Мануал для
разработчиков").
ВНИМАНИЕ: НУЖНЫ ПЕРЕВОДЧИКИ!
Совместим с Plasma 5!
Разработчики
{% for devel in page.developers %}
- {{ devel }}{% endfor %}
Отдельное спасибо:
Лицензия
- {{ page.license }}
Список изменений
Установка
Инструкция
-
Скачайте архив с актуальной версией исходных файлов.
-
Извлеките из него файлы и установите:
cd /путь/к/извлеченным/файлам/ mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ../ make sudo make install
ВНИМАНИЕ: Для Plasma 5, вероятно, потребуется флаг
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
Зависимости
Все было протестировано на последних версиях зависимостей.
- plasma-framework
- cmake (make)
- extra-cmake-modules (make)
- hddtemp или smartmontools (опционально, для контроля за температурой HDD)
- один из поддерживаемых музыкальных плееров (опционально, для контроля за музыкальным плеером)
- проприетарный видеодрайвер (опционально, для контроля за GPU)
Использование
Откройте список виджетов Plasma и выберете Awesome Widget
.
Tips & tricks
Вы можете использовать несколько цветов в тексте. Просто вставьте нужный текст в html код. Смотри вопрос для более подробной информации.
Настройка
Настройка DataEngine
Вы можете отредактировать настройки DataEngine, которые хранятся в
/etc/xdg/plasma-dataengine-extsysmon.conf
и
$HOME/.config/plasma-dataengine-extsysmon.conf
. Раскомментируйте необходимые
строчки и отредактируйте их.
Опции DataEngine
ACPIPATH | Путь к устройствам ACPI. По умолчанию /sys/class/power_supply/ . |
GPUDEV | Устанавливает тип GPU. Может быть nvidia (для nVidia), ati (для ATI Radeon), disable или auto . По умолчанию auto . |
HDDDEV | Устанавливает блочное устройство для hddtemp через запятую или all для всех возможных. disable отключит монитор температуры HDD. По умолчанию all . |
HDDTEMPCMD | Команда, которая будет запущена для hddtemp. По умолчанию sudo smartctl -a . Поддерживаемые приложения - hddtemp и smartmontools . |
MPDADDRESS | Адрес MPD хоста. По умолчанию localhost . |
MPDPORT | Адрес MPD хоста. По умолчанию 6600 . |
PLAYER | Устанавливает музыкальный плеер. Поддерживаемые плееры: mpd и с поддержкой MPRIS/DBus. disable отключит данный монитор. |
PLAYERSYMBOLS | Количество символов в динамических тегах монитора за плеером. По умолчанию 10 . |
Настройка виджета
Для настройки внешнего вида Вы должны открыть окно настроек и установить требуемый формат текста. HTML теги обрабатываются корректно.
Доступные флаги приведены в таблице ниже.
ЗАМЕЧАНИЕ Нумерация всех массивов в переменных начинается с 0.
Тег | Описание | Введен |
---|---|---|
$time |
Время в стандартном формате. Например, fri Nov 6 04:48:01 2013 . |
1.5.1 |
$isotime |
Время в формате ISO. | 1.5.2 |
$shorttime |
Время в коротком формате локали. | 1.5.2 |
$longtime |
Время в длинном формате локали. | 1.5.2 |
$ctime |
Специальный формат времени. | 2.0.0 |
$tstime |
Текущий таймстемп | 3.1.2 |
$uptime |
Системный аптайм, ---d--h--m . |
|
$cuptime |
Специальный формат аптайма. | 2.0.0 |
$la1 |
Средняя загрузка за 1 минуту, ----- . |
2.4.0 |
$la5 |
Средняя загрузка за 5 минут, ----- . |
2.4.0 |
$la15 |
Средняя загрузка за 15 минут, ----- . |
2.4.0 |
$cpu |
Полная загрузка CPU, %, ----- . |
|
$cpuN |
Загрузка CPU для ядра N, %, ----- . |
1.7.0 |
$cpucl |
Средняя частота CPU, МГц, ---- . |
1.1.2 |
$cpuclN |
Частота CPU для ядра N, МГц, ---- . |
1.7.0 |
$tempN |
Температура для датчика N, ---- . Пример: $temp0 |
|
$gpu |
Использование GPU, %, ----- . aticonfig или nvidia-smi должны быть установлены. |
1.3.2 |
$gputemp |
Температура GPU, ---- . aticonfig или nvidia-smi должны быть установлены. |
1.3.2 |
$mem |
Использование RAM, %, ----- . |
|
$memmb |
Использование RAM, MB, ----- . |
1.1.1 |
$memgb |
Использование RAM, GB, ---- . |
1.7.3 |
$memfreemb |
Свободная RAM, MB, ----- . |
2.0.0 |
$memfreegb |
Свободная RAM, GB, ---- . |
2.0.0 |
$memtotmb |
RAM, MB, ----- . |
1.10.0 |
$memtotgb |
RAM, GB, ---- . |
1.10.0 |
$memusedmb |
Занятая и кэшированная RAM, MB, ----- . |
2.0.0 |
$memusedgb |
Занятая и кэшированная RAM, GB, ---- . |
2.0.0 |
$swap |
Использование swap, %, ----- . |
|
$swapmb |
Использование swap, MB, ----- . |
1.1.1 |
$swapgb |
Использование swap, GB, ---- . |
1.7.3 |
$swapfreemb |
Свободный swap, MB, ----- . |
2.0.0 |
$swapfreegb |
Свободный swap, GB, ---- . |
2.0.0 |
$swaptotmb |
swap, MB, ----- . |
1.10.0 |
$swaptotgb |
swap, GB, ---- . |
1.10.0 |
$hddN |
Занятость точки монтирования N, %, ----- . Пример: $hdd0 . |
1.3.2 |
$hddmbN |
Занятость точки монтирования N, MB, ----- . Пример: $hddmb0 . |
1.8.0 |
$hddgbN |
Занятость точки монтирования N, GB, ----- . Пример: $hddgb0 . |
1.8.0 |
$hddfreembN |
Свободное место точки монтирования N, MB, ----- . Пример: $hddfreemb0 . |
2.0.0 |
$hddfreegbN |
Свободное место точки монтирования N, GB, ----- . Пример: $hddfreegb0 . |
2.0.0 |
$hddtotmbN |
Размер точки монтирования N, MB, ----- . Пример: $hddtotmb0 . |
1.10.0 |
$hddtotgbN |
Размер точки монтирования N, GB, ----- . Пример: $hddtotgb0 . |
1.10.0 |
$hddrN |
Скорость записи диска N, KB/s, ----- . Пример: $hddr0 . |
1.9.0 |
$hddwN |
Скорость чтения диска N, KB/s, ----- . Пример: $hddw0 . |
1.9.0 |
$hddtempN |
Температура HDD с номером N, ---- . Пример $hddtemp0 . hddtemp или smartmontools должен быть установлен. |
1.7.0 |
$down |
Скорость загрузки активного устройства, KB/s или MB/s, ---- . |
1.7.0 |
$downkb |
Скорость загрузки активного устройства, KB/s, ---- . |
3.0.0 |
$downunits |
Единицы скорости загрузки активного устройства, ---- . |
3.0.0 |
$downtotal |
Всего скачано для активного устройства, MB, ---- . |
3.1.2 |
$downtotalkb |
Всего скачано для активного устройства, KB, ---- . |
3.1.2 |
$downN |
Скорость загрузки устройства N, KB/s или MB/s, ---- . |
2.2.0 |
$downkbN |
Скорость загрузки устройства N, KB/s, ---- . |
3.0.0 |
$downunitsN |
Единицы cкорости загрузки устройства N, ---- . |
3.0.0 |
$downtotalN |
Всего скачано для устройства N, MB, ---- . |
3.1.2 |
$downtotalkbN |
Всего скачано для устройства N, KB, ---- . |
3.1.2 |
$up |
Скорость отдачи активного устройства, KB/s или MB/s, ---- . |
1.7.0 |
$upkb |
Скорость отдачи активного устройства, KB/s, ---- . |
3.0.0 |
$upunits |
Единицы скорости отдачи активного устройства, ---- . |
3.0.0 |
$uptotal |
Всего загружено для активного устройства, MB, ---- . |
3.1.2 |
$uptotalkb |
Всего загружено для активного устройства, KB, ---- . |
3.1.2 |
$upN |
Скорость отдачи устройства N, KB/s или MB/s, ---- . |
2.2.0 |
$upkbN |
Скорость отдачи устройства N, KB/s, ---- . |
3.0.0 |
$upunitsN |
Единицы скорости отдачи устройства N, ---- . |
3.0.0 |
$uptotalN |
Всего загружено для устройства N, MB, ---- . |
3.1.2 |
$uptotalkbN |
Всего загружено для устройства N, KB, ---- . |
3.1.2 |
$netdev |
Текущее устройство. | 1.1.1 |
$bat |
Средний заряд батареи, %, --- . |
|
$batN |
Заряд батареи N, %, --- . |
2.0.3 |
$ac |
Статус зарядного устройства. Возвращает (*) , если устройство подключено, или ( ) , если нет. |
|
$album |
Альбом текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен. | 1.5.3 |
$dalbum |
Альбом текущей песни с фиксированным количеством символов, показывающийся, как бегущая строка. | 3.0.0 |
$salbum |
Альбом текущей песни с фиксированным количеством символов, показывающийся с многоточием на конце. | 3.0.0 |
$artist |
Исполнитель текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен. | 1.5.0 |
$dartist |
Исполнитель текущей песни с фиксированным количеством символов, показывающийся, как бегущая строка. | 3.0.0 |
$sartist |
Исполнитель текущей песни с фиксированным количеством символов, показывающийся с многоточием на конце. | 3.0.0 |
$duration |
Длительность текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен. | 2.0.0 |
$progress |
Прогресс текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен. | 1.5.3 |
$title |
Название текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен. | 1.5.0 |
$dtitle |
Название текущей песни с фиксированным количеством символов, показывающийся, как бегущая строка. | 3.0.0 |
$stitle |
Название текущей песни с фиксированным количеством символов, показывающийся с многоточием на конце. | 3.0.0 |
$ps |
Список запущенных процессов, разделенных запятой. | 1.8.0 |
$pscount |
Число запущенных процессов. | 1.8.0 |
$pstotal |
Общее число процессов. | 1.8.0 |
$pkgcountN |
Число пакетов, доступных для обновления, для команды N. | 1.8.0 |
$responseN |
Ответ на веб запрос к URL N. | 3.3.0 |
$customN |
Получить данные из указанной команды N. Например, $custom0 . |
1.9.0 |
$desktop |
Имя текущего рабочего стола. | 2.0.0 |
$ndesktop |
Номер текущего рабочего стола. | 2.0.0 |
$tdesktops |
Общее число рабочих столов. | 2.0.0 |
$askN |
Получить аск по тикеру N. Например, $ask0 . |
2.2.2 |
$askchgN |
Абсолютное изменение аск по тикеру N. Например, $askchg0 . |
2.2.2 |
$percaskchgN |
Изменение аск по тикеру N, %. Например, $percaskchg0 . |
2.2.2 |
$bidN |
Получить бид по тикеру N. Например, $bid0 . |
2.2.2 |
$bidchgN |
Абсолютное изменение бид по тикеру N. Например, $bidchg0 . |
2.2.2 |
$percbidchgN |
Изменение бид по тикеру N, %. Например, $percbidchg0 . |
2.2.2 |
$priceN |
Получить цену по тикеру N. Например, $price0 . |
2.2.2 |
$pricechgN |
Абсолютное изменение цены по тикеру N. Например, $pricechg0 . |
2.2.2 |
$percpricechgN |
Изменение цены по тикеру N, %. Например, $percpricechg0 . |
2.2.2 |
$weatherIdN |
Численное ID погоды. Например $weatherId0 . |
2.4.0 |
$weatherN |
Статус погоды. Например $weather0 . |
2.4.0 |
$humidityN |
Влажность, %. Например $humidity0 . |
2.4.0 |
$pressureN |
Давление, бар. Например $pressure0 . |
2.4.0 |
$temperatureN |
Температура. Humidity $temperature0 . |
2.4.0 |
Лямбда и шаблонные функции
Начиная с версии 3.0.0 основной виджет поддерживает лямбда выражения, которые
рассчитываются в рантайме. Они объявляются использованием конструкции
{% raw %}${{{% endraw %} {% raw %}}}{% endraw %}
:
{% raw %}${{{% endraw %}
function three()
{
return 1 + 2;
}
three()
{% raw %}}}{% endraw %}
Функции внутри будут интерпретированы, как JavaScript, любая переменная из основного набора поддерживается. Так, функция:
{% raw %}${{{% endraw %}
function colorCpu()
{
if ($cpu > 90.0)
return "<span style=\"color:#ff0000;\">$cpu</span>"
else
return "$cpu"
}
colorCpu()
{% raw %}}}{% endraw %}
покажет значение $cpu
красным, если оно больше 90.0, иначе - покажет цветом
по-умолчанию. Также поддерживаются произвольные вычисления:
{% raw %}${{{% endraw %}
$down - $up
{% raw %}}}{% endraw %}
покажет разность между скоростями загрузки и отдачи. Другая особенность,
предоставляемая лямбда выражениями - тег $this
, который вернет последнее
значение данной лямбда функции. Ниже чуть более сложный пример, который покажет
бегущую строку "Артист - Название" с длиной меньшей либо равной 10 символам:
{% raw %}${{{% endraw %}
function runningLine() {
var current = "$artist - $title";
var index = current.indexOf("$this");
if (("$this" == "") || ((index + 20 + 1) > current.length))
return current.substring(0, 20);
else
return current.substring(index + 1, index + 20 + 1);
}
runningLine()
{% raw %}}}{% endraw %}
Таким образом, лямбда выражения могут быть использованы, например, чтобы показывать произвольное значение, которое будет рассчитано в рантайме, или, чтобы показать различную информацию, в зависимости от некоторых условий. Однако, пожалуйста, учитывайте, что подобные вычисления в рантайме могут увеличить нагрузку на CPU.
Другое дополнение, которое было введено с 3.1.0 - шаблоны. Они работают также, как и лямбда выражения, однако вычисляются один раз (на старте), например:
{% raw %}$template{{{% endraw %}
function three()
{
return 1+2;
}
three()
{% raw %}}}{% endraw %}
всегда будет показывать 3
и не будер расчитываться каждый раз.
Специальные функции
Чтобы улучшить работу лямбда и шаблонных функций с 3.1.0 были введены несколько
внутренних функций. Они имеют следующий синтаксис:
$aw_function<args>{% raw %}{{{% endraw %}body{% raw %}}}{% endraw %}
, где
аргументы могут быть опциональными. Если вы хотите передать несколько аргументов,
они должны быть разделены запятыми. Если вы хотите передать запятую, как
аргумент, используйте $,
. Чтобы использовать сдвоенные скобки внутри тела, их
нужно экранировать, используя $
, например ${
. Функции будут вызваны один раз
при запуске перед всем остальным.
Функция | Описание | Аргументы | Тело |
---|---|---|---|
aw_all |
была введена для отладки, возвращает все ключи по регекспу | разделитель | регексп для поиска |
aw_count |
возвращает количество ключей по заданному регекспу | (нет) | регексп для поиска |
aw_keys |
возвращает ключи по заданному регекспу, объединенные разделителем | разделитель | регексп для поиска |
aw_names |
возвращает имена ключей (т.е. без $ ) по заданному регекспу, объединенные разделителем |
разделитель | регексп для поиска |
aw_macro |
определяет пользовательский макрос | имя макроса, аргументы | тело макроса |
aw_macro_* |
(* - имя макроса) вызов пользовательского макроса | аргументы макроса в аналогичном порядке | игнорируется |
Расширенные настройки
Включить фон: Снимите галочку, чтобы отключить стандартный фон виджета и
установить прозрачный. По умолчанию true
.
Переводить строки: Переводить или нет строковые теги. По умолчанию true
.
Заменить символ перевода строки: Заменить \n
на <br>
. По
умолчанию false
.
Перенос слов: Включить перенос слов. По умолчанию false
.
Включить всплывающие сообщения: Снимите галочку, если вы не хотите
всплывающих сообщений на системные события. По умолчанию true
.
Проверять обновления: Проверять или нет обновления при запуске. По умолчанию
true
.
Оптимизировать подписку: Оптимизировать работу с DataEngine. Вероятно, вы не
хотите менять эту опцию, несмотря на тот факт, что одна функция будет недоступна.
По умолчанию true
.
Высота виджета: Отключит автоматическое определение высоты виджета и
установит ее в данное значение. По умолчанию 0
(автоматически).
Ширина виджета: Отключит автоматическое определение ширины виджета и
установит ее в данное значение. По умолчанию 0
(автоматически).
Интервал обновления: Интервал обновления виджета, мс. По умолчанию 1000
.
Очередь сообщений: Использовать указанное количество тредов в пуле. 0
означает идеальное количество тредов. По умолчанию 0
.
Температурные единицы: Выберете единицы температуры. Доступные единицы следующие: Цельсий, Фаренгейт и Кельвин.
Свой формат времени:
$dddd |
Длинный день недели. |
$ddd |
Короткий день недели. |
$dd |
День. |
$d |
День без нуля. |
$MMMM |
Месяц в длинном формате. |
$MMM |
Месяц в коротком формате. |
$MM |
Месяц. |
$M |
Месяц без нуля. |
$yyyy |
Год. |
$yy |
Год в коротком формате. |
$hh |
Часы. |
$h |
Часы без нуля. |
$HH |
Часы в 24-часовом формате. |
$H |
Часы в 24-часовом формате без нуля. |
$mm |
Минуты. |
$m |
Минуты без нуля. |
$ss |
Секунды. |
$s |
Секунды без нуля. |
$t |
Временная зона. |
$a /$ap |
am или pm. |
$A /$AP |
AM или PM. |
Свой формат времени работы:
$dd |
Дни аптайма. |
$d |
Дни аптайма без нуля. |
$hh |
Часы аптайма. |
$h |
Часы аптайма без нуля. |
$mm |
Минуты аптайма. |
$m |
Минуты аптайма без нуля. |
AC online тег: Строка, которая будет показана, когда AC онлайн. По умолчанию
(*)
.
AC offline тег: Строка, которая будет показана, когда AC оффлайн. По
умолчанию ( )
.
Включить удаленную телеметрию: Включить загрузку конфигурации на удаленный сервер.
Количество истории: Общее количество конфигураций, которые будут сохранены локально
ID телеметрии: Уникальный идентификатор клиента для загрузки на удаленный сервер.
Тултипы
Начиная с версии 1.7.0, поля CPU, частота CPU, память, swap, сеть и батарея поддерживают графический тултип (всплывающая подсказка). Чтобы включить их, просто поставьте нужные галочки. Число хранимых значений может быть установлено во вкладке. Также есть возможность настроить цвета графиков.
Настройка DataEngine
Устройства ACPI: Путь к устройствам ACPI. По умолчанию /sys/class/power_supply/
.
Устройство GPU: Выберете одно из поддерживаемых устройств GPU. auto
включит автоматическое определение устройства, disable
отключит все мониторы
GPU. По умолчанию auto
.
HDD: Выберете один из HDD для монитора температуры HDD. all
включит
монитор для всех доступных устройств, disable
отключит монитор температуры HDD.
По умолчанию all
.
Команда hddtemp: Введите команду, которая будет запущена для hddtemp
DataEngine. По умолчанию sudo hddtemp
.
Количество символов для плеера: Количество символов, которые будут показываться в динамических тегах плеера.
Музыкальный плеер: Выберете один из поддерживаемых музыкальных плееров для соответствующего поля.
MPRIS: Выберете имя плеера MPRIS. auto
включит автоматическое определение
плеера. По умолчанию auto
.
Адрес MPD: Адрес MPD сервера. По умолчанию localhost
.
Порт MPD: Порт MPD сервера. По умолчанию 6600
.
Desktop panel
Начиная с версии 1.11.0 виджеты предоставляют панель для мониторинга за рабочими столами. И да, он выглядит, как аналогичная панель в Awesome.
Настройка Desktop panel
Включить фон: Снимите галочку, чтобы отключить стандартный фон виджета и
установить прозрачный. По умолчанию true
.
Вертикальная разметка: Использовать вертикальную разметку вместо
горизонтальной. По умолчанию false
.
Высота виджета: Отключит автоматическое определение высоты виджета и
установит ее в данное значение. По умолчанию 0
(автоматически).
Ширина виджета: Отключит автоматическое определение ширины виджета и
установит ее в данное значение. По умолчанию 0
(автоматически).
Метка Введите символ (или строку), которая будет показана, если данный рабочий стол сейчас активен.
Тип тултипа: Тип превью, по умолчанию Окна
.
Ширина тултипа: Ширина тултипа в пикселях. По умолчанию 200px
.
Цвет тултипа: Цвет, который будет использован в некоторых типах тултипа.
По умолчанию #ffffff
.
Теги шаблона
$mark |
Показать метку, если данный рабочий стол активен. Иначе показывает пробелы |
$name |
Имя рабочего стола. |
$number |
Номер рабочего стола. |
$total |
Общее число рабочих столов. |