05 июн 2016
Тeги: awesome-widgets,pytextmonitor
Похожие посты:
Практическая молекулярная динамика. Часть 1
Как загрузить скриншот в S3 с помощью linux
Данная статья описывает два основных изменения в версии 3.2.0.
На самом деле, форматеры имеют графический интерфейс для настройки, но здесь я опишу, как их можно настроить, используя текстовый редактор.
Чтобы включить форматер, используйте файл $HOME/.local/share/awesomewidgets/formatters/formatters.ini
.
Данный файл имеет только одну секцию [Formatters]
, в которой ключи - это
соответствующие ключи в виджете, а значения - имена соответствующих форматеров.
Например:
[Formatters]
cpu=myformatter
означает, что форматер myformatter
будет использован для ключа cpu
.
Все форматеры хранятся в той же директории, один форматер на файл, файлы должны
иметь расширение .desktop
. Каждый форматер имееет следующие настройки внутри
секции [Desktop Entry]
:
Поле | Обязательное | Значение | По-умолчанию |
---|---|---|---|
Name | да | имя форматера | none |
Comment | нет | комментарий | empty |
X-AW-ApiVersion | да | совместимость API. Не меняйте, если не знаете, что делаете | 0 |
X-AW-Type | нет | тип форматера. Поддерживаются следующие типы: NoFormat , DateTime , Float , Json , List , Script , String |
NoFormat |
Дополнительно следующте поля добавлены для совместимости:: X-AW-Active
,
X-AW-Interval
, X-AW-Number
, X-AW-Schedule
, X-AW-Socket
, но они будут
проигнорированы.
Каждый тип форматера имеет свое поведение и свои настройки, которые описаны ниже.
Также существуют системные настройки, которые хранятся в /usr/share/awesomewidgets/formatters/
,
системные форматеры будут перезаписаны пользовательскими, но настройки (то есть
formatters.ini
) будут просто дополнены.
Просто значение конвертирует в строку. Не имеет никаких особых настроек.
Конвертирует QDateTime
объект в строку.
Поле | Обязательное | Значение | По-умолчанию |
---|---|---|---|
X-AW-Format | да | Qt специфичный формат времени | (пусто) |
Действует аналогично $ctime
и имеет аналогичную конфигурацию.
Конвертирует любое число в строку.
Поле | Обязательное | Значение | По-умолчанию |
---|---|---|---|
X-AW-FillChar | нет | символ для заполнения до X-AW-Width |
(space) |
X-AW-ForceWidth | нет | обрезать строку после X-AW-Width |
false |
X-AW-Format | нет | Qt специфичный формат числа, поддерживаются: e , E , f , g , G |
f |
X-AW-Multiplier | нет | число, на которое значение будет умножено | 1.0 |
X-AW-Precision | нет | число знаков после запятой | -1 (как получится) |
X-AW-Summand | нет | число, которое будет добавлено к значению | 0.0 |
X-AW-Width | нет | ширина числового поля, отрицательное - выравнивание по левому краю | 0 (не ограничивать) |
Конечное значение будет получено по формуле X-AW-Multiplier * value + X-AW-Summand
.
Извлекает сообщения из JSON.
Поле | Обязательное | Значение | По-умолчанию |
---|---|---|---|
X-AW-Path | да | путь к значению в JSON | (пусто) |
Путь должен быть разделен точками. Числа в пути будут интерпретированы как индекс элемента в массиве.
Конвертирует список строк в строку
Поле | Обязательное | Значение | По-умолчанию |
---|---|---|---|
X-AW-Filter | нет | фильтровать список по заданному регулярному выражению | (пусто) |
X-AW-Separator | нет | использовать разделитель для объединения | (пусто) |
X-AW-Sort | нет | сортировать или нет список | false |
Использует javascript код для конвертации значения в строку. Значение будет передано как аргумент в функцию.
Поле | Обязательное | Значение | По-умолчанию |
---|---|---|---|
X-AW-AppendCode | нет | вставить код между (function(value) { и }) |
true |
X-AW-Code | нет | код для использования | (пусто) |
X-AW-HasReturn | нет | если false, то дополнить код return output; . Работает только если X-AW-AppendCode - true |
false |
Например, для конвертации скорости загрузки в кибибиты на лету, вы можете использовать следующее:
X-AW-AppendCode=true
X-AW-Code="output=value/8.0;"
X-AW-HasReturn=false
Код будет развернут в следующее:
(function(value) {
output = value / 8.0;
return output;
})
Улучшенная версия NoFormat
.
Поле | Обязательное | Значение | По-умолчанию |
---|---|---|---|
X-AW-FillChar | нет | символ для заполнения до X-AW-Width |
(space) |
X-AW-ForceWidth | нет | обрезать строку после X-AW-Width |
false |
X-AW-Width | нет | ширина поля, отрицательное - выравнивание по левому краю | 0 (не ограничивать) |
Другая особенность - макросы. Пользователь может определить свою функцию, используя
следующую конструкцию
$aw_macro<my_macro_name,some_arg,another_arg>{{macro body here with $some_arg}}
.
Первый аргумент - имя макроса - обязателен. Другие описывают аргументы, которые
будут переданы при вызове макроса. Тело макроса может иметь любой текст (включая
шаблоны, лямбды и прочее) и аргументы, определенные используя $
.
Чтобы вызвать макрос в коде нужно использовать следующую конструкцию:
$aw_macro_my_macro_name<$cpu,$cpucl>{{}}
(тело функции
будет проигнорировано здесь). В данном примере, макрос будет развернут в
macro body here with $cpu
.