# -*- 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.pacman import Pacman 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)) have_linux_libre, have_pacman = True, True linux_installed, linux_latest = None, None try: linux_installed = Pacman('linux-libre', True) except: have_linux_libre = False try: linux_installed = Pacman('linux', True) except: have_pacman = False if have_pacman: linux_latest = Pacman('linux-libre' if have_linux_libre else 'linux', False) uname_ = Uname() nodename = uname_.nodename kernel_release = uname_.kernel_release operating_system = uname_.operating_system if have_pacman: linux_running = kernel_release.split('-') linux_running, kernel_release = linux_running[:2], linux_running[2:] linux_running = '-'.join(linux_running) kernel_release = '-' + '-'.join(kernel_release) linux_installed = linux_installed.version linux_latest = linux_latest.version if linux_installed == linux_latest: if linux_running == linux_installed: linux_running = '\033[32m%s\033[39m' % linux_running else: if linux_running == linux_installed: linux_running = '\033[33m%s\033[39m' % linux_running else: linux_running = '\033[31m%s\033[39m' % linux_running kernel_release = linux_running + kernel_release 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)