LINUX.ORG.RU

Измененный taglist в awesome

 ,


2

1

Доброго дня! Требуется изменить отображение тегов в Awesome, а именно добавить скосы к отображаемым на текущий момент тегам, однако ни как не могу понять как это сделать. Гугл привел в эту тему Однако топикстартер ссылку на гитхаб так и не выложил.

Собственно, что есть: https://img42.com/9ller

Как задумано: https://img42.com/ksQWZ

Куда привели меня мои недюжинные способности в программировании и разметке, которых нет: https://img42.com/X6iKp (поправлены границы в awful/widget/common.lua и taglist.lua) Скосы - слегка подправленный PowerlineSymbols шрифт (по совету из галереи)

Вот, собственно, как быть?

$ awesome -v
awesome v3.5.6 (For Those About To Rock)
 • Compiled against Lua 5.1.5 (running with Lua 5.1)
 • D-Bus support: ✔

Проще всего это сделать - дорисовать символы в шрифте и вставлять их вокруг активного тега, как ты и сделал. Только нужно сдвинуть символ в шрифте чуть ниже, чтобы это смотрелось лучше. И почему эти символы вокруг неактивного тега im?

disarmer ★★★
()
Ответ на: комментарий от disarmer

Это я taglist.lua неудачно поправил в качестве эксперимента, а тег im в состоянии urgent, там сообщение в Пиджин пришло. Вот если честно, не знаю почему там тоже символы добавились. С доп. символами там вообще что-то весьма интересное. Как я понимаю, как с символом в шрифте не извращайся, отрисовываться он будет согласно ограничениям установленного кегеля в теме, потому символам специально проставлена гарнитура PowerlineSymbols 16, когда все остальное в Terminus 10, дабы символ растягивался на всю ширь Вибокса. Но как видно на скрине - это так же влияет и на имя тега, оно опускается и выравнивается относительно «скоса». Да и вообще индикатор заполненности тега пропадает (ладно, не так критично). Короче, куда не глянь - всяко криво у меня выходит.

runout
() автор топика
Ответ на: комментарий от runout

Если это два разных шрифта, то сложно будет подогнать. Нужно либо в terminus дорисовывать эти символы, либо для тегов использовать шрифт с символами Powerline.

disarmer ★★★
()
Ответ на: комментарий от disarmer

я тоже такую тему хочу - давайте там ответь уже ктонибудь нормально.

GGUseR
()
Ответ на: комментарий от actionless

Есть, да. Вот только все равно нужно править.

Ну, не суть. Шрифт я поправил, но какая-то хрень получается в итоге.

Как оно должно быть, я представляю: есть таг, к нему пришивается треугольник (один между двумя тагами получается), цвет треугольника берётся из бекграунда тага, а цвет бекграунда самого тага - цвет бекграунда тага рядом стоящего. Ума не приложу, как описать.

На скриншоте вижно единственную поправленную строку в качестве эксперимента. Если fg заменить на bg - awesome падает. Попробовал инициализировать beautiful (скопировал код из rc.lua) и брать цвета из неё вида beautiful.bg_color, но тоже все ломается.

Без понятия что дальше делать.

runout
() автор топика
Ответ на: комментарий от runout

Если fg заменить на bg - awesome падает

тебе именно это и надо cделать, чтобы оно адекватно выглядело

может, ты не инициализировал beautiful? может, опечатка? покажи трэйс при падении и код

actionless ★★★★★
()
Последнее исправление: actionless (всего исправлений: 2)
Ответ на: комментарий от runout

реквестирую конфиги и шрифты - когда будет всё готово:)

GGUseR
()
Ответ на: комментарий от actionless

Короче, фиг его знает почему, но если брать цвет и переменной fg_color, о все падает, если задать fg_focus - то все сработало. Но вот беда, одинаковые совершенно скосы добавляются ко всем тагам, даже не выделенным. В Дополнение к этому, как можно заметить на скрине, под скосом рисуется еще черточка цвета фона.

Короче, все плохо. Сдается мне, что я вообще какую-то не ту функцию ставлю. Мне это представляется как: собирается таблица с тагами, и к каждому тагу еще дополнительно пришивается этот скос, где color задайтся как цвет бекграунда тага, а background задаётся как цвет бекграунда соседнего тага, а то они плясать будут, если скос добавлять только к текущему, ведь тагов можно отображать сразу несколько, или вообще ни одного. И тут же проблема в том, чтоесли тыкать на это сочлинение мышкой - то ни чего не случится, это будет просто раскрашенный неинтерактивный элемент, либо если пришивать его как интерактивную часть тага, то визуально, допустим, будет все красиво, а вот функционально при клике на, казалось бы, нижний левый край тага «выледенный+1», на деле будет происходить клик по тегу «выделенный» (простите за корявое разъяснение).

Но черт с ним с функционалом, все равно мышкой по тагам почти не тыкаю. Отсюда вопрос, что собирает таги воедино? Я так понял, нужно в taglist.lua что-то делать с функцией taglist_update, либо вообще изменять tag.lua.

В общем, что делать-то?!

runout
() автор топика
Ответ на: комментарий от runout

я же сказал, что, судя по скриншоту, тебе просто нужно поменять bg и fg для своих треугольничков

actionless ★★★★★
()
Ответ на: комментарий от runout

В общем, что делать-то?!

Забыть про попытки рисовать скосы с помощью шрифтов, ибо это как удалять гланды через жопу. Раскурить как делается кастомный теглист и как делаются пользовательские виджеты в awesome, в частности как рисуются графические примитивы.

Вот тебе полный конфиг с рабочим примером.

Worron ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.