Infobar - модульный информер для i3bar §

Infobar позволяет выводить разнообразную информацию в i3bar с помощью модулей.

Infobar screenshot

Модули могут быть написаны на любом языке программирования: достаточно лишь выводить на stdout специальную json-строку.

Пример:

{"name":"weather","full_text":"Moscow: ☽ 17","color":"#FFCC00","separator":false},

В этой строке имеются четыре элемента: имя модуля, отображающийся текст модуля, цвет отображаемого модуля и флаг, убирающий стандартный разделитель(мы будем использовать свой собственный разделитель). Также, после описания json-объекта необходимо выводить запятую.

###Установка

Просто склонируйте репозиторий в директорию ~/.infobar, затем добавьте нижеследующие строки в файл ~/.i3/config:

bar {
    position top
    status_command ~/.infobar/infobar
}

Infobar берёт имя каждого модуля из файла ~/.infobar/plugins/.order. Если есть необходимость добавить свой модуль, то нужно переместить исполняемый файл модуля в директорию ~/.infobar/plugins и добавить строку с именем файла модуля в файл ~/.infobar/plugins/.order. Infobar запускает модули каждые 5 секунд в последовательном порядке, указанном в файле ~/.infobar/plugins/.order.

###Библиотеки

В репозитории Infobar есть библиотеки для модулей на языке bash. Они находятся в директории lib/bash. Библиотека jsonify позволяет легко формировать json-строку. Для этого необходимо включить библиотеку в модуль(source или .), а затем просто вызвать функцию jsonify с набором переменных в качестве аргументов:

jsonify "$pluginname" "$plugintext" "$plugincolor"

Библиотека lib/bash/separator подключается в самом Infobar. Эта библиотека представляет собой модуль, выводящий символ-разделитель.