From 56aa21901111239661e37f3526648570c5f8e8d6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 31 Oct 2014 16:00:15 +0530 Subject: [PATCH] Utility function to set X window properties --- src/calibre/gui2/dbus_export/utils.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/calibre/gui2/dbus_export/utils.py b/src/calibre/gui2/dbus_export/utils.py index 6654ba57c1..72b60d6c22 100644 --- a/src/calibre/gui2/dbus_export/utils.py +++ b/src/calibre/gui2/dbus_export/utils.py @@ -128,3 +128,11 @@ def setup_for_cli_run(): DBusGMainLoop(set_as_default=True) signal.signal(signal.SIGINT, signal.SIG_DFL) # quit on Ctrl-C +def set_X_window_properties(win_id, **properties): + import xcb, xcb.xproto + conn = xcb.connect() + for name, val in properties.iteritems(): + atom = conn.core.InternAtom(False, len(name), name).reply().atom + conn.core.ChangePropertyChecked(xcb.xproto.PropMode.Replace, win_id, atom, xcb.xproto.Atom.STRING, 8, len(val), val) + conn.flush() + conn.disconnect()