diff options
author | Mattias Andrée <maandree@operamail.com> | 2014-03-09 03:26:27 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2014-03-09 03:26:27 +0100 |
commit | b14e63328cdf670fc67a004f1c5018ecc44e8b58 (patch) | |
tree | 377a7ccd05864f925f3f12379bb7c62548b01a82 /examples/plugins/users | |
parent | m (diff) | |
download | xpybar-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 'examples/plugins/users')
-rw-r--r-- | examples/plugins/users | 36 |
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) + |