Я часто теряю информацию о том, какой экран в данный момент сфокусирован (особенно когда нет открытых клиентов). Поэтому я хочу написать виджет, который всегда показывает, какой экран сфокусирован.
Мой текущий код выглядит так:
-- Focused screen widget
local focused_screen_widget = wibox.widget{
markup = "SCR: " .. tostring(awful.screen.focused().index),
align = 'center',
valign = 'center',
widget = wibox.widget.textbox
}
function update_focused_screen_widget()
focused_screen_widget.text = "SCR: " .. tostring(awful.screen.focused().index)
end
client.connect_signal("focus", update_focused_screen_widget)
client.connect_signal("unfocus", update_focused_screen_widget)
---- hook into awful.screen.focus()
original_screen_focus = awful.screen.focus
function awful.screen.focus(_screen)
original_screen_focus(_screen)
update_focused_screen_widget()
end
В основном это работает, но когда у меня нет открытых клиентов и я перемещаю мышь между экранами, обновление не запускается. Я знаю, что фокус изменился, потому что новые приложения всегда запускаются на правильном экране, но я не могу найти способ обновить свой виджет в связи с этими изменениями. Кто-нибудь может мне с этим помочь?
Изменить: я использую awesome v4.2