As it's a bit of a mess...
is_ORvs "override-redirect" property,
_handle_XXXXmethods to a util class?
_internal_set_propertycan check if the value has actually changed? (no need to send a
notify()if it hasn't)
List of API calls to deal with:
do_get_property_can_focusjust update the "can-focus" property instead
x11_get_server_time- rewrite in Cython
read_initial_propertiesand X11 properties, it's a mess
call_setup()is inconsistent, it's called for OR and tray, but we call it for "normal" windows
attention-requested: shouldn't we clear this when "urgency" is not in the wm_hints?
set_active- maybe this should be a method on WM instead?
much cleaner patch
Huge changeset in r9822 - see commit message. If needed, it should be possible to revert those changes easily enough for testing.. so far.
WM_STATEand withdrawn windows - we only handle "iconic" (should we forward "withdrawn" to client? and emulate it as a destroy + new for older clients?)
Moving the geometry bits to #990 (the rest is in pretty good shape already)
Note: on centos 7.x, we get tons of warnings like these:
/usr/lib64/python2.7/site-packages/gobject/__init__.py:115: Warning: Attempt to add property xpra+x11+gtk2+models+or_window+OverrideRedirectWindowModel::size-hints after class was initialised type_register(cls, namespace.get('__gtype_name__')) /usr/lib64/python2.7/site-packages/gobject/__init__.py:115: Warning: Attempt to add property xpra+x11+gtk2+models+or_window+OverrideRedirectWindowModel::frame after class was initialised type_register(cls, namespace.get('__gtype_name__'))
Which is caused by this bug: https://bugzilla.gnome.org/show_bug.cgi?id=698614 (hopefully will be backported to centos 7.x soon).
AFAICT, it is not possible to workaround this warning with pygobject (see the two attempts at subclassing attached below).
example triggering the centos 7 warning
another example triggering the centos 7 warning
Lots more work on this done as part of #990 - this will do for this release.
Will follow up in #1034
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/907