def poll_cursor(self): prev = self.last_cursor_data X11ServerBase.get_cursor_data(self) def cmpv(v): if v and len(v) > 2: return v[2:] return None if cmpv(prev) != cmpv(self.last_cursor_data): fields = ("x", "y", "width", "height", "xhot", "yhot", "serial", "pixels", "name") if len(prev or []) == len(self.last_cursor_data or []) and len( prev or []) == len(fields): diff = [] for i in range(len(prev)): if prev[i] != self.last_cursor_data[i]: diff.append(fields[i]) cursorlog("poll_cursor() attributes changed: %s", diff) for ss in self._server_sources.values(): ss.send_cursor() return True
def get_cursor_data(self): return X11ServerBase.get_cursor_data(self)