LINUX.ORG.RU

Awesome WM. Кастомный taglist?

 ,


1

2

Настраиваю awesome wm. Свои виджеты настроил как надо, всё круто, но вот taglist и, возможно, tasklist не очень получается. Можно ли как-то изменить внешний вид виджета в rc.lua, без правки awful.widget.taglist.lua?

Ответ на: комментарий от DeadEye

Ну в общем я сделал powerline себе в виджетах, но не через картинки, хочу минимум картинок юзать. Теперь нужно добавить powerline к тегам, если в виджетах я это делал вот так:

widget = wibox.widget.textbox()
widget:set_markup()
, то тут хз как

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

без правки awful.widget.taglist.lua

С чем связано данное ограничение?

По теме, обрати внимание пятый агрумент

awful.widget.taglist(screen, filter, buttons, style, update_function, base_widget)
Это функция конструктор и определяет внешний вид теглиста. Можешь взять дефолтную из awful.widget.common.lua и модифицировать (без правки awful.widget.taglist.lua только в определенных пределах) под свои нужды.

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

Т.е.

w
это тот самый виджет, который мне нужно будет передать как параметр base_widget в конструкторе?

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

Я видел это, оно на гитхабе вроде два года назад обновлялась. Рабочее?

К тому же оно на питоне и тянет за собой много.

WiseAlex
() автор топика
Последнее исправление: WiseAlex (всего исправлений: 1)
Ответ на: комментарий от WiseAlex

Я увидел общее в названии и решил, что ты что-то по этой теме пилишь) Сам пока не могу попробовать, пока не решу проблемы с ноутом. Только запасаюсь ссылками.

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

base_widget

Нет, это отвечает за позиционирование элементов. Я не в курсе как этот твой powerline организован, но подозреваю, что тебе нужны виджеты из блока

            ib = wibox.widget.imagebox()
            tb = wibox.widget.textbox()
            bgb = wibox.widget.background()
            m = wibox.layout.margin(tb, 4, 4)
            l = wibox.layout.fixed.horizontal()
Для начала просто обнули промежутки
m = wibox.layout.margin(tb, 0, 0)

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

Да, только хотел написать, что если в common.lua обнулить margin, то всё становится как надо, но можно ли это как нибудь вынести в rc.lua? =)

Или лучше просто сделать локальную копию awful в .config/awesome?

И сори, что так с вопросами накинулся, у тебя просто конфиги классные)

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

как нибудь вынести в rc.lua?

Еще раз, эта функция идет как параметр для awful.widget.taglist. Скопируй ее полностью хоть в rc.lua, хоть в отдельный файл.

Или лучше просто сделать локальную копию awful в .config/awesome?

Я так обычно и делаю, только не весь awful, а отдельные модифицированные файлы, предварительно переименовав их и подключая как пользовательские модули.

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

Окей, тогда ещё один вопросик. В rc.lua:

mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons)
taglist.new:
taglist.new(screen, filter, buttons, style, update_function, base_widget)
Чтобы передать update_function нужно передать ещё style, где его взять?)

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

style, где его взять?

Можешь нигде не брать, сделать так

mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons, nil, my_custom_update_function)
Если таки хочешь свой стиль, это просто таблица с цветами и прочим, посмотри функцию awful.widget.taglist.taglist_label(t, args), на месте args и будет твой style.

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

немало времени на изучение этого всего потратил

Да, можно так сказать, но в результате профит в виде возможности кроить осом как конструктор под свои хотелки.

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

Да, тоже верно. Я всего несколько дней этим занимаюсь, знаю что конфиги от 3.4 к 3.5 версии не подходят, например. Сильно всё поменялось? Сложно было переносить все на новую версию?

Кстати, нет готовых виджетов гугл календаря?)

WiseAlex
() автор топика
Последнее исправление: WiseAlex (всего исправлений: 1)
Ответ на: комментарий от WiseAlex

На awesome сравнительно недавно, начал уже с 3.5.2, так что меня проблема этого перехода благополучно минула. На счет календаря не подскажу, не пользуюсь.

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

Ладно, спасибо ещё раз. Завтра постараюсь дописать что хотел и на гитхаб выложить, может кому нужно будет)

WiseAlex
() автор топика
Ответ на: комментарий от WiseAlex
mkdir -p $XDG_CONFIG_HOME/awesome/awful/widget
cp /usr/share/awesome/lib/awful/widget/{tasklist,common}.lua $XDG_CONFIG_HOME/awesome/awful/widget/
r3lgar ★★★★★
()
Ответ на: комментарий от WiseAlex

Практически вся функция состоит из цикла

for i, o in ipairs(objects) do
...
end
где objects и есть список тегов, то есть внутри этого цикла можно разместить проверку
if o.selected then
...
end

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

Нет. Эта переменная обрабатывается в awful.widget.taglist.taglist_label, оттуда в update_function передаются уже конкретные параметры (цвета, иконки) из style для конкретного тега.

Worron ★★★
()
8 ноября 2015 г.
Ответ на: комментарий от runout

Я уже ушел давно с awesome на i3wm, а сейчас и вовсе на гноме :)

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

А завернуть красиво у меня так и не получилось тогда)

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