34 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.
ВНИМАНИЕ: НУЖНЫ ПЕРЕВОДЧИКИ!
Совместим с Plasma 5!
Разработчики
{% for devel in page.developers %}
- {{ devel }}{% endfor %}
Отдельное спасибо:
Лицензия
- {{ page.license }}
Список изменений
Установка
Инструкция
-
Скачайте архив с актуальной версией исходных файлов.
-
Извлеките из него файлы и установите:
cd /путь/к/извлеченным/файлам/ cmake -B build -S sources -DCMAKE_BUILD_TYPE=Release cmake --build build cmake --install build
Зависимости
Все было протестировано на последних версиях зависимостей.
- plasma-workspace
- cmake (make)
- extra-cmake-modules (make)
- один из поддерживаемых музыкальных плееров (опционально, для контроля за музыкальным плеером)
- udev (опционально, настройки GPU)
- wireless_tools (опционально, настройки WiFi)
Использование
Откройте список виджетов 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/ . |
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, %, ----- . udev должен быть установлен. |
1.3.2 |
$gpuN |
Использование GPU для устройства Ν, %, ----- . Пример: $gpuN . udev должен быть установлен. |
4.0.0 |
$gputempN |
Температура GPU для устройства N, ---- . Пример: $gputempN . udev должен быть установлен. |
4.0.0 |
$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 |
$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 |
$batleft |
Время разряда батареи, с, --- . |
3.4.2 |
$batleftN |
Время разряда батареи N, с, --- . Пример: $batleft0 . |
3.4.2 |
$batnow |
Текущая емкость батарей, --- . |
3.4.2 |
$batnowN |
Текущая емкость батареи N, --- . Пример: $batnow0 . |
3.4.2 |
$batrate |
Скорость разряда батареи, 1/с, ----- . |
3.4.2 |
$batrateN |
Скорость разряда батареи N, 1/с, ----- . Пример: $batrate0 . |
3.4.2 |
$battotal |
Полная емкость всех батарей, --- . |
3.4.2 |
$battotalN |
Полная емкость батареи N, --- . Пример: $battotal0 . |
3.4.2 |
$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 |
Температура, ----- . Например, $temperature0 . |
2.4.0 |
$brightness |
Яркость экрана, --- . |
3.4.2 |
$volume |
Громкость звука, --- . |
3.4.2 |
$ssid |
Текущее WiFi подключение. wireless_tools должен быть установлен. |
4.0.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
.
Температурные единицы: Выберете единицы температуры. Доступные единицы следующие: Цельсий, Фаренгейт и Кельвин.
Свой формат времени:
$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 оффлайн. По умолчанию ( )
.
Количество истории: Общее количество конфигураций, которые будут сохранены локально
Тултипы
Начиная с версии 1.7.0, поля CPU, частота CPU, память, swap, сеть и батарея поддерживают графический тултип (всплывающая подсказка). Чтобы включить их, просто поставьте нужные галочки. Число хранимых значений может быть установлено во вкладке. Также есть возможность настроить цвета графиков.
Настройка DataEngine
Устройства ACPI: Путь к устройствам ACPI. По умолчанию /sys/class/power_supply/
.
Количество символов для плеера: Количество символов, которые будут показываться в динамических тегах плеера.
Музыкальный плеер: Выберете один из поддерживаемых музыкальных плееров для соответствующего поля.
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 |
Общее число рабочих столов. |