From 0457bb6fd0a1214e5c74ed55bcefe32d35e2f45b Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 12 Jun 2021 09:05:59 +0200 Subject: pager: accept workspace in the constructor Connect the desktop:view signal internally, instead of having the caller (tasklist creating code) do it. --- pager.lua | 9 ++++++++- rc.lua | 9 +-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pager.lua b/pager.lua index be5a15a..d9e74e6 100644 --- a/pager.lua +++ b/pager.lua @@ -216,7 +216,7 @@ function Pager:set_desktop(desktop) self.widget:set_widget(self._desktops[desktop].widget) end -function Pager:new(screen) +function Pager:new(workspace, screen) local ret = setmetatable({}, self) self.__index = self @@ -228,6 +228,13 @@ function Pager:new(screen) ret.screen = screen + workspace.signals:connect_signal("desktop:view", + function(signals, view_screen, desktop) + if view_screen == ret.screen then + ret:set_desktop(desktop) + end + end) + return ret end diff --git a/rc.lua b/rc.lua index 011218f..78379e2 100644 --- a/rc.lua +++ b/rc.lua @@ -97,16 +97,9 @@ for s in screen do layout_utils:add(layoutbox_container) -- Create a tasklist widget - local pgr = pager.Pager:new(s) + local pgr = pager.Pager:new(wsp, s) pgr:set_desktop(wsp.desktops[s.index]) - wsp.signals:connect_signal("desktop:view", - function(signals, view_screen, desktop) - if view_screen == s then - pgr:set_desktop(desktop) - end - end) - -- Widgets that are aligned to the bottom of the tool bar local layout_bottom = wibox.layout.fixed.vertical() -- cgit v1.2.3