Skip to content

Commit

Permalink
fix root prop watcher: was not listening for root window property cha…
Browse files Browse the repository at this point in the history
…nge events! (so nothing ever fired)

git-svn-id: https://xpra.org/svn/Xpra/trunk@4526 3bb7dfac-3a0b-4e04-842a-767bc560f471
  • Loading branch information
totaam committed Oct 17, 2013
1 parent 584fb11 commit 5c9e79e
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/xpra/x11/xroot_props.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,23 @@ def __init__(self, props):
gobject.GObject.__init__(self)
self._props = props
self._root = gtk.gdk.get_default_root_window()
self._saved_event_mask = self._root.get_events()
self._root.set_events(self._saved_event_mask | gtk.gdk.PROPERTY_CHANGE_MASK)
add_event_receiver(self._root, self)

def cleanup(self):
remove_event_receiver(self._root, self)
self._root.set_events(self._saved_event_mask)

def do_xpra_property_notify_event(self, event):
log("XRootPropWatcher.do_xpra_property_notify_event(%s) props=%s", event, self._props)
if event.atom in self._props:
self._notify(event.atom)

def _notify(self, prop):
v = prop_get(self._root, prop, "latin1", ignore_errors=True)
ptype = "latin1"
v = prop_get(self._root, prop, ptype, ignore_errors=True)
log("XRootPropWatcher._notify(%s) value(%s)=%s", prop, ptype, v)
self.emit("root-prop-changed", prop, str(v))

def notify_all(self):
Expand Down

0 comments on commit 5c9e79e

Please sign in to comment.