#!/usr/bin/env python3 # standard libraries from sys import stdout from subprocess import check_output from socket import gethostname, gethostbyname from datetime import datetime from time import gmtime, strftime, sleep # psutil from psutil import sensors_battery def write(data): stdout.write(f'{data}\n') stdout.flush() def refresh(): mpd = check_output("mpc -f '%title% - %artist%' | head -n 1", shell=True).strip().decode("utf-8") mpd = f'{mpd}' ip = gethostbyname(gethostname()) try: ssid = check_output("nmcli -g SSID | head -n 1", shell=True).strip().decode("utf-8") ssid = f'{ssid}' except Exception: ssid = "None" battery = int(sensors_battery().percent) status = "charging" if sensors_battery().power_plugged else "discharging" utc = strftime('%F %H:%M %Z', gmtime()) date = datetime.now().strftime('%F %H:%M') write(f"☿ {mpd} | ♃ {ip} {ssid} | ♂ {battery}%% {status} | ☉ {date} / {utc}") while True: refresh() sleep(1)