# -*- 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
OUTPUT, HEIGHT, YPOS, TOP = 0, 24, 24, True
def redraw():
bar.clear()
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))
text = '%s │ %s │ %s │ %s'
text %= (uptime, idle, loadavg, users)
bar.draw_coloured_text(0, 10, 0, 2, text)