Pacharapol Withayasakpunt Pacharapol Withayasakpunt
Sun, November 29, 2020

Windows equivalent of Conky - DesktopInfo

Luckily, Windows has a worthy equivalent of Conky, DesktopInfo.

https://www.glenn.delahoy.com/desktopinfo/

Which is much much better than Widget Launcher, where you can find in Windows Store, if you go by the keyword "widget".

First, I extracted DesktopInfo290.zip to C:\DesktopInfo290.

Then I create a Shortcut to C:\DesktopInfo290\DesktopInfo.exe at shell:startup (Copy; then type shell:startup at the Location bar; then Paste Shortcut). Despite having 64-bit Windows, DesktopInfo64.exe does not visibly run.

My widget settings desktopinfo.ini is this, where I edited desktopinfo-advanced.ini.

# page 1 date/time
PAGE=1
PAGE-TITLE=Home Page
COLOR=%Cyan%

COMMENT=color:%white%,style:w,font-face:BahnSchrift,font-size:140%,text:Desktop Info
CMD=text:Time,interval:60,code-page:65001,file:python.exe,parameters:get_tz_datetime.py,display:%4
TIMEZONE=interval:60
UPTIME=interval:60,display:%1 d %2 h %3 min
WMI=interval:60,text:Battery,namespace:root\cimv2,query:WIn32_Battery,display:%EstimatedChargeRemaining%% (%battery%BatteryStatus%%)
HOST
USER
HTTPGET=interval:600,text:External IP,source:http://ipecho.net/plain
NETPACKETS=interval:5,display:Down: %1[9.0n]    Up: %2[9.0n]
NETPACKETSRATE=interval:3,chart:line2 height:3 scale:log max:25 series1:1 color1:%yellow% series2:2 color2:%blue%,display:Down:%1[5.1b]Bps       Up:%2[5.1b]Bps
CONTROL=type:1,color:%white%,text:,display:Network Connections,uri:%SystemRoot%\System32\control.exe,args:ncpa.cpl

# page 1 - cpu
WMI=interval:5,id:temp,hide-no-result:1,text:Cpu Temp,namespace:root\wmi,query:MSAcpi_ThermalZoneTemperature,display: {{1.0f:%CurrentTemperature%/10-273.15}}C / {{1.0f:%CriticalTripPoint%/10-273.15}}C
CPU=interval:3,chart:line2 height:3 scale:linear max:100 series1:1 color1:00ff00 series2:2 color2:bb00bb,threshold1:1 80 %red%,threshold2:2 40 %red%,display:Total: %1[2.0f]%\, Kernel: %2[2.0f]%\, Queue: %3
CPUUSAGE=interval:1,font-size:8,row-text:Cpu %1,chart:line2 scale:linear max:100 series1:2 color1:00ff00 row-id:1,threshold1:2 80,display:%2[2.0d]% %chart%
PROCESSCOUNT=interval:5,display:%1 processes\, %2 threads
TOPPROCESSCPU=interval:5,maxrows:5,display:%1 (pid:%2) %3%

COLOR=b0ffb0

# page 1 - memory
COMMENT=text:,font-size:50%
PHYSICALRAM=interval:3,chart:line2 height:3 scale:linear max:100 series1:3 color1:00ff00,threshold1:3 80 %red%,display:%1[3.1b]B / %2[3.1b]B (%3% used)
TOPPROCESSMEM=interval:10,font-size:80%,text:Top Memory,display:%1 (pid:%2) %3[1.1b]B
PAGEFAULTS=interval:10,font-size:100%,threshold1:5 -80 2222bb,display:Total: %1[1.0n]\, Ratio: %2\, Hit: %5%

COLOR=%Orange%

# page 1 - network
COMMENT=text:,font-size:50%
WMI=interval:3,id:wifi,hide-no-result:1,font-size:80%,chart:line2 scale:log max:23 series1:1 color1:00ff00 series2:2 color2:bb00bb,threshold1:1 {{%CurrentBandwidth%/8*95/100}} 2222ee,threshold2:2 {{%CurrentBandwidth%/8*95/100}} #ff0000,text:Wifi Traffic,namespace:root\cimv2,query:Win32_PerfFormattedData_Tcpip_NetworkInterface where Name like "%Atheros AR9285%",display:R: %BytesReceivedPersec%[3.1b]Bps\, S: %BytesSentPersec%[3.1b]Bps\, B: {{1.0B:%CurrentBandwidth%/8}}Bps,id:wifi1
WMI=interval:3,id:eth, hide-no-result:1,font-size:80%,chart:line2 scale:log max:23 series1:1 color1:00ff00 series2:2 color2:bb00bb,threshold1:1 {{%CurrentBandwidth%/8*95/100}} 2222ee,threshold2:2 {{%CurrentBandwidth%/8*95/100}} 0000ff,text:Ethernet Traffic,namespace:root\cimv2,query:Win32_PerfFormattedData_Tcpip_NetworkInterface where Name like "%Ethernet%" and CurrentBandwidth>0,display:R: %BytesReceivedPersec%[3.1b]Bps\, S: %BytesSentPersec%[3.1b]Bps\, B: {{1.0B:%CurrentBandwidth%/8}}Bps

COLOR=%Silver%

# page 1 - disks
COMMENT=text:,font-size:50%
LOGICALDRIVES=interval:5,diskio:1,font-size:85%,chart:bar2 scale:linear max:100 series1:7 threshold:75,threshold1:11 10000000 0000f0,threshold2:13 10000000,threshold3:7 90 0070f0, 0060f0,row-text:Drive %1: (%2)| %3,display:%6[1.0B]B / %5[1.0B]B (%7[1.1f]% used)|%chart%| r: %11[1.1B]B/s\, w: %13[1.1B]B/s\, q: %17\, i: %19%| avg read: %15[1.3B]secs\, write: %16[1.3B]secs

And, the associated Python script, get_tz_datetime.py, is

from datetime import datetime, timezone, time

print(datetime.now().astimezone().strftime("%Y-%m-%d %H:%M %z"))

End result

desktopinfo-output