Class
PurpleIdleManager
unstable since: 3.0
Description [src]
final class Purple.IdleManager : GObject.Object
{
/* No available fields */
}
The idle manager keeps track of multiple idle sources and aggregates them to the oldest one to report a global idle state.
Idle sources include application usage, device usage, or a manually set value, among other possibilities. User interfaces should allow users to determine what if any idle sources are tracked in the idle manager.
The idle source with the oldest timestamp is used as the value for
PurpleIdleManager:timestamp
as it is most likely what the user is
looking for based on the settings they would choose in the user interface.
Most users will only ever have a single idle source, but could add an additional manual source to set a specific time that they went idle.
If the user has chosen no idle reporting, which means no sources are ever
added to PurpleIdleManager
, then PurpleIdleManager:timestamp
will
always be NULL
.
Most users will choose between application and device usage. The difference being that application usage is updated whenever you send a message whereas device usage is only updated when you haven’t interacted with your device.
However, there is also the ability to manually set an idle time via plugins. Typically users will manually set their idle time to something exaggerated like months or years.
A manual idle source could also be created to replicate an existing idle source like the application usage, so that the user can start using the application without resetting the idle time. This would in effect allow the user to use the application in “stealth mode” by remaining idle.
In both of these examples, the user wishes to remain idle while still using the application. This is precisely why the oldest idle time is used as the aggregate.
Available since: 3.0
Functions
purple_idle_manager_get_default
Gets the default idle manager that libpurple is using.
unstable since: 3.0
Instance methods
purple_idle_manager_get_timestamp
Gets the oldest timestamp of all the sources that manager
knows about.
unstable since: 3.0
purple_idle_manager_set_source
Sets the timestamp of when source
went idle to timestamp
. If timestamp
is
NULL
, source
will be removed from manager
.
unstable since: 3.0
Properties
Purple.IdleManager:timestamp
The aggregate of the oldest idle timestamp of all of the sources that are known.
unstable since: 3.0
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.