soreau,
created on Sunday, 17 August 2025, 19:52:12 (1755460332),
received on Sunday, 17 August 2025, 20:32:30 (1755462750)
Author identity: Scott Moreau <oreaus@gmail.com>
7bf485802bb78bad22de13e169e89b9fa20eec3b
applets/wf-window-list/__init__.py
@@ -469,11 +469,11 @@ class WFWindowList(panorama_panel.Applet):
self.my_output = output_proxy # End hack fd = self.display.get_fd() GLib.io_add_watch(fd, GLib.IO_IN, self.on_display_event) self.registry = self.display.get_registry() self.registry.dispatcher["global"] = self.on_global self.display.roundtrip() fd = self.display.get_fd()GLib.io_add_watch(fd, GLib.IO_IN, self.on_display_event)if self.wf_socket is not None: self.filter_to_wf_workspace()
@@ -489,8 +489,6 @@ class WFWindowList(panorama_panel.Applet):
self.manager = registry.bind(name, ZwlrForeignToplevelManagerV1, version) self.manager.dispatcher["toplevel"] = self.on_new_toplevel self.manager.dispatcher["finished"] = lambda *a: print("Toplevel manager finished") self.display.roundtrip()self.display.flush()elif interface == "wl_seat": self.print_log("Seat found") self.seat = registry.bind(name, WlSeat, version)
@@ -510,10 +508,14 @@ class WFWindowList(panorama_panel.Applet):
handle.dispatcher["closed"] = lambda h: self.on_closed(h) def on_output_entered(self, handle, output): if self.show_only_this_output and output != self.my_output:returnif handle in self.toplevel_buttons:button = self.toplevel_buttons[handle]if handle not in self.toplevel_buttons: button = WindowButton(handle, handle.title) self.set_title(button, handle.title) self.set_app_id(button, handle.app_id) button.set_group(self.initial_button) button.set_layout_manager(WindowButtonLayoutManager(self.window_button_options)) button.connect("clicked", self.on_button_click) self.toplevel_buttons[handle] = buttonself.append(button) self.set_all_rectangles()
@@ -527,17 +529,15 @@ class WFWindowList(panorama_panel.Applet):
self.remove(button) self.set_all_rectangles() def set_title(self, button, title): button.window_title = title button.set_tooltip_text(title) def on_title_changed(self, handle, title): if handle not in self.toplevel_buttons:button = WindowButton(handle, title)button.set_group(self.initial_button)button.set_layout_manager(WindowButtonLayoutManager(self.window_button_options))button.connect("clicked", self.on_button_click)self.toplevel_buttons[handle] = buttonelse:handle.title = title if handle in self.toplevel_buttons:button = self.toplevel_buttons[handle] button.window_title = titlebutton.set_tooltip_text(title)self.set_title(button, title)def set_all_rectangles(self): child = self.get_first_child()
@@ -561,8 +561,6 @@ class WFWindowList(panorama_panel.Applet):
button.window_id.unset_minimized() button.window_id.activate(self.seat) self.display.flush()def on_state_changed(self, handle, states): if handle in self.toplevel_buttons: state_info = WindowState.from_state_array(states)
@@ -575,14 +573,18 @@ class WFWindowList(panorama_panel.Applet):
self.set_all_rectangles() def set_app_id(self, button, app_id): button.set_icon_from_app_id(app_id) app_ids = app_id.split() for app_id in app_ids: if app_id.startswith("wf-ipc-"): self.toplevel_buttons_by_wf_id[int(app_id.removeprefix("wf-ipc-"))] = button def on_app_id_changed(self, handle, app_id): handle.app_id = app_idif handle in self.toplevel_buttons: button = self.toplevel_buttons[handle] button.set_icon_from_app_id(app_id)app_ids = app_id.split()for app_id in app_ids:if app_id.startswith("wf-ipc-"):self.toplevel_buttons_by_wf_id[int(app_id.removeprefix("wf-ipc-"))] = buttonself.set_app_id(button, app_id)def on_closed(self, handle): button: WindowButton = self.toplevel_buttons[handle]