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 | |
| 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')
| -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) +  | 
