Example #1
0
def usage():
    tx_bytes, rx_bytes = 0, 0

    for i in network.interfaces:
        tx_bytes += readint(f'/sys/class/net/{i}/statistics/tx_bytes')
        rx_bytes += readint(f'/sys/class/net/{i}/statistics/rx_bytes')

    tx_old, rx_old = network.usage

    rx_rate = rx_bytes - rx_old
    tx_rate = tx_bytes - tx_old

    network.usage = (tx_bytes, rx_bytes)

    if not any((tx_rate, rx_rate)):
        return None

    return ' '.join([
        f'↑ {human_readable(tx_rate)}',
        f'↓ {human_readable(rx_rate)}',
    ])
Example #2
0
def backlight_percentage() -> str:
    bl_now = readint(glob('/sys/class/backlight/*/brightness')[0])

    percent = (100 / bl_max) * bl_now

    return label('bl', meter(percent))
Example #3
0
'''Backlight level percentage.'''

from glob import glob

from lib_pybar import Block, label, meter, readint

try:
    bl_max = readint(glob('/sys/class/backlight/*/max_brightness')[0])
    has_backlight_info = True
except (FileNotFoundError, IndexError):
    has_backlight_info = False


def backlight_percentage() -> str:
    bl_now = readint(glob('/sys/class/backlight/*/brightness')[0])

    percent = (100 / bl_max) * bl_now

    return label('bl', meter(percent))


def main():
    return Block(
        prerequisite=has_backlight_info,
        source=backlight_percentage,
        sleep_ms=500,
        weight=95,
    )
Example #4
0
'''Memory usage.'''

from lib_pybar import Block, label, meter, readint

swap_percent = 100 - readint('/proc/sys/vm/swappiness')


def memory_usage():
    mem = {}

    with open('/proc/meminfo', 'r') as f:
        for line in f.readlines():
            line = line.strip().split()

            if len(line) == 3:
                key, val, _ = line
                key = key[:-1]

            elif len(line) == 2:
                key, val = line
                key = key[:-1]

            mem[key] = int(val)

    # memory usage as calculated by `free(1)`
    percent = (100 / mem['MemTotal']) * (
        mem['MemTotal'] - mem['Buffers'] - mem['Cached'] - mem['MemFree']
    )

    # Only show memory usage when we are more than halfway to swapping
    if percent > (swap_percent / 2):
Example #5
0
 def charging(self):
     return readint('/sys/class/power_supply/AC/online')
Example #6
0
 def power_levels(self):
     for battery in self.batteries:
         full = readint(f'{battery}/energy_full')
         now = readint(f'{battery}/energy_now')
         power = ((100 / full) * now)
         yield power