diff options
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) + |