# -*- python -*- # A simple xpybar configuration example that tests the plugins import os from plugins.uptime import Uptime from plugins.loadavg import AverageLoad from plugins.users import Users from plugins.uname import Uname OUTPUT, HEIGHT, YPOS, TOP = 0, 24, 24, True def redraw(): bar.clear() time = spawn_read('date', '+%Y-(%m)%b-%d %T, %a w%V, %Z') uptime_ = Uptime() uptime = '%id %02i:%02i:%0.2f' % uptime_.uptime tot_idle = '%id %02i:%02i:%0.2f' % uptime_.total_idle avg_idle = '%id %02i:%02i:%0.2f' % uptime_.average_idle uptime = 'Uptime: %s' % (uptime) idle = 'Idle time: %s %s' % (tot_idle, avg_idle) loadavg_ = AverageLoad() avg_5 = int(loadavg_.avg_5_min * 100) avg_10 = int(loadavg_.avg_10_min * 100) avg_15 = int(loadavg_.avg_15_min * 100) act_tasks = loadavg_.active_tasks tot_tasks = loadavg_.total_tasks last_pid = loadavg_.last_pid loadavg = 'Average load: %2i%% %2i%% %2i%% %i/%i %i' loadavg %= (avg_5, avg_10, avg_15, act_tasks, tot_tasks, last_pid) users_ = Users().users you = os.environ['USER'] def colour_user(user): if user == 'root': return '\033[31m%s\033[39m' elif not user == you: return '\033[33m%s\033[39m' else: return '%s' users = ['%s{%i}' % (colour_user(u) % u, len(users_[u])) for u in users_.keys()] users = 'Users: %s' % (' '.join(users)) uname_ = Uname() nodename = uname_.nodename kernel_release = uname_.kernel_release operating_system = uname_.operating_system uname = '%s %s %s' uname %= (nodename, kernel_release, operating_system) text = '%s │ %s │ %s │ %s │ %s │ %s' text %= (time, uptime, idle, loadavg, users, uname) bar.draw_coloured_text(0, 10, 0, 2, text)