Not stable yet. WolOS is in active development and the current ISO is a test build: try it in a virtual machine or on a spare disk, not on a computer you depend on.

WolOS
Manual contents

Everyday use

Power and sleep

The power source picks the profile; Low Power and High Power Mode override it.

What it is

WolOS chooses an energy profile, Wi-Fi power saving, screen-off and sleep times from whether the computer is plugged in. Low Power Mode and High Power Mode override the choice until you switch back to Auto.

Why

Most people never open power settings. A laptop on battery should last, and the same laptop on the desk should be fast, without anyone choosing that twice a day.

How

Pick Auto, Low or High in the Control Center or with wol power mode auto|low|high. Every sleep locks first. Battery warnings come at 20, 10 and 5 %, and at 3 % the computer sleeps on its own.

Reference

The power source picks the profile; Low Power and High Power Mode override it (ADR 0014). Code: wol_core::power::policy (pure: facts from read-only probes in, fixed argv out). wol power apply runs the plan; udev runs it on AC changes, systemd at boot and resume, wol-admind power-mode after a mode change.

MechanismAC (Auto)Battery (Auto)LowHighWhere
Energy profilebalancedbalanced (CPU prefers efficiency on battery)power-saverperformancepowerprofilesctl set; switched only when it differs
Wi-Fi power saveoffonon (battery)offiw dev <if> set power_save, interfaces that answer get power_save
Display off when idlelock time + 1 min2 minhypridle (prefs::hypridle_conf, system hypridle.conf)
Sleep when idlenever10 minhypridle -> wol power idle sleep (needs mem in /sys/power/state)
Lid closedsuspendsuspendlogind; wol-admind lid writes /etc/systemd/logind.conf.d/50-wolos-lid.conf

power-profiles-daemon drives the CPU energy preference (intel_pstate, amd-pstate-epp) and the ACPI platform profile. Without it nothing steers the CPU and the switch hides. The mode is saved in /etc/wolos/power.json.

Probes: nproc, powerprofilesctl get, ls/cat under /sys/class/power_supply, /proc/acpi/button/lid, /sys/power/state, /sys/class/net/*/wireless, iw. Entry names reach argv only when plain ([A-Za-z0-9_.:-], no leading -).

Not offered yet: a battery charge limit (charge_control_end_threshold).

Sleep, alerts, session power

  • Every sleep path locks first. The systemd-sleep hook calls wol power suspend, which locks each session that asks for the password after sleep.
  • Battery notifications at 20, 10 and 5 %. At 3 % the computer sleeps (shell::alerts).
  • When the startup disk is under 5 % free, the shell shows one notification until space is back.
  • Sleep, Restart and Shut Down go through wol-admind session-power (systemctl suspend|reboot|poweroff).
    • The account at the computer needs no password. Restart and Shut Down ask for one while another account has a session.
    • Restart, Shut Down and Log Out ask first, with a 60 s countdown.

Commands

wol power status|apply|mode [auto|low|high]|sleep|restart|shutdown|idle display-off|sleep [--json].

Needs hardware

  • Suspend and the lock before it.
  • power-profiles-daemon profiles on a real laptop.
  • Wi-Fi power save on iwlwifi/rtw88.
  • udev power_supply change events.

Tests cover the plans with fixtures, not these effects.

Reference synced from wonderlandos/wolos docs/modules/power.md.