Stats

urdeck.widgets.stats shows readings from any data provider: a large value with its unit and a label, optionally inside a gauge. Its settings are a list of slots that fill the positions of the card’s size in order.

Size Positions
1x1, 2x2 one reading (slot 1)
4x2 two gauges side by side (slots 1 and 2) above three text stats (slots 3 to 5)
4x4 four gauges in two rows (slots 1 to 4) above three text stats (slots 5 to 7)

Slots beyond the positions of the size stay in the file; a position without a slot stays empty.

{ "typeId": "urdeck.widgets.stats", "col": 0, "row": 2, "slots": [ { "reading": "system:cpu/core/2/load" } ] }

A 4x4 performance card: four gauges (CPU load, GPU temperature and load, memory load) above three text stats (the GPU’s power and clock, and the CPU’s first core):

{ "typeId": "urdeck.widgets.stats", "col": 0, "row": 0, "width": 4, "height": 4, "slots": [
  { "reading": "system:cpu/load" }, { "reading": "system:gpu/temperature" },
  { "reading": "system:gpu/load" }, { "reading": "system:memory/load", "label": "RAM" },
  { "reading": "system:gpu/power" }, { "reading": "system:gpu/clock" }, { "reading": "system:cpu/core/1/load" } ] }

A slot

Field Meaning
reading The reading’s id, <provider>:<path>. With no slot the widget shows system:cpu/load.
label Absent: the label the provider declares (for example Core 2). A text: shown instead. "": no label.
unit celsius or fahrenheit for readings that have several units (otherwise the reading’s default, then the region’s).
decimals Number of decimals to show (default 0).
style plain, gauge (the theme’s default gauge), ring, bar or verticalBar. Absent: plain at 1x1 and 2x2, the theme’s gauge style in a gauge position. Text positions are always plain, and so is a reading with no range to measure against.
min, max The gauge’s range, replacing the one the provider declares (a percentage is 0 to 100).
warning, critical From these values on the gauge is drawn in the theme’s warning or critical colour. In the reading’s canonical unit (degrees Celsius for a temperature).

The fill eases to a new value over about 300 ms; the number and the colour change at once.

The system readings

The system provider needs no administrator rights.

Reading Meaning
system:cpu/load The share of time all logical processors are busy, in percent.
system:cpu/core/<n>/load The same for logical processor n, counted from 1.
system:memory/load Memory in use, in percent.
system:gpu/load, system:gpu/temperature, system:gpu/power, system:gpu/clock The main GPU (the one with the most video memory): load in percent, temperature, power in watts and clock in MHz. system:gpu/<n>/... is each adapter, counted from 1 in that order.

CPU load is the share of time the processors are busy, so with a CPU that boosts it reads lower under load than Task Manager, which weighs by clock speed. GPU load is the busiest engine of the adapter, as in Task Manager.

GPU load and temperature come from Windows itself and should work with any vendor, but they have been verified on NVIDIA only. Power and clock come from the vendor’s library, which today means NVIDIA’s nvml.dll (installed with the driver); on AMD and Intel they show a dash. urdeck.log names each GPU and the source of each of its readings when it is first sampled, which is what a hardware report should include.

A reading that does not exist shows a dash and its id. A reading whose provider stopped answering keeps its last value in the dimmed text colour. A provider runs only while a shown widget uses it, and stops five seconds after the last one goes.

The weather provider’s readings can be shown here too, for example weather:Tokyo/current/temperature.