f118f9e0b25a666c23caa86298e745917427f987
Ещё один генератор строки состояния для i3bar
Зачем? Их же навалом, разных!
Просто потому что могу :)
На самом деле, мне понадобился генератор с некоторыми специфическими функциями. И мне было проще сгенерировать свой скрипт, согласно i3bar JSON ipc protocol.
Что же такого он умеет?
Несколько очень простых вещей - просто посмотри в конфиг :)
- Показывать текущий LA
- Показывать сжатую статистику по памяти
- Часики (с возможностью навесить исполнение любой программы по правому или левому щелчку мыши)
- Состояние заряда батарейки для ноутбука
- Температуру процессора (одно ядро, указывается файл-источник сведений)
- Состояние клавиши CapsLock
- Состояние одного интерфейса VPN (+ tcp health check, т.к. ovpn, например, умеет "залипать")
- Уровень звука согласно pulse audio для default sink (придумывать "крутилочку" для звука я не стал, ибо там не всё так просто и "в процессе" fun скорее всего пропадёт.). Предполагается, что звук правляется через что-то ещё, например, через какой-нибудь pasystray, например.
- Состояние (up|down) любого набора существующих сетевых интерфейсов. Но каждый надо описать. IP не показываются, т.к. это сжирает место на панели, а его не так-то и много.
- "Кнопки" для запуска произвольных приложений. Собственно, ради этого всё и затевалось :)
- "Трекать" запуск приложенй "с кнопки" и подсвечивать соответствующую "кнопку". Работает через ивенты от самого i3: на появление и на исчезновения окна с рядом свойств.
- Cron! Как ни забавно это звучит, но, да. И нужен он для показывания desktop notifications, ибо системный cron не прокидывает в environment переменную с текущим dbus session. Но в этот крон можно пихнуть что угодно.
Как это заставить работать
Скрипт на perl-е, и чтобы заставить его работать нужен, собственно, сам perl, cpanm, carton, cpm или что-то ещё для управления перловыми модулями, а также крайне желательно наличие в системе библиотеки lib::local.
При запуске необходимо убедиться, что переменная PERL5LIB установлена корректно.
И не забыть в конфиге прописать что-то вменяемое. Кстати, конфиг ищется в каталогах
- ~/.config/i3/i3status-anyevent.json
- ~/.config/i3/config.json
- ~/.i3/i3status-anyevent.json
- ~/.i3/config.json
Description
Languages
Perl
100%