aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--examples/clock27
-rw-r--r--examples/plugin-test205
-rw-r--r--src/plugins/xdisplay.py2
4 files changed, 2 insertions, 234 deletions
diff --git a/Makefile b/Makefile
index d296779..b16197c 100644
--- a/Makefile
+++ b/Makefile
@@ -39,7 +39,7 @@ PLUGIN_EXAMPLES = chase clock cpu cpuinfo cpuonline df discstats \
pacman uname uptime users xdisplay xkb alsa \
dentrystate inodestate files
-EXAMPLES = clock mixed moderate plugin-test test xmonad
+EXAMPLES = mixed moderate test xmonad
diff --git a/examples/clock b/examples/clock
deleted file mode 100644
index 163f7d5..0000000
--- a/examples/clock
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- python -*-
-
-# A simple xpybar configuration example of a clock
-
-import time
-import threading
-
-from plugins.clock import Clock
-
-
-OUTPUT, HEIGHT, YPOS, TOP = 0, 12, 24, True
-
-
-clock = Clock(format = '%Y-(%m)%b-%d %T, %a w%V, %Z', utc = False, sync_to = Clock.SECONDS)
-
-
-start_ = start
-def start():
- start_()
- async(lambda : clock.continuous_sync(lambda : bar.invalidate()))
-
-
-def redraw():
- text = clock.read()
- bar.clear()
- bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugin-test b/examples/plugin-test
deleted file mode 100644
index 5c5d84a..0000000
--- a/examples/plugin-test
+++ /dev/null
@@ -1,205 +0,0 @@
-# -*- python -*-
-
-# A simple xpybar configuration example that tests the plugins
-
-import os
-import time
-
-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
-from plugins.df import Discs
-from plugins.mem import Memory
-from plugins.discstats import DiscStats
-from plugins.xdisplay import XDisplay
-from plugins.moc import MOC
-from plugins.cpu import CPU
-from plugins.clock import Clock
-from plugins.network import Network
-from plugins.xkb import XKB
-
-
-OUTPUT, HEIGHT, YPOS, TOP = 0, 3 * 12, 24, True
-
-
-clock = Clock(format = '%Y-(%m)%b-%d %T, %a w%V, %Z')
-
-
-def redraw():
- date = clock.read()
-
- uptime_ = Uptime()
- uptime = '%id %02i:%02i:%05.2f' % uptime_.uptime
- prc_idle = uptime_.average_idle_seconds / uptime_.uptime_seconds
- tot_idle = '%id %02i:%02i:%05.2f' % uptime_.total_idle
- avg_idle = '%id %02i:%02i:%05.2f' % uptime_.average_idle
- uptime = 'Uptime: %s' % (uptime)
- idle = 'Idle time: %s : %s : %4.2f%%' % (avg_idle, tot_idle, prc_idle * 100)
-
- loadavg_ = AverageLoad()
- avg_5 = int(loadavg_.average_avg_5_min * 100)
- avg_10 = int(loadavg_.average_avg_10_min * 100)
- avg_15 = int(loadavg_.average_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
- lts = '-lts' if kernel_release.lower().endswith('-lts') else ''
- have_linux_libre, have_pacman = True, True
- linux_installed, linux_latest = None, None
- try:
- linux_installed = Pacman('linux-libre' + lts, True)
- except:
- have_linux_libre = False
- try:
- linux_installed = Pacman('linux' + lts, True)
- except:
- have_pacman = False
- if have_pacman:
- linux_latest = Pacman('linux-libre' + lts if have_linux_libre else 'linux' + lts, False)
- 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)
-
- memory_ = Memory()
- def colourise(value, format = '%.0f'):
- colour = '39'
- if value > 30: colour = '32'
- if value > 50: colour = '33'
- if value > 80: colour = '31'
- return '\033[%sm%s\033[0m%%' % (colour, format % value)
- mem = 'Mem: ' + colourise(memory_.mem_used * 100 / memory_.mem_total)
- swp = 'Swp: ' + colourise(memory_.swap_used * 100 / memory_.swap_total)
- shm = 'Shm: ' + colourise(memory_.shmem * 100 / memory_.mem_total)
-
- discs_ = Discs()
- discs = []
- discs_used = 0
- discs_total = 0
- for fs in discs_.filesystems:
- if '/' not in fs:
- continue
- disc = discs_.filesystems[fs]
- mp = disc.mountpoint
- if mp in ['/boot', '/rescue']:
- continue
- mp = mp.split('/')[-1]
- if mp == '':
- mp = '/'
- discs_used += disc.used
- discs_total += disc.blocks
- use = disc.used * 100 / disc.blocks
- colour, colour_ = '39', '39'
- if use < 50: colour = '32'
- if use > 75: colour = '33'
- if use > 95: colour = '31'
- if use > 99: colour, colour_ = '31', '31'
- discs.append((mp, use, colour, colour_))
- discs.sort(key = lambda d : d[0])
- discs = ['\033[%sm%s:\033[%sm%.1f\033[%sm%%\033[0m' % (d[3], d[0][-4:], d[2], d[1], d[3]) for d in discs]
- use = discs_used * 100 / discs_total
- colour = '39'
- if use < 50: colour = '32'
- if use > 75: colour = '33'
- if use > 95: colour = '31'
- if use > 99: colour = '41;33'
- discs = 'df: %s : \033[%sm%.2f\033[0m%%' % (' '.join(discs), colour, use)
-
- discstats_ = DiscStats()
- discstats = []
- for disc in discstats_.devices.keys():
- if disc.startswith('sd') or disc.startswith('hd'):
- disc = discstats_.devices[disc]
- discstats.append((disc.device, disc.io_current))
- def colourise(value):
- colour = '39'
- if value >= 1: colour = '32'
- if value >= 3: colour = '33'
- if value >= 5: colour = '31'
- return '\033[%sm%i\033[0m' % (colour, value)
- discstats.sort(key = lambda x : x[0])
- discstats = ['%s:%s' % (d[2:], colourise(i)) for d, i in discstats]
- discstats = 'Disc stats: %s' % (' '.join(discstats))
-
- xdisplay_ = XDisplay()
- xdisplay = ':%i tty%i' % (xdisplay_.display, xdisplay_.vt)
-
- moc_ = MOC().state
- moc = {None : 'dead', MOC.STOPPED : 'stopped', MOC.PAUSED : 'paused', MOC.PLAYING : 'playing'}
- moc = 'Moc: %s' % moc[moc_]
-
- cpu_ = CPU()
- last_cpu_idle, last_cpus_idle = cpu_.cpu[CPU.idle], [cpu[CPU.idle] for cpu in cpu_.cpus]
- last_cpu_total, last_cpus_total = sum(cpu_.cpu), [sum(cpu) for cpu in cpu_.cpus]
- time.sleep(1)
- cpu_ = CPU()
- now_cpu_idle, now_cpus_idle = cpu_.cpu[CPU.idle], [cpu[CPU.idle] for cpu in cpu_.cpus]
- now_cpu_total, now_cpus_total = sum(cpu_.cpu), [sum(cpu) for cpu in cpu_.cpus]
- def cpu_usage(now_idle, now_total, last_idle, last_total):
- total = now_total - last_total
- idle = now_idle - last_idle
- return (total - idle) * 100 / total
- def colourise(value):
- colour = '39'
- if value >= 5: colour = '32'
- if value >= 50: colour = '33'
- if value >= 90: colour = '31'
- return '\033[%sm%2.0f\033[0m%%' % (colour, value)
- cpus = zip(now_cpus_idle, now_cpus_total, last_cpus_idle, last_cpus_total)
- cpus = ' '.join([colourise(cpu_usage(*c)) for c in cpus])
- cpu = colourise(cpu_usage(now_cpu_idle, now_cpu_total, last_cpu_idle, last_cpu_total))
- cpu = 'Cpu: %s : %s' % (cpus, cpu)
-
- gb = lambda x : x / 1024 ** 3
- net_ = Network('lo').devices
- net_ = [(dev, gb(net_[dev]['rx_bytes']), gb(net_[dev]['tx_bytes'])) for dev in net_]
- net_each = ['%s: %.2fGB|%.2fGB' % dev for dev in net_]
- net_total = '%.2fGB|%.2fGB' % (sum([rx for _, rx, tx in net_]), sum([tx for _, rx, tx in net_]))
- net = '%s : %s' % (' '.join(net_each), net_total)
-
- xkb_ = XKB()
- locks = ' '.join([x.lower() for x in xkb_.get_locks_str()])
- xkb = 'Xkb:%s' % ('' if len(locks) == 0 else ' ' + locks)
-
-
- text = ['%s │ %s │ %s │ %s │ %s │ %s %s │ %s │ %s │ %s │ %s'
- ,'%s │ %s │ %s'
- ,'%s │ %s']
- text = '\n'.join(text)
- text %= (date, uptime, idle, loadavg, users, uname, xdisplay, mem, swp, shm, moc,
- discs, discstats, cpu,
- net, xkb)
- bar.clear()
- bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/src/plugins/xdisplay.py b/src/plugins/xdisplay.py
index 6f4bf7e..40a57e8 100644
--- a/src/plugins/xdisplay.py
+++ b/src/plugins/xdisplay.py
@@ -50,7 +50,7 @@ class XDisplay:
self.display = None
self.screen = None
else:
- self.host = self.connection.split(':')[:-1]
+ self.host = ':'.join(self.connection.split(':')[:-1])
if self.host.startswith('[') and self.host.endswith(']'):
self.host = self.host[1 : -1]
if self.host == '':