Итак, в прошлом посте рассказывалось о легковесной панели bmpanel, которая не использует общий файл конфигурации для хранения настроек, но вместо этого, использует папки с темами, где лежат графические файлы и текстовый файл theme. Он и является по сути конфигом и довольно таки легко редактируется. Таким образом можно изменить детали существующей темы, либо создать собственную (все имена необходимых графических файлов перечислены в этом файле).
Почти вся информация по структуре тем есть тут по-английски. Да и по самому файлу многое можно и так понять.
Синтаксис простой: строка имеет вид ключ значение. Возможные ключи заданы для панели жёстко, а значения могут быть одного из 6 типов:
- [string] - текст
- [integer] - целое число
- [image] - имя графического файла (лежащего в той же папке)
- [font] - шаблон поиска для конфигурации шрифта (на сайте даётся вот такая ссылка, и там много интересного по-английски, но можно просто сделать по аналогии: DejaVuSans-14:bold)
- [color] - шестнадцатеричное представление цвета (например, белый будет FFFFFF)
- набор специальных значений (например, [top|bottom] - значение, должно быть одним из перечисленных двух)
- general - описывающая общие свойства панели и трей
- clock - часы
- taskbar - панель задач
- desktop switcher - переключатель рабочих столов
Секция general
Первые строчки чисто информативные и никак не используются в настройке - это информация об авторстве и версиях. А вот затем идут вполне полезные строки, в частности сначала определяющие общие настройки панели, а затем трея:use_composite [integer] - 1 или 0 - использовать или нет композитинг
height_override [integer] - увеличивать высоту панели до указанного значения (может использоваться для тем с прозрачными элементами)
placement [bottom|top] - определяет расположение панели внизу или вверху экрана
tile_img [image] - картинка, которой фон панели будет замощён по горизонтали
separator_img [image] - картинка для разделителя на панели (между элементами)
tray_icon_w [integer] - ширина иконок в трее
tray_icon_h [integer] - высота иконок в трее
tray_space_gap [integer] - расстояние между разделителем и крайней иконкой трея
tray_icons_spacing [integer] - расстояние между иконками в трее
elements [string] - специальная строка, определяющая порядок расположения элементов панели: например, sbtc (где s - переключатель рабочих столов, b - таскбар, t - трей, c - часы)
Раздел clock
clock_right_img [image] - картинка для правой стороны фона для часовclock_tile_img [image] - картинка, которой заполняется фон для часов
clock_left_img [image] - картинка для левой стороны фона для часов
clock_font [font] - шрифт для часов (лучше указывать моноширинный)
clock_text_color [color] - цвет шрифта часов
clock_text_offset_x [integer] - смещение текста по горизонтали относительно "центрального" (положительные числа смещают правее)
clock_text_offset_y [integer] - смещение текста по вертикали (положительные часла смещают ниже)
clock_text_padding [integer] - на сколько пикселов фон часов шире, чем текст
clock_text_align [left|rigth|center] - выравнивание текста по левой стороне, по правой или по центру (относительно фона и по горизонтали)
clock_space_gap [integer] - расстояние между часами и разделителями
clock_format [string] - формат представления времени (например %H:%M:%S, другие обозначения можно взять тут)
Раздел taskbar
tb_right_idle_img [image] - картинка для правой стороны кнопокtb_right_pressed_img [image] - то же самое для нажатых кнопок
tb_tile_idle_img [image] - картинка для фона кнопок
tb_tile_pressed_img [image] - картинка фона нажатых кнопок
tb_left_idle_img [image] - картинка для левой стороны кнопок
tb_left_pressed_img [image] - то же самое для нажатых
tb_default_icon_img [image] - иконка для программ не имеющих своей
tb_font [font] - шрифт для текста на кнопках в панели
tb_text_color_idle [color] - цвет текста на кнопках
tb_text_color_pressed [color] - цвет текста на нажатых кнопках
tb_text_offset_x [integer] - см. clock_text_offset_x
tb_text_offset_y [integer] - см. clock_text_offset_y
tb_text_align [left|right|center] - см. clock_text_align
tb_separator_img [image] - картинка для разделителя между кнопками на панели
tb_icon_offset_x [integer] - смещение иконки по горизонтали
tb_icon_offset_y [integer] - смещение иконки по вертикали
tb_icon_w [integer] - ширина иконки
tb_icon_h [integer] - высота иконки (это и предыдущее значения можно сделать равными 0, тогда иконок не будет видно)
tb_space_gap [integer] - расстояние между кнопками и разделителями
Раздел desktop switcher
ds_left_corner_idle_img [image] - картинка для левого угла всего переключателяds_left_corner_pressed_img [image] - то же, но когда левая крайняя кнопка нажата
ds_right_corner_idle_img [image] - картинка для правого угла всего переключателя
ds_right_corner_pressed_img [image] - то же, но когда правая крайняя кнопка нажата
ds_right_idle_img [image] - картинка для правой стороны кнопки (каждого отдельного стола)
ds_right_pressed_img [image] - то же для нажатой кнопки
ds_tile_idle_img [image] - картинка для фона кнопки
ds_tile_pressed_img [image] - картинка для фона нажатой кнопки
ds_left_idle_img [image] - картинка для левой стороны кнопки
ds_left_pressed_img [image] - картинка для левой стороны нажатой кнопки
ds_font [font] - шрифт
ds_text_color_idle [color] - цвет шрифта
ds_text_color_pressed [color] - цвет шрифта на нажатой кнопке
ds_text_offset_x [integer] - см. clock_text_offset_x
ds_text_offset_y [integer] - см. clock_text_offset_y
ds_text_padding [integer] - насколько пикселов кнопка шире чем текст в ней
ds_text_align [left|right|center] - выравнивание текста по горизонтали
ds_space_gap [integer] - расстояние между краями переключателя и разделителями
ds_separator_img [image] - картинка для разделителя между кнопками
Некоторые ключи подписаны на этой картинке с куском переключателя рабочих столов.
Символ звёздочки тут заменяет idle и pressed, чтобы не подписывать отдельно обычные и нажатые кнопки. По аналогии должны быть понятны и остальные ключи.
Не все строки в конфиге являются обязательными, многие можно опустить совсем (в теме redmini есть самые необходимые и тут эти строчки выделены жирным), причём картинки тоже необязательно должны быть везде разные (например, разделители для всех элементов - это может быть одна картинка).
Комментариев нет:
Отправить комментарий