soreau,
created on Saturday, 9 August 2025, 12:21:52 (1754742112),
received on Saturday, 9 August 2025, 12:22:38 (1754742158)
Author identity: Scott Moreau <oreaus@gmail.com>
f8f4fa638466f532a193c97b6587d5993f9cd888
applets/wf-window-list/__init__.py
@@ -23,7 +23,7 @@ import sys
import locale
import typing
from pathlib import Path
from pywayland.client import Display
from pywayland.client import Display, EventQueue
from pywayland.protocol.wayland import WlRegistry, WlSeat, WlSurface, WlCompositor, WlOutput
from pywayland.protocol.wayland.wl_output import WlOutputProxy
from pywayland.protocol.wlr_foreign_toplevel_management_unstable_v1 import (
@@ -386,6 +386,7 @@ class WFWindowList(panorama_panel.Applet):
wl_display_ptr = gtk.gdk_wayland_display_get_wl_display(
ffi.cast("void *", ctypes.pythonapi.PyCapsule_GetPointer(self.get_root().get_native().get_display().__gpointer__, None)))
self.display._ptr = wl_display_ptr
self.event_queue = EventQueue(self.display)
# Intentionally commented: the display is already connected by GTK
# self.display.connect()
@@ -415,8 +416,8 @@ class WFWindowList(panorama_panel.Applet):
self.filter_to_wf_workspace()
def on_display_event(self, source, condition):
if condition == GLib.IO_IN:
self.display.dispatch(block=True)
if condition & GLib.IO_IN:
self.display.dispatch(queue=self.event_queue)
return True
def on_global(self, registry, name, interface, version):