module Gio::PowerProfileMonitor

Overview

#GPowerProfileMonitor makes it possible for applications as well as OS components to monitor system power profiles and act upon them. It currently only exports whether the system is in “Power Saver” mode (known as “Low Power” mode on some systems).

When in “Low Power” mode, it is recommended that applications:

It is also likely that OS components providing services to applications will lower their own background activity, for the sake of the system.

There are a variety of tools that exist for power consumption analysis, but those usually depend on the OS and hardware used. On Linux, one could use upower to monitor the battery discharge rate, powertop to check on the background activity or activity at all), sysprof to inspect CPU usage, and intel_gpu_time to profile GPU usage.

Don't forget to disconnect the #GPowerProfileMonitor::notify::power-saver-enabled signal, and unref the #GPowerProfileMonitor itself when exiting.

Defined in:

lib/gi-crystal/src/auto/gio-2.0/power_profile_monitor.cr

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.cast(obj : GObject::Object) : self #

Cast a GObject::Object to self, throws a TypeCastError if the cast can't be made.


[View source]

Class Method Detail

def self.cast?(obj : GObject::Object) : self | Nil #

[View source]
def self.dup_default : Gio::PowerProfileMonitor #

[View source]
def self.g_type : UInt64 #

[View source]

Instance Method Detail

def power_saver_enabled : Bool #

[View source]
def power_saver_enabled? : Bool #

[View source]
abstract def to_unsafe #

[View source]