aboutsummaryrefslogtreecommitdiffstats
path: root/examples/plugins/xdisplay
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2014-03-08 23:54:13 +0100
committerMattias Andrée <maandree@operamail.com>2014-03-08 23:54:13 +0100
commit31ffb35e2dbae7ed5d40dac9932f9a538a782749 (patch)
tree6d0ea69641b7151d17954fa42cb202199c386708 /examples/plugins/xdisplay
parentuptime demo (diff)
downloadxpybar-31ffb35e2dbae7ed5d40dac9932f9a538a782749.tar.gz
xpybar-31ffb35e2dbae7ed5d40dac9932f9a538a782749.tar.bz2
xpybar-31ffb35e2dbae7ed5d40dac9932f9a538a782749.tar.xz
fix xdisplay bug for the case where DISPLAY is not set + xdisplay demo
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r--examples/plugins/xdisplay38
1 files changed, 38 insertions, 0 deletions
diff --git a/examples/plugins/xdisplay b/examples/plugins/xdisplay
new file mode 100644
index 0000000..4c90d90
--- /dev/null
+++ b/examples/plugins/xdisplay
@@ -0,0 +1,38 @@
+# -*- python -*-
+
+# A xpybar configuration example testing the features of plugins.xdisplay
+
+import time
+import threading
+
+from plugins.xdisplay import XDisplay
+from plugins.clock import Clock
+
+
+OUTPUT, HEIGHT, YPOS, TOP = 0, 12, 24, True
+
+
+clock = Clock(sync_to = 30 * Clock.MINUTES)
+
+start_ = start
+def start():
+ start_()
+ async(lambda : clock.continuous_sync(lambda : bar.invalidate()))
+
+
+def redraw():
+ x = XDisplay()
+
+ text = 'No DISPLAY environment variable set'
+ if x.connection is not None:
+ text = 'Connection: %s │ %s │ Display: %i │ %s'
+ text %= (x.connection,
+ 'Default host' if x.host is None else ('Host: %s' % x.host),
+ x.display,
+ 'Default screen' if x.screen is None else ('Screen: %i' % x.screen))
+
+ text += ' │ VT: %i' % x.vt
+
+ bar.clear()
+ bar.draw_coloured_text(0, 10, 0, 2, text)
+