aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2014-03-09 03:26:27 +0100
committerMattias Andrée <maandree@operamail.com>2014-03-09 03:26:27 +0100
commitb14e63328cdf670fc67a004f1c5018ecc44e8b58 (patch)
tree377a7ccd05864f925f3f12379bb7c62548b01a82 /examples
parentm (diff)
downloadxpybar-b14e63328cdf670fc67a004f1c5018ecc44e8b58.tar.gz
xpybar-b14e63328cdf670fc67a004f1c5018ecc44e8b58.tar.bz2
xpybar-b14e63328cdf670fc67a004f1c5018ecc44e8b58.tar.xz
improve users plugin + users demo
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r--examples/plugins/users36
1 files changed, 36 insertions, 0 deletions
diff --git a/examples/plugins/users b/examples/plugins/users
new file mode 100644
index 0000000..5458b37
--- /dev/null
+++ b/examples/plugins/users
@@ -0,0 +1,36 @@
+# -*- python -*-
+
+# A xpybar configuration example testing the features of plugins.xdisplay
+
+import time
+import threading
+
+from plugins.users import Users
+from plugins.clock import Clock
+
+
+OUTPUT, HEIGHT, YPOS, TOP = 0, 12, 24, True
+
+
+clock = Clock(sync_to = Clock.SECONDS)
+
+start_ = start
+def start():
+ start_()
+ async(lambda : clock.continuous_sync(lambda : bar.invalidate()))
+
+
+def redraw():
+ you = os.environ['USER']
+ def colour(user):
+ if user == 'root': return '\033[31m%s\033[39m'
+ elif not user == you: return '\033[33m%s\033[39m'
+ else: return '%s'
+
+ users = Users(lambda : Users.devfs(True)).users
+ text = ['%s: %s' % (colour(u) % u, ' '.join(sorted(users[u]))) for u in users]
+ text = ' │ '.join(text)
+
+ bar.clear()
+ bar.draw_coloured_text(0, 10, 0, 2, text)
+