aboutsummaryrefslogblamecommitdiffstats
path: root/examples/plugin-test
blob: 214449aa4077d2ad9425f37edcbe8575fb3e723a (plain) (tree)
1
2
3
4
5
6
7
8
9



                                                              
         
 
                                 
                                       
                               
 


                                           
 






                                                           

                                                    
    






                                           

                                                                      
    


                            




                                                                                    
    

                                          

                                             
# -*- 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)