--- category: ru hastr: true layout: project title: Awesome Widgets short: awesome-widgets tags: python, kde, qt, linux, система, awesome hasgui: true hasdocs: false developers: - Evgeniy Alekseev - Ernesto Avilés Vzqz (перевод на испанский) - Mermouy (перевод на французский) - underr (перевод на бразильский португальский) - Виктор Слободян (перевод на украинский) - Lemueler (перевод на китайский) - Heimen Stoffels (перевод на голландский) license: GPLv3 links: - Страница плазмоида на kde-look.org - Страница DataEngine на kde-look.org - Пакет в AUR - Пакет для openSUSE (спасибо Kott) - Пакеты для Ubuntu - Миграция на версию 2.0 - Расширения ---

Информация

Набор минималистичных легко настраиваемых пламоидов, написанных на C++/Qt. Они выглядят, как виджеты в Awesome WM. Также пакет предоставляет дополнительный системный DataEngine.

ВНИМАНИЕ: НУЖНЫ ПЕРЕВОДЧИКИ!

Совместим с Plasma 5!

Разработчики

Лицензия

Список изменений

CHANGELOG-RU

Установка

Инструкция

Зависимости

Все было протестировано на последних версиях зависимостей.

Использование

Откройте список виджетов 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
Время работы $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 Полная загрузка CPU, %, -----.
$cpuN Загрузка CPU для ядра N, %, -----. 1.7.0
Частота CPU $cpucl Средняя частота CPU, МГц, ----. 1.1.2
$cpuclN Частота CPU для ядра N, МГц, ----. 1.7.0
Температура $tempN Температура для датчика N, ----. Пример: $temp0
GPU $gpu Использование GPU, %, -----. aticonfig или nvidia-smi должны быть установлены. 1.3.2
Температура GPU $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 Использование 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
HDD $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
Скорость HDD $hddrN Скорость записи диска N, KB/s, -----. Пример: $hddr0. 1.9.0
$hddwN Скорость чтения диска N, KB/s, -----. Пример: $hddw0. 1.9.0
Температура HDD $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
$downN Скорость загрузки устройства N, KB/s или MB/s, ----. 2.2.0
$downkbN Скорость загрузки устройства N, KB/s, ----. 3.0.0
$downunitsN Единицы cкорости загрузки устройства N, ----. 3.0.0
$up Скорость отдачи активного устройства, KB/s или MB/s, ----. 1.7.0
$upkb Скорость отдачи активного устройства, KB/s, ----. 3.0.0
$upunits Единицы скорости отдачи активного устройства, ----. 3.0.0
$upN Скорость отдачи устройства N, KB/s или MB/s, ----. 2.2.0
$upkbN Скорость отдачи устройства N, KB/s, ----. 3.0.0
$upunitsN Единицы скорости отдачи устройства N, ----. 3.0.0
$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
Своя команда $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 основной виджет поддерживает лямбда выражения, которые рассчитываются в рантайме. Они объявляются использованием конструкции ${{ }}:

{% highlight javascript %} {% raw %}${{{% endraw %} function three() { return 1 + 2; } three() {% raw %}}}{% endraw %} {% endhighlight %}

Функции внутри будут интерпретированы, как JavaScript, любая переменная из основного набора поддерживается. Так, функция:

{% highlight javascript %} {% raw %}${{{% endraw %} function colorCpu() { if ($cpu > 90.0) return "$cpu" else return "$cpu" } colorCpu() {% raw %}}}{% endraw %} {% endhighlight %}

покажет значение $cpu красным, если оно больше 90.0, иначе - покажет цветом по-умолчанию. Также поддерживаются произвольные вычисления:

{% highlight javascript %} {% raw %}${{{% endraw %} $down - $up {% raw %}}}{% endraw %} {% endhighlight %}

покажет разность между скоростями загрузки и отдачи. Другая особенность, предоставляемая лямбда выражениями - тег $this, который вернет последнее значение данной лямбда функции. Ниже чуть более сложный пример, который покажет бегущую строку "Артист - Название" с длиной меньшей либо равной 10 символам:

{% highlight javascript %} {% 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 %} {% endhighlight %}

Таким образом, лямбда выражения могут быть использованы, например, чтобы показывать произвольное значение, которое будет рассчитано в рантайме, или, чтобы показать различную информацию, в зависимости от некоторых условий. Однако, пожалуйста, учитывайте, что подобные вычисления в рантайме могут увеличить нагрузку на CPU.

Расширенные настройки

Включить фон: Снимите галочку, чтобы отключить стандартный фон виджета и установить прозрачный. По умолчанию true.

Переводить строки: Переводить или нет строковые теги. По умолчанию true.

Заменить символ перевода строки: Заменить \n на <br>. По умолчанию false.

Перенос слов: Включить перенос слов. По умолчанию false.

Включить всплывающие сообщения: Снимите галочку, если вы не хотите всплывающих сообщений на системные события. По умолчанию true.

Проверять обновления: Проверять или нет обновления при запуске. По умолчанию 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 оффлайн. По умолчанию ( ).

Тултипы

Начиная с версии 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 Общее число рабочих столов.

Графический интерфейс

Скриншоты

{% assign scrdesc = "Виджет (кликабельно)" %} {% assign scrname = "awesomewidgets_widget" %} {% include prj_scr.html %} {% assign scrdesc = "Окно настроек" %} {% assign scrname = "awesomewidgets_config_01" %} {% include prj_scr.html %} {% assign scrdesc = "Окно настроек" %} {% assign scrname = "awesomewidgets_config_02" %} {% include prj_scr.html %} {% assign scrdesc = "Окно настроек" %} {% assign scrname = "awesomewidgets_config_03" %} {% include prj_scr.html %} {% assign scrdesc = "Окно настроек" %} {% assign scrname = "awesomewidgets_config_04" %} {% include prj_scr.html %} {% assign scrdesc = "Окно настроек" %} {% assign scrname = "awesomewidgets_config_05" %} {% include prj_scr.html %} {% assign scrdesc = "Тултипы" %} {% assign scrname = "awesomewidgets_tooltips" %} {% include prj_scr.html %}