Skip to content
ShiftPane
Documentation

System sources

The PC data the app reads and shares: CPU, GPU, media, and the rest.

The app reads the PC once and shares the result with every widget that asked for it. A widget lists the sources it reads in its manifest, under permissions.sources, then binds them in its view ("bind": "@gpu/percent") or reads them in its collector (ctx.sources.gpu.percent).

A source is read only while a widget on screen uses it, at the fastest rate any of them asks for.

Sources

cpu
Load in percent, per core, and the last minute of it.
memory
Percent in use, used and total bytes, and the last minute.
gpu
Load in percent, video memory used and total, and the last minute.
network
Bytes received and sent per second, and the last minute.
disks
For each drive: space used and total, reads and writes per second.
battery
Percent, whether it is charging, and the time left.
audio
Output volume, whether it is muted, and the device name.
system
Uptime, and the OS name and version.
temperatures
CPU and GPU in °C and fan speeds, where the OS allows it.
mediaAsks first
What is playing: title, artist, app, and whether it is paused.
processesAsks first
The top programs by CPU or memory: name and percent.
active-windowAsks first
The app in front and its window title.

On Windows the app reads every source here. The macOS and Linux helpers are still being built: until they are, the board's PC widgets wait for data there.

Sources that ask first

Media, processes and the active window say something about what you're doing, so installing a widget that reads them asks you first. A widget that reads one of them and can also reach the network, or an app on your PC, could send what it reads off your PC: it gets a stronger prompt, and always a human review.

Never offered

To any widget, ever: your files, your clipboard, your keystrokes, what's on your screen, running commands, and other widgets' secrets.

Temperatures

GPU temperatures come from the vendors' own interfaces. Reading a CPU's temperature on Windows needs a kernel driver, which ShiftPane won't ship; for now that comes from apps that have one, like LibreHardwareMonitor, through a local permission. The Temperatures widget does exactly that.