aboutsummaryrefslogtreecommitdiffstats
path: root/examples/plugin-test
blob: ba4d8237fd1ebd86fb0ca3eab6b50c8c58f88ebd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# -*- 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
    
    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
    
    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 = ' '.join(['%s{%i}' % (colour_user(u) % u, len(users_[u])) for u in users_.keys()])
    
    text = 'Uptime: %s │ Idle time: %s %s │ Average load: %2i%% %2i%% %2i%% %i/%i %i │ Users: %s'
    text %= (uptime, tot_idle, avg_idle, avg_5, avg_10, avg_15, act_tasks, tot_tasks, last_pid, users)
    bar.draw_coloured_text(0, 10, 0, 2, text)