roundabout,
created on Friday, 15 August 2025, 19:06:48 (1755284808),
received on Friday, 15 August 2025, 19:06:52 (1755284812)
Author identity: Vlad <vlad.muntoiu@gmail.com>
72a34ce9678c8c423e4d194aedec8f97d52dbfe6
applets/wf-window-list/__init__.py
@@ -307,6 +307,8 @@ class WFWindowList(panorama_panel.Applet):
self.set_homogeneous(True) self.window_button_options = WindowButtonOptions(config.get("max_button_width", 256)) self.show_only_this_wf_workspace = config.get("show_only_this_wf_workspace", True) self.show_only_this_output = config.get("show_only_this_output", True)self.toplevel_buttons: dict[ZwlrForeignToplevelHandleV1, WindowButton] = {} self.toplevel_buttons_by_wf_id: dict[int, WindowButton] = {}
@@ -360,6 +362,8 @@ class WFWindowList(panorama_panel.Applet):
def on_wf_event(self, source, condition): if condition & GLib.IO_IN: if not self.show_only_this_wf_workspace: returntry: message = self.wf_socket.read_next_event() event = message.get("event")
@@ -417,6 +421,9 @@ class WFWindowList(panorama_panel.Applet):
return True def filter_to_wf_workspace(self): if not self.show_only_this_wf_workspace: returnoutput = self.wf_socket.get_output(self.get_root().monitor_index + 1) for wf_id, button in self.toplevel_buttons_by_wf_id.items(): view = self.wf_socket.get_view(wf_id)
@@ -502,9 +509,7 @@ class WFWindowList(panorama_panel.Applet):
handle.dispatcher["closed"] = lambda h: self.on_closed(h) def on_output_entered(self, handle, output): # TODO: make this configurable# TODO: on wayfire, append/remove buttons when the workspace changesif output != self.my_output:if self.show_only_this_output and output != self.my_output:return if handle in self.toplevel_buttons: button = self.toplevel_buttons[handle]
@@ -512,6 +517,8 @@ class WFWindowList(panorama_panel.Applet):
self.set_all_rectangles() def on_output_left(self, handle, output): if not self.show_only_this_output: returnif output != self.my_output: return if handle in self.toplevel_buttons:
@@ -630,7 +637,11 @@ class WFWindowList(panorama_panel.Applet):
self.emit("config-changed") def get_config(self): return {"max_button_width": self.window_button_options.max_width}return { "max_button_width": self.window_button_options.max_width, "show_only_this_wf_workspace": self.show_only_this_wf_workspace, "show_only_this_output": self.show_only_this_output, }def output_changed(self): self.get_wl_resources()
config.yaml
@@ -60,6 +60,8 @@ panels:
applets: left: - WFWindowList: max_button_width: 256max_button_width: 256.0 show_only_this_wf_workspace: true show_only_this_output: truecentre: [] right: []