Optionalproperties: Partial<Gtk.Settings.ConstructorProps>Internal$signalsCompile-time signal type information.
This instance property is generated only for TypeScript type checking. It is not defined at runtime and should not be accessed in JS code.
Static$gtypeRead-OnlySince 2.10color_Holds a hash table representation of the Gtk.Settings.gtk_color_scheme
setting, mapping color names to GdkColors.
Read-OnlySince 2.10colorHolds a hash table representation of the Gtk.Settings.gtk_color_scheme
setting, mapping color names to GdkColors.
Since 2.12gtk_Since 3.0gtk_Whether the application prefers to use a dark theme. If a GTK+ theme includes a dark variant, it will be used instead of the configured theme.
Some applications benefit from minimizing the amount of light pollution that interferes with the content. Good candidates for dark themes are photo and video editors that make the actual content get all the attention and minimize the distraction of the chrome.
Dark themes should not be used for documents, where large spaces are white/light and the dark chrome creates too much contrast (web browser, text editor...).
Since 2.20gtk_Since 2.4gtk_Whether images should be shown on buttons
since 3.10: This setting is deprecated. Application developers control whether a button should show an icon or not, on a per-button basis. If a Gtk.Button should show an icon, use the Gtk.Button.always_show_image property of Gtk.Button, and pack a Gtk.Image inside the Gtk.Button
Since 2.10gtk_A palette of named colors for use in themes. The format of the string is
name1: color1
name2: color2
...
Color names must be acceptable as identifiers in the
[gtkrc][gtk3-Resource-Files] syntax, and
color specifications must be in the format accepted by
gdk_color_parse().
Note that due to the way the color tables from different sources are merged, color specifications will be converted to hexadecimal form when getting this property.
Starting with GTK+ 2.12, the entries can alternatively be separated by ';' instead of newlines:
name1: color1; name2: color2; ...
Whether the cursor should blink.
Also see the Gtk.Settings.gtk_cursor_blink_timeout setting, which allows more flexible control over cursor blinking.
Since 2.12gtk_Time after which the cursor stops blinking, in seconds. The timer is reset after each user interaction.
Setting this to zero has the same effect as setting
Gtk.Settings.gtk_cursor_blink to false.
Since 3.12gtk_This setting determines which buttons should be put in the titlebar of client-side decorated windows, and whether they should be placed at the left of right.
The format of the string is button names, separated by commas. A colon separates the buttons that should appear on the left from those on the right. Recognized button names are minimize, maximize, close, icon (the window icon) and menu (a menu button for the fallback app menu).
For example, "menu:minimize,maximize,close" specifies a menu on the left, and minimize, maximize and close buttons on the right.
Note that buttons will only be shown when they are meaningful. E.g. a menu button only appears when the desktop shell does not show the app menu, and a close button only appears on a window that can be closed.
Also note that the setting can be overridden with the Gtk.HeaderBar.decoration_layout property.
Since 3.12gtk_Since 2.12gtk_Since 2.14gtk_Whether to play any event sounds at all.
See the Sound Theme Specifications for more information on event sounds and sound themes.
GTK+ itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra.
Since 2.14gtk_Whether to play event sounds as feedback to user input.
See the Sound Theme Specifications for more information on event sounds and sound themes.
GTK+ itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra.
Since 2.12gtk_Since 3.4gtk_Since 2.14gtk_Since 2.10gtk_Since 2.12gtk_Name of the GtkFileChooser backend to use by default.
since 3.10: This setting is ignored. Gtk.FileChooser uses GIO by default.
The default font to use. GTK+ uses the family name and size from this string.
A list of icon sizes. The list is separated by colons, and item has the form:
size-name = width , height
E.g. "gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48".
GTK+ itself use the following named icon sizes: gtk-menu,
gtk-button, gtk-small-toolbar, gtk-large-toolbar, gtk-dnd,
gtk-dialog. Applications can register their own named icon
sizes with gtk_icon_size_register().
Which IM (input method) module should be used by default. This is the input method that will be used if the user has not explicitly chosen another input method from the IM context menu. This also can be a colon-separated list of input methods, which GTK+ will try in turn until it finds one available on the system.
See Gtk.IMContext.
How to draw the input method preedit string.
How to draw the input method statusbar.
Since 2.12gtk_When true, keyboard navigation should be able to reach all widgets
by using the cursor keys only. Tab, Shift etc. keys can't be expected
to be present on the used input device.
Since 3.20gtk_Since 2.12gtk_Since 3.14gtk_Whether images should be shown in menu items
since 3.10: This setting is deprecated. Application developers control whether or not a Gtk.MenuItem should have an icon or not, on a per widget basis. Either use a Gtk.MenuItem with a Gtk.Box containing a Gtk.Image and a Gtk.AccelLabel, or describe your menus using a Gio.Menu XML description
Since 3.24.9gtk_Since 3.6gtk_If the value of this setting is true, clicking the primary button in a
Gtk.Range trough will move the slider, and hence set the range’s value, to
the point that you clicked. If it is false, a primary click will cause the
slider/value to move by the range’s page-size towards the point clicked.
Whichever action you choose for the primary button, the other action will be available by holding Shift and primary-clicking, or (since GTK+ 3.22.25) clicking the middle mouse button.
Since 2.10gtk_Since 2.10gtk_A command to run for displaying the print preview. The command
should contain a %f placeholder, which will get replaced by
the path to the pdf file. The command may also contain a %s
placeholder, which will get replaced by the path to a file
containing the print settings in the format produced by
gtk_print_settings_to_file().
The preview application is responsible for removing the pdf file and the print settings file when it is done.
Since 3.8gtk_Since 2.12gtk_The number of recently used files that should be displayed by default by Gtk.RecentChooser implementations and by the Gtk.FileChooser. A value of -1 means every recently used file stored.
Since 2.14gtk_Since 2.10gtk_Where the contents of scrolled windows are located with respect to the scrollbars, if not overridden by the scrolled window's own placement.
Since 2.14gtk_The XDG sound theme to use for event sounds.
See the Sound Theme Specifications for more information on event sounds and sound themes.
GTK+ itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra.
Since 3.14gtk_Since 3.14gtk_Since 3.14gtk_The size of icons in default toolbars.
Since 2.12gtk_Amount of time, in milliseconds, after which the browse mode will be disabled.
See Gtk.Settings.gtk_tooltip_browse_timeout for more information about browse mode.
Since 2.12gtk_Controls the time after which tooltips will appear when browse mode is enabled, in milliseconds.
Browse mode is enabled when the mouse pointer moves off an object where a tooltip was currently being displayed. If the mouse pointer hits another object before the browse mode timeout expires (see Gtk.Settings.gtk_tooltip_browse_mode_timeout), it will take the amount of milliseconds specified by this setting to popup the tooltip for the new object.
Since 2.12gtk_Since 2.10gtk_When true, there are no motion notify events delivered on this screen,
and widgets can't use the pointer hovering them for any essential
functionality.
Since 3.2gtk_Whether 'focus rectangles' should be always visible, never visible, or hidden until the user starts to use the keyboard.
Since 2.12gtkSince 3.0gtkWhether the application prefers to use a dark theme. If a GTK+ theme includes a dark variant, it will be used instead of the configured theme.
Some applications benefit from minimizing the amount of light pollution that interferes with the content. Good candidates for dark themes are photo and video editors that make the actual content get all the attention and minimize the distraction of the chrome.
Dark themes should not be used for documents, where large spaces are white/light and the dark chrome creates too much contrast (web browser, text editor...).
Since 2.20gtkSince 2.4gtkWhether images should be shown on buttons
since 3.10: This setting is deprecated. Application developers control whether a button should show an icon or not, on a per-button basis. If a Gtk.Button should show an icon, use the Gtk.Button.always_show_image property of Gtk.Button, and pack a Gtk.Image inside the Gtk.Button
Since 2.10gtkA palette of named colors for use in themes. The format of the string is
name1: color1
name2: color2
...
Color names must be acceptable as identifiers in the
[gtkrc][gtk3-Resource-Files] syntax, and
color specifications must be in the format accepted by
gdk_color_parse().
Note that due to the way the color tables from different sources are merged, color specifications will be converted to hexadecimal form when getting this property.
Starting with GTK+ 2.12, the entries can alternatively be separated by ';' instead of newlines:
name1: color1; name2: color2; ...
Whether the cursor should blink.
Also see the Gtk.Settings.gtk_cursor_blink_timeout setting, which allows more flexible control over cursor blinking.
Since 2.12gtkTime after which the cursor stops blinking, in seconds. The timer is reset after each user interaction.
Setting this to zero has the same effect as setting
Gtk.Settings.gtk_cursor_blink to false.
Since 3.12gtkThis setting determines which buttons should be put in the titlebar of client-side decorated windows, and whether they should be placed at the left of right.
The format of the string is button names, separated by commas. A colon separates the buttons that should appear on the left from those on the right. Recognized button names are minimize, maximize, close, icon (the window icon) and menu (a menu button for the fallback app menu).
For example, "menu:minimize,maximize,close" specifies a menu on the left, and minimize, maximize and close buttons on the right.
Note that buttons will only be shown when they are meaningful. E.g. a menu button only appears when the desktop shell does not show the app menu, and a close button only appears on a window that can be closed.
Also note that the setting can be overridden with the Gtk.HeaderBar.decoration_layout property.
Since 3.12gtkSince 2.12gtkSince 2.14gtkWhether to play any event sounds at all.
See the Sound Theme Specifications for more information on event sounds and sound themes.
GTK+ itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra.
Since 2.14gtkWhether to play event sounds as feedback to user input.
See the Sound Theme Specifications for more information on event sounds and sound themes.
GTK+ itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra.
Since 2.12gtkSince 3.4gtkSince 2.14gtkSince 2.10gtkSince 2.12gtkName of the GtkFileChooser backend to use by default.
since 3.10: This setting is ignored. Gtk.FileChooser uses GIO by default.
The default font to use. GTK+ uses the family name and size from this string.
A list of icon sizes. The list is separated by colons, and item has the form:
size-name = width , height
E.g. "gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48".
GTK+ itself use the following named icon sizes: gtk-menu,
gtk-button, gtk-small-toolbar, gtk-large-toolbar, gtk-dnd,
gtk-dialog. Applications can register their own named icon
sizes with gtk_icon_size_register().
Which IM (input method) module should be used by default. This is the input method that will be used if the user has not explicitly chosen another input method from the IM context menu. This also can be a colon-separated list of input methods, which GTK+ will try in turn until it finds one available on the system.
See Gtk.IMContext.
How to draw the input method preedit string.
How to draw the input method statusbar.
Since 2.12gtkWhen true, keyboard navigation should be able to reach all widgets
by using the cursor keys only. Tab, Shift etc. keys can't be expected
to be present on the used input device.
Since 3.20gtkSince 2.12gtkSince 3.14gtkWhether images should be shown in menu items
since 3.10: This setting is deprecated. Application developers control whether or not a Gtk.MenuItem should have an icon or not, on a per widget basis. Either use a Gtk.MenuItem with a Gtk.Box containing a Gtk.Image and a Gtk.AccelLabel, or describe your menus using a Gio.Menu XML description
Since 3.24.9gtkSince 3.6gtkIf the value of this setting is true, clicking the primary button in a
Gtk.Range trough will move the slider, and hence set the range’s value, to
the point that you clicked. If it is false, a primary click will cause the
slider/value to move by the range’s page-size towards the point clicked.
Whichever action you choose for the primary button, the other action will be available by holding Shift and primary-clicking, or (since GTK+ 3.22.25) clicking the middle mouse button.
Since 2.10gtkSince 2.10gtkA command to run for displaying the print preview. The command
should contain a %f placeholder, which will get replaced by
the path to the pdf file. The command may also contain a %s
placeholder, which will get replaced by the path to a file
containing the print settings in the format produced by
gtk_print_settings_to_file().
The preview application is responsible for removing the pdf file and the print settings file when it is done.
Since 3.8gtkSince 2.12gtkThe number of recently used files that should be displayed by default by Gtk.RecentChooser implementations and by the Gtk.FileChooser. A value of -1 means every recently used file stored.
Since 2.14gtkSince 2.10gtkWhere the contents of scrolled windows are located with respect to the scrollbars, if not overridden by the scrolled window's own placement.
Since 2.14gtkThe XDG sound theme to use for event sounds.
See the Sound Theme Specifications for more information on event sounds and sound themes.
GTK+ itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra.
Since 3.14gtkSince 3.14gtkSince 3.14gtkThe size of icons in default toolbars.
Since 2.12gtkAmount of time, in milliseconds, after which the browse mode will be disabled.
See Gtk.Settings.gtk_tooltip_browse_timeout for more information about browse mode.
Since 2.12gtkControls the time after which tooltips will appear when browse mode is enabled, in milliseconds.
Browse mode is enabled when the mouse pointer moves off an object where a tooltip was currently being displayed. If the mouse pointer hits another object before the browse mode timeout expires (see Gtk.Settings.gtk_tooltip_browse_mode_timeout), it will take the amount of milliseconds specified by this setting to popup the tooltip for the new object.
Since 2.12gtkSince 2.10gtkWhen true, there are no motion notify events delivered on this screen,
and widgets can't use the pointer hovering them for any essential
functionality.
Since 3.2gtkWhether 'focus rectangles' should be always visible, never visible, or hidden until the user starts to use the keyboard.
Creates a binding between source_property on source and target_property
on target.
Whenever the source_property is changed the target_property is
updated using the same value. For instance:
g_object_bind_property (action, "active", widget, "sensitive", 0);
Will result in the "sensitive" property of the widget GObject.Object instance to be updated with the same value of the "active" property of the action GObject.Object instance.
If flags contains GObject.BindingFlags.BIDIRECTIONAL then the binding will be mutual:
if target_property on target changes then the source_property on source
will be updated as well.
The binding will automatically be removed when either the source or the
target instances are finalized. To remove the binding without affecting the
source and the target you can just call g_object_unref() on the returned
GObject.Binding instance.
Removing the binding by calling g_object_unref() on it must only be done if
the binding, source and target are only used from a single thread and it
is clear that both source and target outlive the binding. Especially it
is not safe to rely on this if the binding, source or target can be
finalized from different threads. Keep another reference to the binding and
use g_binding_unbind() instead to be on the safe side.
A GObject.Object can have multiple bindings.
the property on source to bind
the target GObject.Object
the property on target to bind
flags to pass to GObject.Binding
the GObject.Binding instance representing the binding between the two GObject.Object instances. The binding is released whenever the GObject.Binding reference count reaches zero.
Complete version of g_object_bind_property().
Creates a binding between source_property on source and target_property
on target, allowing you to set the transformation functions to be used by
the binding.
If flags contains GObject.BindingFlags.BIDIRECTIONAL then the binding will be mutual:
if target_property on target changes then the source_property on source
will be updated as well. The transform_from function is only used in case
of bidirectional bindings, otherwise it will be ignored
The binding will automatically be removed when either the source or the
target instances are finalized. This will release the reference that is
being held on the GObject.Binding instance; if you want to hold on to the
GObject.Binding instance, you will need to hold a reference to it.
To remove the binding, call g_binding_unbind().
A GObject.Object can have multiple bindings.
The same user_data parameter will be used for both transform_to
and transform_from transformation functions; the notify function will
be called once, when the binding is removed. If you need different data
for each transformation function, please use
g_object_bind_property_with_closures() instead.
the property on source to bind
the target GObject.Object
the property on target to bind
flags to pass to GObject.Binding
Optionaltransform_to: BindingTransformFuncthe transformation function from the source to the target, or null to use the default
Optionaltransform_from: BindingTransformFuncthe transformation function from the target to the source, or null to use the default
Optionalnotify: DestroyNotifya function to call when disposing the binding, to free resources used by the transformation functions, or null if not required
the GObject.Binding instance representing the binding between the two GObject.Object instances. The binding is released whenever the GObject.Binding reference count reaches zero.
Creates a binding between source_property on source and target_property
on target, allowing you to set the transformation functions to be used by
the binding.
This function is the language bindings friendly version of
g_object_bind_property_full(), using GClosures instead of
function pointers.
the property on source to bind
the GObject.Binding instance representing the binding between the two GObject.Object instances. The binding is released whenever the GObject.Binding reference count reaches zero.
Blocks a handler of an instance so it will not be called during any signal emissions
Handler ID of the handler to be blocked
SignalconnectSignalconnect_Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to.
Handler ID of the handler to be disconnected
SignalemitThis function is intended for GObject.Object implementations to re-enforce
a [floating][floating-ref] object reference. Doing this is seldom
required: all GInitiallyUnowneds are created with a floating reference
which usually just needs to be sunken by calling g_object_ref_sink().
Increases the freeze count on object. If the freeze count is
non-zero, the emission of "notify" signals on object is
stopped. The signals are queued until the freeze count is decreased
to zero. Duplicate notifications are squashed so that at most one
GObject.Object::notify signal is emitted for each property modified while the
object is frozen.
This is necessary for accessors that modify multiple properties to prevent premature notification while the object is still being modified.
Gets a named field from the objects table of associations (see g_object_set_data()).
name of the key for that association
the data if found, or null if no such data exists.
Returns the Gtk.IconFactory defined to be in use for path, or null if none
is defined.
Gtk.WidgetPath to query
The icon factory to use for path, or null
Gets a property of an object.
The value can be:
In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset.
Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming.
The name of the property to get
Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type
This function gets back user data pointers stored via
g_object_set_qdata().
A GLib.Quark, naming the user data pointer
The user data pointer set, or null
Returns the style settings affecting a widget defined by path, or null if
provider doesn’t contemplate styling path.
Gtk.WidgetPath to query
a Gtk.StyleProperties containing the style settings affecting path
Looks up a widget style property as defined by provider for
the widget represented by path.
Gtk.WidgetPath to query
state to query the style property for
The GObject.ParamSpec to query
true if the property was found and has a value, false otherwise
Gets n_properties properties for an object.
Obtained properties will be set to values. All properties must be valid.
Warnings will be emitted and undefined behaviour may result if invalid
properties are passed in.
the names of each property to get
the values of each property to get
Checks whether object has a [floating][floating-ref] reference.
true if object has a floating reference
Emits a "notify" signal for the property property_name on object.
When possible, eg. when signaling a property change from within the class
that registered the property, you should use g_object_notify_by_pspec()
instead.
Note that emission of the notify signal may be blocked with
g_object_freeze_notify(). In this case, the signal emissions are queued
and will be emitted (in reverse order) when g_object_thaw_notify() is
called.
the name of a property installed on the class of object.
Emits a "notify" signal for the property specified by pspec on object.
This function omits the property name lookup, hence it is faster than
g_object_notify().
One way to avoid using g_object_notify() from within the
class that registered the properties, and using g_object_notify_by_pspec()
instead, is to store the GParamSpec used with
g_object_class_install_property() inside a static array, e.g.:
typedef enum
{
PROP_FOO = 1,
PROP_LAST
} MyObjectProperty;
static GParamSpec *properties[PROP_LAST];
static void
my_object_class_init (MyObjectClass *klass)
{
properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL,
0, 100,
50,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
g_object_class_install_property (gobject_class,
PROP_FOO,
properties[PROP_FOO]);
}
and then notify a change on the "foo" property with:
g_object_notify_by_pspec (self, properties[PROP_FOO]);
the GObject.ParamSpec of a property installed on the class of object.
Increases the reference count of object.
Since GLib 2.56, if GLIB_VERSION_MAX_ALLOWED is 2.56 or greater, the type
of object will be propagated to the return type (using the GCC typeof()
extension), so any casting the caller needs to do on the return type must be
explicit.
the same object
Increase the reference count of object, and possibly remove the
[floating][floating-ref] reference, if object has a floating reference.
In other words, if the object is floating, then this call "assumes ownership" of the floating reference, converting it to a normal reference by clearing the floating flag while leaving the reference count unchanged. If the object is not floating, then this call adds a new normal reference increasing the reference count by one.
Since GLib 2.56, the type of object will be propagated to the return type
under the same conditions as for g_object_ref().
object
Undoes the effect of calling g_object_set() to install an
application-specific value for a setting. After this call,
the setting will again follow the session-wide value for
this setting.
the name of the setting to reset
Releases all references to other objects. This can be used to break reference cycles.
This function should only be called from object system implementations.
Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values.
Object containing the properties to set
Each object carries around a table of associations from strings to pointers. This function lets you set an association.
If the object already had an association with that name, the old association will be destroyed.
Internally, the key is converted to a GLib.Quark using g_quark_from_string().
This means a copy of key is kept permanently (even after object has been
finalized) — so it is recommended to only use a small, bounded set of values
for key in your program, to avoid the GLib.Quark storage growing unbounded.
name of the key
Optionaldata: anydata to associate with that key
Sets a property on an object.
The name of the property to set
The value to set the property to
Remove a specified datum from the object's data associations, without invoking the association's destroy handler.
name of the key
the data if found, or null if no such data exists.
This function gets back user data pointers stored via
g_object_set_qdata() and removes the data from object
without invoking its destroy() function (if any was
set).
Usually, calling this function is only required to update
user data pointers with a destroy notifier, for example:
void
object_add_to_user_list (GObject *object,
const gchar *new_string)
{
// the quark, naming the object data
GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
// retrieve the old string list
GList *list = g_object_steal_qdata (object, quark_string_list);
// prepend new string
list = g_list_prepend (list, g_strdup (new_string));
// this changed 'list', so we need to set it again
g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
}
static void
free_string_list (gpointer data)
{
GList *node, *list = data;
for (node = list; node; node = node->next)
g_free (node->data);
g_list_free (list);
}
Using g_object_get_qdata() in the above example, instead of
g_object_steal_qdata() would have left the destroy function set,
and thus the partial string list would have been freed upon
g_object_set_qdata_full().
A GLib.Quark, naming the user data pointer
The user data pointer set, or null
Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked.
Name of the signal to stop emission of
Reverts the effect of a previous call to
g_object_freeze_notify(). The freeze count is decreased on object
and when it reaches zero, queued "notify" signals are emitted.
Duplicate notifications for each property are squashed so that at most one GObject.Object::notify signal is emitted for each property, in the reverse order in which they have been queued.
It is an error to call this function when the freeze count is zero.
Unblocks a handler so it will be called again during any signal emissions
Handler ID of the handler to be unblocked
Decreases the reference count of object. When its reference count
drops to 0, the object is finalized (i.e. its memory is freed).
If the pointer to the GObject.Object may be reused in future (for example, if it is
an instance variable of another object), it is recommended to clear the
pointer to null rather than retain a dangling pointer to a potentially
invalid GObject.Object instance. Use g_clear_object() for this.
Virtualvfunc_the constructed function is called by g_object_new() as the
final step of the object creation process. At the point of the call, all
construction properties have been set on the object. The purpose of this
call is to allow for object initialisation steps that can only be performed
after construction properties have been set. constructed implementors
should chain up to the constructed call of their parent class to allow it
to complete its initialisation.
Virtualvfunc_Virtualvfunc_the dispose function is supposed to drop all references to other
objects, but keep the instance otherwise intact, so that client method
invocations still work. It may be run multiple times (due to reference
loops). Before returning, dispose should chain up to the dispose method
of the parent class.
Virtualvfunc_instance finalization function, should finish the finalization of
the instance begun in dispose and chain up to the finalize method of the
parent class.
Virtualvfunc_Returns the Gtk.IconFactory defined to be in use for path, or null if none
is defined.
Gtk.WidgetPath to query
Virtualvfunc_Virtualvfunc_Returns the style settings affecting a widget defined by path, or null if
provider doesn’t contemplate styling path.
Gtk.WidgetPath to query
Virtualvfunc_Looks up a widget style property as defined by provider for
the widget represented by path.
Gtk.WidgetPath to query
state to query the style property for
The GObject.ParamSpec to query
Virtualvfunc_Emits a "notify" signal for the property property_name on object.
When possible, eg. when signaling a property change from within the class
that registered the property, you should use g_object_notify_by_pspec()
instead.
Note that emission of the notify signal may be blocked with
g_object_freeze_notify(). In this case, the signal emissions are queued
and will be emitted (in reverse order) when g_object_thaw_notify() is
called.
Virtualvfunc_the generic setter for all properties of this type. Should be
overridden for every type with properties. If implementations of
set_property don't emit property change notification explicitly, this will
be done implicitly by the type system. However, if the notify signal is
emitted explicitly, the type system will not emit it a second time.
This function essentially limits the life time of the closure to
the life time of the object. That is, when the object is finalized,
the closure is invalidated by calling g_closure_invalidate() on
it, in order to prevent invocations of the closure with a finalized
(nonexisting) object. Also, g_object_ref() and g_object_unref() are
added as marshal guards to the closure, to ensure that an extra
reference count is held on object during invocation of the
closure. Usually, this function will be called on closures that
use this object as closure data.
GObject.Closure to watch
Staticget_Gets the Gtk.Settings object for the default GDK screen, creating
it if necessary. See gtk_settings_get_for_screen().
Staticget_Gets the Gtk.Settings object for screen, creating it if necessary.
a Gdk.Screen.
Staticinstall_Staticinstall_Static_Staticcompat_Optionaldata: anyStaticfind_Staticinstall_Staticinterface_Find the GObject.ParamSpec with the given name for an
interface. Generally, the interface vtable passed in as g_iface
will be the default vtable from g_type_default_interface_ref(), or,
if you know the interface has already been loaded,
g_type_default_interface_peek().
any interface vtable for the interface, or the default vtable for the interface
name of a property to look up.
Staticinterface_Add a property to an interface; this is only useful for interfaces
that are added to GObject-derived types. Adding a property to an
interface forces all objects classes with that interface to have a
compatible property. The compatible property could be a newly
created GObject.ParamSpec, but normally
g_object_class_override_property() will be used so that the object
class only needs to provide an implementation and inherits the
property description, default value, bounds, and so forth from the
interface property.
This function is meant to be called from the interface's default
vtable initialization function (the class_init member of
GObject.TypeInfo.) It must not be called after after class_init has
been called for any object types implementing this interface.
If pspec is a floating reference, it will be consumed.
any interface vtable for the interface, or the default vtable for the interface.
the GObject.ParamSpec for the new property
Staticinterface_Lists the properties of an interface.Generally, the interface
vtable passed in as g_iface will be the default vtable from
g_type_default_interface_ref(), or, if you know the interface has
already been loaded, g_type_default_interface_peek().
any interface vtable for the interface, or the default vtable for the interface
Staticlist_StaticnewvStaticoverride_the new property ID
the name of a property registered in a parent class or in an interface of this class.
GtkSettings provide a mechanism to share global settings between applications.
On the X window system, this sharing is realized by an XSettings manager that is usually part of the desktop environment, along with utilities that let the user change these settings. In the absence of an Xsettings manager, GTK+ reads default values for settings from
settings.inifiles in/etc/gtk-3.0,$XDG_CONFIG_DIRS/gtk-3.0and$XDG_CONFIG_HOME/gtk-3.0. These files must be valid key files (see GLib.KeyFile), and have a section called Settings. Themes can also provide default values for settings by installing asettings.inifile next to theirgtk.cssfile.Applications can override system-wide settings by setting the property of the GtkSettings object with
g_object_set(). This should be restricted to special cases though; GtkSettings are not meant as an application configuration facility. When doing so, you need to be aware that settings that are specific to individual widgets may not be available before the widget type has been realized at least once. The following example demonstrates a way to do this:There is one GtkSettings instance per screen. It can be obtained with
gtk_settings_get_for_screen(), but in many cases, it is more convenient to usegtk_widget_get_settings().gtk_settings_get_default()returns the GtkSettings instance for the default screen.