#!/usr/bin/python3 import hddtemp import cpufantemp from rich import print from rich.layout import Layout from rich.panel import Panel def main(): hddtempDict = hddtemp.getHddTemp() fanTempDict = cpufantemp.getCpuTempAndFanSpeed() layout = Layout() layout.split_row( Layout(name="left"), Layout(name="center"), Layout(name="right"), ) ## Fan speed on left fanSpeedString = "" for fanKey in sorted(fanTempDict["fan"].keys()): fanSpeed = fanTempDict["fan"][fanKey] fanSpeedString += f"{fanKey}: {fanSpeed:<4} RPM\n" p = Panel(fanSpeedString, title="Fan Speed") p.height = 15 layout["left"].update(p) ## CPU temp on center cpuTempString = "" for cpuKey in sorted(fanTempDict["cpu"].keys()): cpuTemp = fanTempDict["cpu"][cpuKey] cpuTempString += f"{cpuKey:<8}: {cpuTemp}°C\n" p = Panel(cpuTempString, title="CPU Temperature") p.height = 15 layout["center"].update(p) ## HDD temp on right hddTempString = "" for hddname in sorted(hddtempDict.keys()): temp = hddtempDict[hddname]["temp"] hddTempString += f"{hddname}: {temp}°C\n" p = Panel(hddTempString, title="HDD Temperature") p.height = 15 layout["right"].update(p) print(layout) if __name__ == "__main__": main()