import { Variable } from "astal"; import GTop from "gi://GTop" let previousCpuData = new GTop.glibtop_cpu(); GTop.glibtop_get_cpu(previousCpuData); const computeCPU = (): string => { const currentCpuData = new GTop.glibtop_cpu(); GTop.glibtop_get_cpu(currentCpuData); // Calculate the differences from the previous to current data const totalDiff = currentCpuData.total - previousCpuData.total; const idleDiff = currentCpuData.idle - previousCpuData.idle; const cpuUsagePercentage = totalDiff > 0 ? ((totalDiff - idleDiff) / totalDiff) * 100 : 0; previousCpuData = currentCpuData; const cpuUsagePercentageString = " " + Math.floor(cpuUsagePercentage) + "%"; return cpuUsagePercentageString; } export default function Cpu() { const cpu_usage = Variable("").poll(5000, () => computeCPU()) return }