> ## Documentation Index
> Fetch the complete documentation index at: https://docs.otter-shell.org/llms.txt
> Use this file to discover all available pages before exploring further.

# System services

> Brightness, SysInfo, PipeWire, SCX, Falcond, and Monitor in otter-desktop.

## Brightness

Sysfs backlight control with connector-to-device matching for internal panels (eDP, LVDS, DSI).

```zig theme={null}
var brightness = otter_desktop.Brightness.init();
try brightness.openForConnector("eDP-1");
brightness.setBrightness(50);
brightness.adjustBrightness(-10);
```

## SysInfo

CPU percent, memory, disk, load averages, uptime, and CPU temperature from `/proc` and `/sys`. Intel coretemp and AMD k10temp/zenpower sensors only (ignores GPU/network thermal nodes).

```zig theme={null}
var sysinfo = otter_desktop.SysInfo.init();
sysinfo.subscribe(onChange, &ctx);
if (sysinfo.poll()) { /* subscribers notified */ }
```

## PipeWire

Per-device volume, mute, default sink/source switching, and hot-plug via native libpipewire. Volume steps use `roundToStep()` to avoid float drift.

Requires `-Denable_pipewire=true` (default).

## SCX Loader

Monitor and switch schedulers (`bpfland`, `scx_lavd`, etc.) through `scx_loader` D-Bus service.

## Falcond

Reads Falcond daemon status file via inotify. Surfaces performance mode and active SCX profile to the bar `falcond` widget.

## Monitor collector

`desktop.Monitor` polls procfs and sysfs with bounded buffers for `otter-monitor`:

* Processes and applications
* CPU, memory, GPU (sysfs or NVML)
* Disk and network
* 60-sample history rings

Collection logic stays here so the monitor app can focus on UI.
