Package ch.bailu.gtk.gio
Class PowerProfileMonitor
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gobject.Object
ch.bailu.gtk.type.Interface
ch.bailu.gtk.gio.PowerProfileMonitor
- All Implemented Interfaces:
PointerInterface
#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:
- disable automatic downloads;
- reduce the rate of refresh from online sources such as calendar or
email synchronisation;
- reduce the use of expensive visual effects.
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.
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:
- disable automatic downloads;
- reduce the rate of refresh from online sources such as calendar or
email synchronisation;
- reduce the use of expensive visual effects.
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.
-
Nested Class Summary
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDestroyNotify, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic PowerProfileMonitor
Gets a reference to the default #GPowerProfileMonitor for the system.static ClassHandler
static int
static long
static TypeSystem.TypeSize
boolean
Gets whether the system is in “Power Saver” mode.static long
static TypeSystem.TypeSize
Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
PowerProfileMonitor
-
-
Method Details
-
getClassHandler
-
getPowerSaverEnabled
public boolean getPowerSaverEnabled()Gets whether the system is in “Power Saver” mode.
You are expected to listen to the
#GPowerProfileMonitor::notify::power-saver-enabled signal to know when the profile has
changed.- Returns:
- Whether the system is in “Power Saver” mode.
-
dupDefault
Gets a reference to the default #GPowerProfileMonitor for the system.- Returns:
- a new reference to the default #GPowerProfileMonitor
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-