class Gio::AppInfoMonitor
- Gio::AppInfoMonitor
- GObject::Object
- Reference
- Object
Overview
GAppInfoMonitor
monitors application information for changes.
GAppInfoMonitor
is a very simple object used for monitoring the app
info database for changes (newly installed or removed applications).
Call Gio::AppInfoMonitor#get
to get a GAppInfoMonitor
and connect
to the Gio::AppInfoMonitor::#changed
signal. The signal will be emitted once when
the app info database changes, and will not be emitted again until after the
next call to Gio::AppInfo#all
or another g_app_info_*()
function.
This is because monitoring the app info database for changes is expensive.
The following functions will re-arm the Gio::AppInfoMonitor::#changed
signal so it can be emitted again:
Gio::AppInfo#all
Gio::AppInfo#all_for_type
Gio::AppInfo#default_for_type
Gio::AppInfo#fallback_for_type
Gio::AppInfo#recommended_for_type
g_desktop_app_info_get_implementations()
g_desktop_app_info_new()
g_desktop_app_info_new_from_filename()
g_desktop_app_info_new_from_keyfile()
g_desktop_app_info_search()
The latter functions are available if using
GDesktopAppInfo
from
gio-unix-2.0.pc
(GIR namespace GioUnix-2.0
).
In the usual case, applications should try to make note of the change
(doing things like invalidating caches) but not act on it. In
particular, applications should avoid making calls to GAppInfo
APIs
in response to the change signal, deferring these until the time that
the updated data is actually required. The exception to this case is when
application information is actually being displayed on the screen
(for example, during a search or when the list of all applications is shown).
The reason for this is that changes to the list of installed applications
often come in groups (like during system updates) and rescanning the list
on every change is pointless and expensive.
Defined in:
lib/gi-crystal/src/auto/gio-2.0/app_info_monitor.crConstructors
-
.new
Initialize a new
AppInfoMonitor
.
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
-
.get : Gio::AppInfoMonitor
Gets the #GAppInfoMonitor for the current thread-default main context.
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. - #changed_signal
-
#hash(hasher)
See
Object#hash(hasher)
Instance methods inherited from class GObject::Object
==(other : self)
==,
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void) | Nil
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
hash(hasher)
hash,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void) | Nil
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void) | Nil) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void) | Nil
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void) | Nil
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
cast?(obj : GObject::Object) : self | Nil
cast?,
compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Macros inherited from class GObject::Object
previous_vfunc(*args)
previous_vfunc,
previous_vfunc!(*args)
previous_vfunc!,
signal(signature)
signal
Constructor Detail
Class Method Detail
Gets the #GAppInfoMonitor for the current thread-default main context.
The #GAppInfoMonitor will emit a “changed” signal in the thread-default main context whenever the list of installed applications (as reported by g_app_info_get_all()) may have changed.
The #GAppInfoMonitor::changed signal will only be emitted once until
g_app_info_get_all() (or another g_app_info_*()
function) is called. Doing
so will re-arm the signal ready to notify about the next change.
You must only call g_object_unref() on the return value from under the same main context as you created it.
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.