Haron_Prime |
|
Темы:
28
Сообщения:
2109
Участник с: 08 июня 2014
|
Хочу поделиться своим опытом в настройке xmobar. А точнее тем, как сделать его интерактивным. Оглавление 00 - Вступление. Настройка вывода наличия и количества обновлений 01 - настройка вывода уровня громкости и действия по клику v1 02 - настройка вывода уровня нагрузки и температуры CPU и действия по клику 03 - настройка вывода температуры MB и GPU и действия по клику 04 - настройка вывода времени и даты и действия по клику 05 - настройка вывода текущей скорости сети и действия по клику 06 - настройка вывода количества трафика за текущие сутки и действия по клику 07 - настройка отображения и переключения раскладки клавиатуры и действия по клику 08 - настройка отображения использованной оперативной памяти и действия по клику 09 - простая кликабельная кнопка 10 - вывод текущей температуры воздуха v1 11 - кликабельные менюшки 12 - текущая погода v1 13 - текущая погода v2 14 - управление плейером mpd 15 - текущая погода v3 16 - переключение раскладки v2 17 - вывод уровня громкости и действия по кликам v2 18 - плавное изменение цвета текста в зависимости от получаемых значений * Описываемые мною действия предполагают, что у вас в файле .profile (.bashprofile или .zprofile - в зависимости от того, кто какую оболочку использует в качестве основной) в параметр PATH включён каталог $HOME/.local/bin, как место нахождения пользовательских исполнительных файлов, т.к. в дальнейшем все скрипты мы будем создавать именно там. ** Во избежание ненужных вопросов "почему я использую столько внешних скриптов?" объясню сразу - для сокращения длинны строки template Сейчас она у меня состоит из 1246 символов и в ней не так просто разобраться. Если вместо имён скриптов прописывать их содержимое, то длинна строки увеличится как минимум в 4-5 раз и разобраться в ней вообще станет невозможно. (UPD - на данный момент строка состоит уже из 2101 символа!) *** Если обнаружите где-либо опечатки в коде - напишите мне в ЛС, буду весьма благодарен **** Все актуальные и старые скрипты, а также актуальную версию xmobarrc и резервные копии предыдущих вариантов можно посмотреть на GitHub и Bitbucket На данный момент (29.09.2017) XMobar у меня выглядит так Общий вид: Левая сторона: Центр: Правая сторона: Полностью развёрнутые блоки правой стороны: * На всех вышеприведенных скриншотах xmobar с конфигом от 29.09.2017 (разворачивающиеся по клику/хоткею блоки информации) ------------------------------------------------------------------------------------------------------------------------------------------ Поехали. Начнём, пожалуй, с того, что лично у меня заняло больше всего времени - проверка обновлений и действия при наличии таковых. 1 - редактируем xinitrc - добавим туда следующую строку
2 - создаём нужные нам скрипты
3 - открываем их в текстовом редакторе и прописываем туда следующее ~/.local/bin/XMUpdate
~/.local/bin/XMYaourt
* вместо urxvt вам нужно вписать тот эмулятор терминала, который вам более удобен/привычен 4 - даём им права на исполнение
5 - редактируем .xmobarrc Сначала добавляем наши скрипты * 36000 - проверка наличия обновлений будет осуществляться каждый час** обновления проверяются только в тех репозитория, которые прописаны в pacman.conf, наличие обновлений в АУРе не проверяется Потом прописываем их выполнение в строку template
В результате, при наличии обновлений, в xmobar будет выводиться вот такая надпись В случае отсутствия обновлений не выводится ничего. За это отвечает скрипт XMUpdate Т.к. основной целью наших действий является интерактивность xmobar, то мы используем ещё один скрипт - XMYaourt При клике на надписи левой кнопкой мыши откроется urxvt или тот терминал, который вы пропишите в своём скрипте, с предложением ввести пароль для обновления базы данных пакетов и установки обновлений. После установки обновлений терминал автоматически закроется, а надпись исчезнет. https://youtu.be/J3_Mmfww8so Вот и всё. В дальнейшем я планирую добавить ещё несколько примеров использования различных действий в xmobar |
toZen |
|
Темы:
19
Сообщения:
544
Участник с: 06 февраля 2015
|
НР, спасибо за труд, обязательно опробую твои наработки. Пока всё интересно. |
Haron_Prime |
|
Темы:
28
Сообщения:
2109
Участник с: 08 июня 2014
|
Теперь настроим управление громкостью. Для вывода данных в xmobar я предпочитаю использовать сторонний скрипт XMVol ~/.local/bin/XMVol * в дальнейшем планируется отредактировать скрипт, для вывода данных через PipeRiderОн выводит в панель вот такую надпись При выключении звука уровень громкости заменяется надписью MUTE Помещаем скрипт в ~/.local/bin и даём права на исполнение. Добавляем в xmobarc строку
а в строке template прописываем следующее
Расшифровка: 1- клик ЛКМ - выключение/включение звука 2 - клик ПКМ - воспроизведение/пауза mpd 3 - клик СКМ - открывает/закрывает окно терминала с запущенным ncmpcpp с помощью скрипта XMncmpcpp (расположен в ~/.local/bin) ~/.local/bin/XMncmpcpp
4 - поворот колёсика мыши на себя - один щелчок +5% грмкомсти 5 - поворот колёсика мыши от себя - один щелчок -5% громкости * для вывода звука используется pulseaudio Продолжение следует |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
Haron_PrimeНавскидку - реально ли выводить список точек монтирования (авто)смонтированных сменных носителей, и чтобы по левому клику точка монтирования открывалась в файлменеджере, а по правому - вызывался скрипт отмонтирования? |
Haron_Prime |
|
Темы:
28
Сообщения:
2109
Участник с: 08 июня 2014
|
Пробовать надо. С выводом проблем нет, а вот с интерактивностью списка... |
Haron_Prime |
|
Темы:
28
Сообщения:
2109
Участник с: 08 июня 2014
|
Continue Вывод нагрузки и температуры CPU Для отображения нагрузки пользуюсь встроенными функциями xmobar Расшифровывать все аргументы я здесь не буду - для этого есть мануалВыглядит это так При повышении нагрузки выше 25% цифры становятся жёлтыми, выше 75% - красно-оранжевыми Т.к. стандартные средства xmobar для отображения температуры процессора криво работают с моим процессором (разогнанный AMD Phenom II X3 720 BE), я слепил вот такой скриптик и получаю эти данные с помощью sensors ~/.local/bin/TCPU
Температура до 45 градусов отображается дефолтным цветом, от 45 до 55 жёлтым, выше 55 красно-оранжевым. В xmobarrc скрипт прописан так:
Теперь переходим к действиям по кликам. В строке template присутствует следующая запись
Клик ЛКМ вызывает/закрывает всплывающее окно через скрипт XMTop-cpu ~/.local/bin/XMTop-cpu
Клик ПКМ вызывает/закрывает окно терминала с запущеным HTOP с помощью скрипта XMHtop ~/.local/bin/XMHtop
Продолжение следует |
Haron_Prime |
|
Темы:
28
Сообщения:
2109
Участник с: 08 июня 2014
|
Continue Вывод температуры MB и GPU И снова внешние скрипты ~/.local/bin/TMB
Вывод: до +45 - дефолтный цвет, от 45 до 60 жёлтый, выше 60 красно-оранжевый ~/.local/bin/TGPU
Вывод: до 50 градусов дефолтный цвет, от 50 до 65 жёлтый, выше 65 красно-оранжевый В xmobarrc они прописаны такЖ
Запись в template:
В данном случае на ЛКМ и ПКМ повешено одно и то же действие - вызов/закрытие всплывающего окна скриптом XMSensors ~/.local/bin/XMSensors
Продолжение следует |
Haron_Prime |
|
Темы:
28
Сообщения:
2109
Участник с: 08 июня 2014
|
Ну и последнее на сегодня - дата Снова внешний скрипт XMTime ~/.local/bin/XMTime
Результат работы скрипты на скрине - в воскресенье день недели отображается красно-оранжевым, в субботу оранжевым, в сотальные дни дефолтным цветом Запись в xmobarrc
Запись в строке template:
Расшифровка: Клик ЛКМ - вызов/закрытие всплывающего окна с календарём скриптом XMCal ~/.local/bin/XMCal
Клик ПКМ вызов/скрытие XClock скриптом XMXClock ~/.local/bin/XMXClock
Продолжение следует |
Morisson |
|
Темы:
18
Сообщения:
1426
Участник с: 11 января 2017
|
Спасибо за труд, кое-что уже воплотил, все работает. |
Haron_Prime |
|
Темы:
28
Сообщения:
2109
Участник с: 08 июня 2014
|
Morisson, да не за что, в общем-то - я просто убивал свободное время )))) Чуть позже продолжу - опишу остальные примочки, их осталось не так уж много |