def _make_metadata(self, window, propname): if propname not in self.metadata_supported: metalog("make_metadata: client does not support '%s'", propname) return {} return make_window_metadata(window, propname, get_transient_for=self.get_transient_for, get_window_id=self.get_window_id)
def get_window_info(self, window): from xpra.server.window.metadata import make_window_metadata info = {} for prop in window.get_property_names(): if prop=="icon" or prop is None: continue metadata = make_window_metadata(window, prop, get_transient_for=self.get_transient_for) info.update(metadata) for prop in window.get_internal_property_names(): metadata = make_window_metadata(window, prop) info.update(metadata) info.update({ "override-redirect" : window.is_OR(), "tray" : window.is_tray(), "size" : window.get_dimensions(), }) wid = self._window_to_id.get(window) if wid: wprops = self.client_properties.get(wid) if wprops: info["client-properties"] = wprops return info
def _make_metadata(self, window, propname, skip_defaults=False): if propname not in self.metadata_supported: metalog("make_metadata: client does not support '%s'", propname) return {} metadata = make_window_metadata(window, propname, get_window_id=self.get_window_id, skip_defaults=skip_defaults) if self.readonly: metalog("overriding size-constraints for readonly mode") size = window.get_dimensions() metadata["size-constraints"] = { "maximum-size" : size, "minimum-size" : size, "base-size" : size, } return metadata