(defvar netiface "wlp3s0") (defwidget sysmon [] (box :class 'sysmon' :space-evenly false :spacing 0 (cpu :class "first") (ram :class "middle") (disk :class "middle") (net :class "last"))) (defwidget ram [class] (tooltip :class 'ram ${EWW_RAM.used_mem_perc > 90 ? 'danger' : ''} ${class}' (label :text " ${round(EWW_RAM.free_swap/1000000000, 2)} GB/${round(EWW_RAM.total_swap/1000000000, 2)} GB") (label :text " ${round(EWW_RAM.used_mem/1000000000, 2)} GB/${round(EWW_RAM.total_mem/1000000000, 2)} GB"))) (defwidget disk [class] (tooltip :class 'disk ${EWW_DISK["/"].used_perc > 90 ? 'danger' : ''} ${class}' (label :text " ${round(EWW_DISK["/"].free/1000000000, 2)} GB /${round(EWW_DISK["/"].total/1000000000, 2)} GB") (label :text " ${round(EWW_DISK["/"].used_perc,2)}%"))) (defwidget cpu [class] (tooltip :class 'cpu ${class}' (box :orientation "vertical" (for cpu in {EWW_CPU.cores} (box :orientation "horizontal" :space-evenly false :spacing 10 (circular-progress :thickness 5 :start-at 75 :value {cpu.usage}) (label :limit-width 6 :show-truncated false :text "${cpu.core}: ") (label :text "${cpu.freq} Hz ${cpu.usage}%")))) (label :text " ${round(EWW_CPU.avg, 2)}%"))) (defwidget net [class] (box :class 'net ${class}' :space-evenly false (label :text "") (label :text " ${round(EWW_NET[netiface].NET_UP * 8 / 1000000, 2)} Mbit") (label :text " ${round(EWW_NET[netiface].NET_DOWN * 8 / 1000000, 2)} Mbit")))