proton_power_monitor

    Native power and idle state queries for MoonBit on Windows, Linux, and macOS.

    power-monitor
    native
    windows
    linux
    macos
    power-management
    Download zip
    Version
    0.2.10
    License
    Apache-2.0
    Last updated
    2 hours ago
    Downloads
    6K

    #proton_power_monitor

    Native power and idle state queries for MoonBit on Windows, Linux, and macOS.

    PowerMonitorError

    pub(all) suberror PowerMonitorError {
    BackendUnavailable(detail~ : String)
    OperationFailed(operation~ : String, detail~ : String)
    } derive(Eq)

    PowerMonitorError::equal

    PowerMonitorError::not_equal

    fn PowerMonitorError::not_equal(x : PowerMonitorError, y : PowerMonitorError) -> Bool

    PowerMonitorError::output

    fn PowerMonitorError::output(self : PowerMonitorError, logger : &Logger) -> Unit

    PowerMonitorError::to_string

    fn PowerMonitorError::to_string(self : PowerMonitorError) -> String

    PowerMonitor

    pub struct PowerMonitor {
    // private fields
    }

    PowerMonitor::PowerMonitor

    fn PowerMonitor::PowerMonitor() -> PowerMonitor raise PowerMonitorError

    PowerMonitor::destroy

    fn PowerMonitor::destroy(self : PowerMonitor) -> Unit

    PowerMonitor::drain_events

    fn PowerMonitor::drain_events(self : PowerMonitor) -> Array[PowerMonitorEvent]

    Drains every pending event from the queue. Returns an empty array when no event is pending; never raises for an empty queue.

    PowerMonitor::idle_seconds

    fn PowerMonitor::idle_seconds(self : PowerMonitor) -> Int raise PowerMonitorError

    PowerMonitor::power_source

    PowerMonitor::start_watching

    fn PowerMonitor::start_watching(self : PowerMonitor) -> Unit raise PowerMonitorError

    Starts the event watch backend. The backend is best-effort: a platform that cannot watch (for example Linux without a system D-Bus) records the failure on the native side and returns BackendUnavailable, leaving polling queries fully usable.

    PowerMonitor::stop_watching

    fn PowerMonitor::stop_watching(self : PowerMonitor) -> Unit raise PowerMonitorError

    Stops the event watch backend and joins its thread. Idempotent.

    PowerMonitorEvent

    pub enum PowerMonitorEvent {
    Suspend
    Resume
    OnAC
    OnBattery
    LockScreen
    UnlockScreen
    } derive(Eq,
    Debug
    )

    System power and session events delivered by the watch backend.

    PowerMonitorEvent::equal

    PowerMonitorEvent::not_equal

    fn PowerMonitorEvent::not_equal(x : PowerMonitorEvent, y : PowerMonitorEvent) -> Bool

    PowerSource

    pub(all) enum PowerSource {
    Unknown
    AC
    Battery
    } derive(Eq,
    Debug
    )

    PowerSource::equal

    fn PowerSource::equal(PowerSource, PowerSource) -> Bool

    PowerSource::not_equal

    fn PowerSource::not_equal(x : PowerSource, y : PowerSource) -> Bool

    PowerSourceInfo

    pub(all) struct PowerSourceInfo {
    source : PowerSource
    battery_percent : Int?
    } derive(Eq,
    Debug
    )

    PowerSourceInfo::equal

    PowerSourceInfo::not_equal

    fn PowerSourceInfo::not_equal(x : PowerSourceInfo, y : PowerSourceInfo) -> Bool

    State

    pub type State

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io