Keeping notes: What does work is to specify a class name:
res = self.app.select_many('GtkButtonBox', border_width=5)
res = self.app.select_many('GtkButton', visible=True)
These generate the query strings "/Root[id=1]//GtkButtonBox" and "/Root[id=1]//GtkButton" respectively (in ./autopilot/introspection/dbus.py select_many()); these retrieve the full list of widgets of the corresponding class, and object_passes_filters() correctly filters them.
But if I don't specify a class, as in the description, I see:
11:03:59.842 DEBUG dbus:368 - query /Root[id=1]//* got state dbus.Array([], signature=dbus.Signature('(sv)'))
(that's an added debug statement in autopilot from my side), so queries using "*" don't work at the moment. Looking whether that's autopilot-gtk specific or a bug in autopilot itself.
Keeping notes: What does work is to specify a class name:
res = self.app. select_ many('GtkButton Box', border_width=5) select_ many('GtkButton ', visible=True)
res = self.app.
These generate the query strings "/Root[ id=1]// GtkButtonBox" and "/Root[ id=1]// GtkButton" respectively (in ./autopilot/ introspection/ dbus.py select_many()); these retrieve the full list of widgets of the corresponding class, and object_ passes_ filters( ) correctly filters them.
But if I don't specify a class, as in the description, I see:
11:03:59.842 DEBUG dbus:368 - query /Root[id=1]//* got state dbus.Array([], signature= dbus.Signature( '(sv)') )
(that's an added debug statement in autopilot from my side), so queries using "*" don't work at the moment. Looking whether that's autopilot-gtk specific or a bug in autopilot itself.