LINUX.ORG.RU

Как получить данные о виджете для управляющей конструкции?

 ,


0

1

У меня есть виджет, который показывает время, я хочу чтобы по клику (по нему) он сменялся на другой виджет (на его месте) и по клику еще раз - возвращался.

  • mytextclock - часы
  • mytextcalendar - дата

виджет:

clockwidget = wibox.widget.background()
clockwidget:set_widget(mytextclock)
clockwidget:set_bgimage(beautiful.clock)
клик 1 кнопкой мыши, управляющая конструкция:
clockwidget:buttons(awful.util.table.join(awful.button({}, 1,
function ()
        if (что сюда вставить?) then
            clockwidget:set_widget(mytextcalendar),
        else
            clockwidget:set_widget(mytextclock)
        end
end)))

В awful есть set_widget, но нет get_widget, который бы мне подошел, решение наверняка элементарное, на я не понимаю как получить текущее значение clockwidget.


т.е. по нему: клик == время (mytextclock), еще клик == дата (mytextcalendar) и так в loop.

vim
() автор топика
clockwidget:buttons(awful.util.table.join(awful.button({}, 1,
function ()
        if (clockwidget.widget == mytextclock) then
            clockwidget:set_widget(mytextcalendar),
        else
            clockwidget:set_widget(mytextclock)
        end
end)))

(я не проверял)

actionless ★★★★★
()

Прикрутить внешний счетчик как вариант. Не проверял на работоспособность, но примерно так:

local index = 1
local loop_widgets = {mytextclock, mytextcalendar}
clockwidget:buttons(awful.util.table.join(awful.button({}, 1,
    function ()
        index = index % #loop_widgets + 1
        clockwidget:set_widget(loop_widgets[index])
    end)))

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