1// Package gtk was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gtk
3
4import (
5 "github.com/ebitengine/purego"
6
7 "github.com/bnema/puregotk/pkg/core"
8 "github.com/bnema/puregotk/v4/gdk"
9 "github.com/bnema/puregotk/v4/gobject"
10 "github.com/bnema/puregotk/v4/gobject/types"
11)
12
13// Provides a mechanism to share global settings between applications.
14//
15// On the X window system, this sharing is realized by an
16// [XSettings](http://www.freedesktop.org/wiki/Specifications/xsettings-spec)
17// manager that is usually part of the desktop environment, along with
18// utilities that let the user change these settings.
19//
20// On Wayland, the settings are obtained either via a settings portal,
21// or by reading desktop settings from [class@Gio.Settings].
22//
23// On macOS, the settings are obtained from `NSUserDefaults`.
24//
25// In the absence of these sharing mechanisms, GTK reads default values for
26// settings from `settings.ini` files in `/etc/gtk-4.0`, `$XDG_CONFIG_DIRS/gtk-4.0`
27// and `$XDG_CONFIG_HOME/gtk-4.0`. These files must be valid key files (see
28// `GKeyFile`), and have a section called Settings. Themes can also provide
29// default values for settings by installing a `settings.ini` file
30// next to their `gtk.css` file.
31//
32// Applications can override system-wide settings by setting the property
33// of the `GtkSettings` object with g_object_set(). This should be restricted
34// to special cases though; `GtkSettings` are not meant as an application
35// configuration facility.
36//
37// There is one `GtkSettings` instance per display. It can be obtained with
38// [func@Gtk.Settings.get_for_display], but in many cases, it is more
39// convenient to use [method@Gtk.Widget.get_settings].
40type Settings struct {
41 gobject.Object
42}
43
44var xSettingsGLibType func() types.GType
45
46func SettingsGLibType() types.GType {
47 return xSettingsGLibType()
48}
49
50func SettingsNewFromInternalPtr(ptr uintptr) *Settings {
51 cls := &Settings{}
52 cls.Ptr = ptr
53 return cls
54}
55
56var xSettingsResetProperty func(uintptr, string)
57
58// Undoes the effect of calling g_object_set() to install an
59// application-specific value for a setting.
60//
61// After this call, the setting will again follow the session-wide
62// value for this setting.
63func (x *Settings) ResetProperty(NameVar string) {
64
65 xSettingsResetProperty(x.GoPointer(), NameVar)
66
67}
68
69func (c *Settings) GoPointer() uintptr {
70 if c == nil {
71 return 0
72 }
73 return c.Ptr
74}
75
76func (c *Settings) SetGoPointer(ptr uintptr) {
77 c.Ptr = ptr
78}
79
80// SetPropertyGtkAlternativeButtonOrder sets the "gtk-alternative-button-order" property.
81// Whether buttons in dialogs should use the alternative button order.
82func (x *Settings) SetPropertyGtkAlternativeButtonOrder(value bool) {
83 var v gobject.Value
84 v.Init(gobject.TypeBooleanVal)
85 v.SetBoolean(value)
86 x.SetProperty("gtk-alternative-button-order", &v)
87}
88
89// GetPropertyGtkAlternativeButtonOrder gets the "gtk-alternative-button-order" property.
90// Whether buttons in dialogs should use the alternative button order.
91func (x *Settings) GetPropertyGtkAlternativeButtonOrder() bool {
92 var v gobject.Value
93 x.GetProperty("gtk-alternative-button-order", &v)
94 return v.GetBoolean()
95}
96
97// SetPropertyGtkAlternativeSortArrows sets the "gtk-alternative-sort-arrows" property.
98// Controls the direction of the sort indicators in sorted list and tree
99// views.
100//
101// By default an arrow pointing down means the column is sorted
102// in ascending order. When set to %TRUE, this order will be inverted.
103func (x *Settings) SetPropertyGtkAlternativeSortArrows(value bool) {
104 var v gobject.Value
105 v.Init(gobject.TypeBooleanVal)
106 v.SetBoolean(value)
107 x.SetProperty("gtk-alternative-sort-arrows", &v)
108}
109
110// GetPropertyGtkAlternativeSortArrows gets the "gtk-alternative-sort-arrows" property.
111// Controls the direction of the sort indicators in sorted list and tree
112// views.
113//
114// By default an arrow pointing down means the column is sorted
115// in ascending order. When set to %TRUE, this order will be inverted.
116func (x *Settings) GetPropertyGtkAlternativeSortArrows() bool {
117 var v gobject.Value
118 x.GetProperty("gtk-alternative-sort-arrows", &v)
119 return v.GetBoolean()
120}
121
122// SetPropertyGtkApplicationPreferDarkTheme sets the "gtk-application-prefer-dark-theme" property.
123// Whether the application prefers to use a dark theme.
124//
125// If a GTK theme includes a dark variant, it will be used
126// instead of the configured theme.
127//
128// Some applications benefit from minimizing the amount of light
129// pollution that interferes with the content. Good candidates for
130// dark themes are photo and video editors that make the actual
131// content get all the attention and minimize the distraction of
132// the chrome.
133//
134// Dark themes should not be used for documents, where large spaces
135// are white/light and the dark chrome creates too much contrast
136// (web browser, text editor...).
137func (x *Settings) SetPropertyGtkApplicationPreferDarkTheme(value bool) {
138 var v gobject.Value
139 v.Init(gobject.TypeBooleanVal)
140 v.SetBoolean(value)
141 x.SetProperty("gtk-application-prefer-dark-theme", &v)
142}
143
144// GetPropertyGtkApplicationPreferDarkTheme gets the "gtk-application-prefer-dark-theme" property.
145// Whether the application prefers to use a dark theme.
146//
147// If a GTK theme includes a dark variant, it will be used
148// instead of the configured theme.
149//
150// Some applications benefit from minimizing the amount of light
151// pollution that interferes with the content. Good candidates for
152// dark themes are photo and video editors that make the actual
153// content get all the attention and minimize the distraction of
154// the chrome.
155//
156// Dark themes should not be used for documents, where large spaces
157// are white/light and the dark chrome creates too much contrast
158// (web browser, text editor...).
159func (x *Settings) GetPropertyGtkApplicationPreferDarkTheme() bool {
160 var v gobject.Value
161 x.GetProperty("gtk-application-prefer-dark-theme", &v)
162 return v.GetBoolean()
163}
164
165// SetPropertyGtkCursorAspectRatio sets the "gtk-cursor-aspect-ratio" property.
166// The aspect ratio of the text caret.
167func (x *Settings) SetPropertyGtkCursorAspectRatio(value float64) {
168 var v gobject.Value
169 v.Init(gobject.TypeDoubleVal)
170 v.SetDouble(value)
171 x.SetProperty("gtk-cursor-aspect-ratio", &v)
172}
173
174// GetPropertyGtkCursorAspectRatio gets the "gtk-cursor-aspect-ratio" property.
175// The aspect ratio of the text caret.
176func (x *Settings) GetPropertyGtkCursorAspectRatio() float64 {
177 var v gobject.Value
178 x.GetProperty("gtk-cursor-aspect-ratio", &v)
179 return v.GetDouble()
180}
181
182// SetPropertyGtkCursorBlink sets the "gtk-cursor-blink" property.
183// Whether the cursor should blink.
184//
185// Also see the [property@Gtk.Settings:gtk-cursor-blink-timeout] setting,
186// which allows more flexible control over cursor blinking.
187func (x *Settings) SetPropertyGtkCursorBlink(value bool) {
188 var v gobject.Value
189 v.Init(gobject.TypeBooleanVal)
190 v.SetBoolean(value)
191 x.SetProperty("gtk-cursor-blink", &v)
192}
193
194// GetPropertyGtkCursorBlink gets the "gtk-cursor-blink" property.
195// Whether the cursor should blink.
196//
197// Also see the [property@Gtk.Settings:gtk-cursor-blink-timeout] setting,
198// which allows more flexible control over cursor blinking.
199func (x *Settings) GetPropertyGtkCursorBlink() bool {
200 var v gobject.Value
201 x.GetProperty("gtk-cursor-blink", &v)
202 return v.GetBoolean()
203}
204
205// SetPropertyGtkCursorBlinkTime sets the "gtk-cursor-blink-time" property.
206// Length of the cursor blink cycle, in milliseconds.
207func (x *Settings) SetPropertyGtkCursorBlinkTime(value int) {
208 var v gobject.Value
209 v.Init(gobject.TypeIntVal)
210 v.SetInt(value)
211 x.SetProperty("gtk-cursor-blink-time", &v)
212}
213
214// GetPropertyGtkCursorBlinkTime gets the "gtk-cursor-blink-time" property.
215// Length of the cursor blink cycle, in milliseconds.
216func (x *Settings) GetPropertyGtkCursorBlinkTime() int {
217 var v gobject.Value
218 x.GetProperty("gtk-cursor-blink-time", &v)
219 return v.GetInt()
220}
221
222// SetPropertyGtkCursorBlinkTimeout sets the "gtk-cursor-blink-timeout" property.
223// Time after which the cursor stops blinking, in seconds.
224//
225// The timer is reset after each user interaction.
226//
227// Setting this to zero has the same effect as setting
228// [property@Gtk.Settings:gtk-cursor-blink] to %FALSE.
229func (x *Settings) SetPropertyGtkCursorBlinkTimeout(value int) {
230 var v gobject.Value
231 v.Init(gobject.TypeIntVal)
232 v.SetInt(value)
233 x.SetProperty("gtk-cursor-blink-timeout", &v)
234}
235
236// GetPropertyGtkCursorBlinkTimeout gets the "gtk-cursor-blink-timeout" property.
237// Time after which the cursor stops blinking, in seconds.
238//
239// The timer is reset after each user interaction.
240//
241// Setting this to zero has the same effect as setting
242// [property@Gtk.Settings:gtk-cursor-blink] to %FALSE.
243func (x *Settings) GetPropertyGtkCursorBlinkTimeout() int {
244 var v gobject.Value
245 x.GetProperty("gtk-cursor-blink-timeout", &v)
246 return v.GetInt()
247}
248
249// SetPropertyGtkCursorThemeName sets the "gtk-cursor-theme-name" property.
250// Name of the cursor theme to use.
251//
252// Use %NULL to use the default theme.
253func (x *Settings) SetPropertyGtkCursorThemeName(value string) {
254 var v gobject.Value
255 v.Init(gobject.TypeStringVal)
256 v.SetString(&value)
257 x.SetProperty("gtk-cursor-theme-name", &v)
258}
259
260// GetPropertyGtkCursorThemeName gets the "gtk-cursor-theme-name" property.
261// Name of the cursor theme to use.
262//
263// Use %NULL to use the default theme.
264func (x *Settings) GetPropertyGtkCursorThemeName() string {
265 var v gobject.Value
266 x.GetProperty("gtk-cursor-theme-name", &v)
267 return v.GetString()
268}
269
270// SetPropertyGtkCursorThemeSize sets the "gtk-cursor-theme-size" property.
271// The size to use for cursors.
272//
273// 0 means to use the default size.
274func (x *Settings) SetPropertyGtkCursorThemeSize(value int) {
275 var v gobject.Value
276 v.Init(gobject.TypeIntVal)
277 v.SetInt(value)
278 x.SetProperty("gtk-cursor-theme-size", &v)
279}
280
281// GetPropertyGtkCursorThemeSize gets the "gtk-cursor-theme-size" property.
282// The size to use for cursors.
283//
284// 0 means to use the default size.
285func (x *Settings) GetPropertyGtkCursorThemeSize() int {
286 var v gobject.Value
287 x.GetProperty("gtk-cursor-theme-size", &v)
288 return v.GetInt()
289}
290
291// SetPropertyGtkDecorationLayout sets the "gtk-decoration-layout" property.
292// Determines which buttons should be put in the
293// titlebar of client-side decorated windows, and whether they
294// should be placed on the left or right.
295//
296// The format of the string is button names, separated by commas.
297// A colon separates the buttons that should appear on the left
298// from those on the right. Recognized button names are minimize,
299// maximize, close, icon (the window icon) and menu (a menu button
300// for the fallback app menu).
301//
302// For example, "menu:minimize,maximize,close" specifies a menu
303// on the left, and minimize, maximize and close buttons on the right.
304//
305// Note that buttons will only be shown when they are meaningful.
306// E.g. a menu button only appears when the desktop shell does not
307// show the app menu, and a close button only appears on a window
308// that can be closed.
309//
310// Also note that the setting can be overridden with the
311// [property@Gtk.HeaderBar:decoration-layout] property.
312func (x *Settings) SetPropertyGtkDecorationLayout(value string) {
313 var v gobject.Value
314 v.Init(gobject.TypeStringVal)
315 v.SetString(&value)
316 x.SetProperty("gtk-decoration-layout", &v)
317}
318
319// GetPropertyGtkDecorationLayout gets the "gtk-decoration-layout" property.
320// Determines which buttons should be put in the
321// titlebar of client-side decorated windows, and whether they
322// should be placed on the left or right.
323//
324// The format of the string is button names, separated by commas.
325// A colon separates the buttons that should appear on the left
326// from those on the right. Recognized button names are minimize,
327// maximize, close, icon (the window icon) and menu (a menu button
328// for the fallback app menu).
329//
330// For example, "menu:minimize,maximize,close" specifies a menu
331// on the left, and minimize, maximize and close buttons on the right.
332//
333// Note that buttons will only be shown when they are meaningful.
334// E.g. a menu button only appears when the desktop shell does not
335// show the app menu, and a close button only appears on a window
336// that can be closed.
337//
338// Also note that the setting can be overridden with the
339// [property@Gtk.HeaderBar:decoration-layout] property.
340func (x *Settings) GetPropertyGtkDecorationLayout() string {
341 var v gobject.Value
342 x.GetProperty("gtk-decoration-layout", &v)
343 return v.GetString()
344}
345
346// SetPropertyGtkDialogsUseHeader sets the "gtk-dialogs-use-header" property.
347// Whether builtin GTK dialogs such as the file chooser, the
348// color chooser or the font chooser will use a header bar at
349// the top to show action widgets, or an action area at the bottom.
350//
351// This setting does not affect custom dialogs using `GtkDialog`
352// directly, or message dialogs.
353func (x *Settings) SetPropertyGtkDialogsUseHeader(value bool) {
354 var v gobject.Value
355 v.Init(gobject.TypeBooleanVal)
356 v.SetBoolean(value)
357 x.SetProperty("gtk-dialogs-use-header", &v)
358}
359
360// GetPropertyGtkDialogsUseHeader gets the "gtk-dialogs-use-header" property.
361// Whether builtin GTK dialogs such as the file chooser, the
362// color chooser or the font chooser will use a header bar at
363// the top to show action widgets, or an action area at the bottom.
364//
365// This setting does not affect custom dialogs using `GtkDialog`
366// directly, or message dialogs.
367func (x *Settings) GetPropertyGtkDialogsUseHeader() bool {
368 var v gobject.Value
369 x.GetProperty("gtk-dialogs-use-header", &v)
370 return v.GetBoolean()
371}
372
373// SetPropertyGtkDndDragThreshold sets the "gtk-dnd-drag-threshold" property.
374// The number of pixels the cursor can move before dragging.
375func (x *Settings) SetPropertyGtkDndDragThreshold(value int) {
376 var v gobject.Value
377 v.Init(gobject.TypeIntVal)
378 v.SetInt(value)
379 x.SetProperty("gtk-dnd-drag-threshold", &v)
380}
381
382// GetPropertyGtkDndDragThreshold gets the "gtk-dnd-drag-threshold" property.
383// The number of pixels the cursor can move before dragging.
384func (x *Settings) GetPropertyGtkDndDragThreshold() int {
385 var v gobject.Value
386 x.GetProperty("gtk-dnd-drag-threshold", &v)
387 return v.GetInt()
388}
389
390// SetPropertyGtkDoubleClickDistance sets the "gtk-double-click-distance" property.
391// The maximum distance allowed between two clicks for them to be considered
392// a double click, in pixels.
393func (x *Settings) SetPropertyGtkDoubleClickDistance(value int) {
394 var v gobject.Value
395 v.Init(gobject.TypeIntVal)
396 v.SetInt(value)
397 x.SetProperty("gtk-double-click-distance", &v)
398}
399
400// GetPropertyGtkDoubleClickDistance gets the "gtk-double-click-distance" property.
401// The maximum distance allowed between two clicks for them to be considered
402// a double click, in pixels.
403func (x *Settings) GetPropertyGtkDoubleClickDistance() int {
404 var v gobject.Value
405 x.GetProperty("gtk-double-click-distance", &v)
406 return v.GetInt()
407}
408
409// SetPropertyGtkDoubleClickTime sets the "gtk-double-click-time" property.
410// The maximum time to allow between two clicks for them to be considered
411// a double click, in milliseconds.
412func (x *Settings) SetPropertyGtkDoubleClickTime(value int) {
413 var v gobject.Value
414 v.Init(gobject.TypeIntVal)
415 v.SetInt(value)
416 x.SetProperty("gtk-double-click-time", &v)
417}
418
419// GetPropertyGtkDoubleClickTime gets the "gtk-double-click-time" property.
420// The maximum time to allow between two clicks for them to be considered
421// a double click, in milliseconds.
422func (x *Settings) GetPropertyGtkDoubleClickTime() int {
423 var v gobject.Value
424 x.GetProperty("gtk-double-click-time", &v)
425 return v.GetInt()
426}
427
428// SetPropertyGtkEnableAccels sets the "gtk-enable-accels" property.
429// Whether menu items should have visible accelerators which can be
430// activated.
431func (x *Settings) SetPropertyGtkEnableAccels(value bool) {
432 var v gobject.Value
433 v.Init(gobject.TypeBooleanVal)
434 v.SetBoolean(value)
435 x.SetProperty("gtk-enable-accels", &v)
436}
437
438// GetPropertyGtkEnableAccels gets the "gtk-enable-accels" property.
439// Whether menu items should have visible accelerators which can be
440// activated.
441func (x *Settings) GetPropertyGtkEnableAccels() bool {
442 var v gobject.Value
443 x.GetProperty("gtk-enable-accels", &v)
444 return v.GetBoolean()
445}
446
447// SetPropertyGtkEnableAnimations sets the "gtk-enable-animations" property.
448// Whether to enable toolkit-wide animations.
449func (x *Settings) SetPropertyGtkEnableAnimations(value bool) {
450 var v gobject.Value
451 v.Init(gobject.TypeBooleanVal)
452 v.SetBoolean(value)
453 x.SetProperty("gtk-enable-animations", &v)
454}
455
456// GetPropertyGtkEnableAnimations gets the "gtk-enable-animations" property.
457// Whether to enable toolkit-wide animations.
458func (x *Settings) GetPropertyGtkEnableAnimations() bool {
459 var v gobject.Value
460 x.GetProperty("gtk-enable-animations", &v)
461 return v.GetBoolean()
462}
463
464// SetPropertyGtkEnableEventSounds sets the "gtk-enable-event-sounds" property.
465// Whether to play any event sounds at all.
466//
467// See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
468// for more information on event sounds and sound themes.
469//
470// GTK itself does not support event sounds, you have to use a loadable
471// module like the one that comes with libcanberra.
472func (x *Settings) SetPropertyGtkEnableEventSounds(value bool) {
473 var v gobject.Value
474 v.Init(gobject.TypeBooleanVal)
475 v.SetBoolean(value)
476 x.SetProperty("gtk-enable-event-sounds", &v)
477}
478
479// GetPropertyGtkEnableEventSounds gets the "gtk-enable-event-sounds" property.
480// Whether to play any event sounds at all.
481//
482// See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
483// for more information on event sounds and sound themes.
484//
485// GTK itself does not support event sounds, you have to use a loadable
486// module like the one that comes with libcanberra.
487func (x *Settings) GetPropertyGtkEnableEventSounds() bool {
488 var v gobject.Value
489 x.GetProperty("gtk-enable-event-sounds", &v)
490 return v.GetBoolean()
491}
492
493// SetPropertyGtkEnableInputFeedbackSounds sets the "gtk-enable-input-feedback-sounds" property.
494// Whether to play event sounds as feedback to user input.
495//
496// See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
497// for more information on event sounds and sound themes.
498//
499// GTK itself does not support event sounds, you have to use a loadable
500// module like the one that comes with libcanberra.
501func (x *Settings) SetPropertyGtkEnableInputFeedbackSounds(value bool) {
502 var v gobject.Value
503 v.Init(gobject.TypeBooleanVal)
504 v.SetBoolean(value)
505 x.SetProperty("gtk-enable-input-feedback-sounds", &v)
506}
507
508// GetPropertyGtkEnableInputFeedbackSounds gets the "gtk-enable-input-feedback-sounds" property.
509// Whether to play event sounds as feedback to user input.
510//
511// See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
512// for more information on event sounds and sound themes.
513//
514// GTK itself does not support event sounds, you have to use a loadable
515// module like the one that comes with libcanberra.
516func (x *Settings) GetPropertyGtkEnableInputFeedbackSounds() bool {
517 var v gobject.Value
518 x.GetProperty("gtk-enable-input-feedback-sounds", &v)
519 return v.GetBoolean()
520}
521
522// SetPropertyGtkEnablePrimaryPaste sets the "gtk-enable-primary-paste" property.
523// Whether a middle click on a mouse should paste the
524// 'PRIMARY' clipboard content at the cursor location.
525func (x *Settings) SetPropertyGtkEnablePrimaryPaste(value bool) {
526 var v gobject.Value
527 v.Init(gobject.TypeBooleanVal)
528 v.SetBoolean(value)
529 x.SetProperty("gtk-enable-primary-paste", &v)
530}
531
532// GetPropertyGtkEnablePrimaryPaste gets the "gtk-enable-primary-paste" property.
533// Whether a middle click on a mouse should paste the
534// 'PRIMARY' clipboard content at the cursor location.
535func (x *Settings) GetPropertyGtkEnablePrimaryPaste() bool {
536 var v gobject.Value
537 x.GetProperty("gtk-enable-primary-paste", &v)
538 return v.GetBoolean()
539}
540
541// SetPropertyGtkEntryPasswordHintTimeout sets the "gtk-entry-password-hint-timeout" property.
542// How long to show the last input character in hidden
543// entries.
544//
545// This value is in milliseconds. 0 disables showing the
546// last char. 600 is a good value for enabling it.
547func (x *Settings) SetPropertyGtkEntryPasswordHintTimeout(value uint) {
548 var v gobject.Value
549 v.Init(gobject.TypeUintVal)
550 v.SetUint(value)
551 x.SetProperty("gtk-entry-password-hint-timeout", &v)
552}
553
554// GetPropertyGtkEntryPasswordHintTimeout gets the "gtk-entry-password-hint-timeout" property.
555// How long to show the last input character in hidden
556// entries.
557//
558// This value is in milliseconds. 0 disables showing the
559// last char. 600 is a good value for enabling it.
560func (x *Settings) GetPropertyGtkEntryPasswordHintTimeout() uint {
561 var v gobject.Value
562 x.GetProperty("gtk-entry-password-hint-timeout", &v)
563 return v.GetUint()
564}
565
566// SetPropertyGtkEntrySelectOnFocus sets the "gtk-entry-select-on-focus" property.
567// Whether to select the contents of an entry when it is focused.
568func (x *Settings) SetPropertyGtkEntrySelectOnFocus(value bool) {
569 var v gobject.Value
570 v.Init(gobject.TypeBooleanVal)
571 v.SetBoolean(value)
572 x.SetProperty("gtk-entry-select-on-focus", &v)
573}
574
575// GetPropertyGtkEntrySelectOnFocus gets the "gtk-entry-select-on-focus" property.
576// Whether to select the contents of an entry when it is focused.
577func (x *Settings) GetPropertyGtkEntrySelectOnFocus() bool {
578 var v gobject.Value
579 x.GetProperty("gtk-entry-select-on-focus", &v)
580 return v.GetBoolean()
581}
582
583// SetPropertyGtkErrorBell sets the "gtk-error-bell" property.
584// When %TRUE, keyboard navigation and other input-related errors
585// will cause a beep.
586//
587// Since the error bell is implemented using gdk_surface_beep(), the
588// windowing system may offer ways to configure the error bell in many
589// ways, such as flashing the window or similar visual effects.
590func (x *Settings) SetPropertyGtkErrorBell(value bool) {
591 var v gobject.Value
592 v.Init(gobject.TypeBooleanVal)
593 v.SetBoolean(value)
594 x.SetProperty("gtk-error-bell", &v)
595}
596
597// GetPropertyGtkErrorBell gets the "gtk-error-bell" property.
598// When %TRUE, keyboard navigation and other input-related errors
599// will cause a beep.
600//
601// Since the error bell is implemented using gdk_surface_beep(), the
602// windowing system may offer ways to configure the error bell in many
603// ways, such as flashing the window or similar visual effects.
604func (x *Settings) GetPropertyGtkErrorBell() bool {
605 var v gobject.Value
606 x.GetProperty("gtk-error-bell", &v)
607 return v.GetBoolean()
608}
609
610// SetPropertyGtkFontName sets the "gtk-font-name" property.
611// The default font to use.
612//
613// GTK uses the family name and size from this string.
614func (x *Settings) SetPropertyGtkFontName(value string) {
615 var v gobject.Value
616 v.Init(gobject.TypeStringVal)
617 v.SetString(&value)
618 x.SetProperty("gtk-font-name", &v)
619}
620
621// GetPropertyGtkFontName gets the "gtk-font-name" property.
622// The default font to use.
623//
624// GTK uses the family name and size from this string.
625func (x *Settings) GetPropertyGtkFontName() string {
626 var v gobject.Value
627 x.GetProperty("gtk-font-name", &v)
628 return v.GetString()
629}
630
631// SetPropertyGtkFontconfigTimestamp sets the "gtk-fontconfig-timestamp" property.
632// Timestamp of the current fontconfig configuration.
633func (x *Settings) SetPropertyGtkFontconfigTimestamp(value uint) {
634 var v gobject.Value
635 v.Init(gobject.TypeUintVal)
636 v.SetUint(value)
637 x.SetProperty("gtk-fontconfig-timestamp", &v)
638}
639
640// GetPropertyGtkFontconfigTimestamp gets the "gtk-fontconfig-timestamp" property.
641// Timestamp of the current fontconfig configuration.
642func (x *Settings) GetPropertyGtkFontconfigTimestamp() uint {
643 var v gobject.Value
644 x.GetProperty("gtk-fontconfig-timestamp", &v)
645 return v.GetUint()
646}
647
648// SetPropertyGtkHintFontMetrics sets the "gtk-hint-font-metrics" property.
649// Whether hinting should be applied to font metrics.
650//
651// Note that this also turns off subpixel positioning of glyphs,
652// since it conflicts with metrics hinting.
653func (x *Settings) SetPropertyGtkHintFontMetrics(value bool) {
654 var v gobject.Value
655 v.Init(gobject.TypeBooleanVal)
656 v.SetBoolean(value)
657 x.SetProperty("gtk-hint-font-metrics", &v)
658}
659
660// GetPropertyGtkHintFontMetrics gets the "gtk-hint-font-metrics" property.
661// Whether hinting should be applied to font metrics.
662//
663// Note that this also turns off subpixel positioning of glyphs,
664// since it conflicts with metrics hinting.
665func (x *Settings) GetPropertyGtkHintFontMetrics() bool {
666 var v gobject.Value
667 x.GetProperty("gtk-hint-font-metrics", &v)
668 return v.GetBoolean()
669}
670
671// SetPropertyGtkIconThemeName sets the "gtk-icon-theme-name" property.
672// Name of the icon theme to use.
673//
674// See [class@Gtk.IconTheme] for details about how
675// GTK handles icon themes.
676func (x *Settings) SetPropertyGtkIconThemeName(value string) {
677 var v gobject.Value
678 v.Init(gobject.TypeStringVal)
679 v.SetString(&value)
680 x.SetProperty("gtk-icon-theme-name", &v)
681}
682
683// GetPropertyGtkIconThemeName gets the "gtk-icon-theme-name" property.
684// Name of the icon theme to use.
685//
686// See [class@Gtk.IconTheme] for details about how
687// GTK handles icon themes.
688func (x *Settings) GetPropertyGtkIconThemeName() string {
689 var v gobject.Value
690 x.GetProperty("gtk-icon-theme-name", &v)
691 return v.GetString()
692}
693
694// SetPropertyGtkImModule sets the "gtk-im-module" property.
695// Which IM (input method) module should be used by default.
696//
697// This is the input method that will be used if the user has not
698// explicitly chosen another input method from the IM context menu.
699// This also can be a colon-separated list of input methods, which GTK
700// will try in turn until it finds one available on the system.
701//
702// See [class@Gtk.IMContext].
703func (x *Settings) SetPropertyGtkImModule(value string) {
704 var v gobject.Value
705 v.Init(gobject.TypeStringVal)
706 v.SetString(&value)
707 x.SetProperty("gtk-im-module", &v)
708}
709
710// GetPropertyGtkImModule gets the "gtk-im-module" property.
711// Which IM (input method) module should be used by default.
712//
713// This is the input method that will be used if the user has not
714// explicitly chosen another input method from the IM context menu.
715// This also can be a colon-separated list of input methods, which GTK
716// will try in turn until it finds one available on the system.
717//
718// See [class@Gtk.IMContext].
719func (x *Settings) GetPropertyGtkImModule() string {
720 var v gobject.Value
721 x.GetProperty("gtk-im-module", &v)
722 return v.GetString()
723}
724
725// SetPropertyGtkKeynavUseCaret sets the "gtk-keynav-use-caret" property.
726// Whether GTK should make sure that text can be navigated with
727// a caret, even if it is not editable.
728//
729// This is useful when using a screen reader.
730func (x *Settings) SetPropertyGtkKeynavUseCaret(value bool) {
731 var v gobject.Value
732 v.Init(gobject.TypeBooleanVal)
733 v.SetBoolean(value)
734 x.SetProperty("gtk-keynav-use-caret", &v)
735}
736
737// GetPropertyGtkKeynavUseCaret gets the "gtk-keynav-use-caret" property.
738// Whether GTK should make sure that text can be navigated with
739// a caret, even if it is not editable.
740//
741// This is useful when using a screen reader.
742func (x *Settings) GetPropertyGtkKeynavUseCaret() bool {
743 var v gobject.Value
744 x.GetProperty("gtk-keynav-use-caret", &v)
745 return v.GetBoolean()
746}
747
748// SetPropertyGtkLabelSelectOnFocus sets the "gtk-label-select-on-focus" property.
749// Whether to select the contents of a selectable
750// label when it is focused.
751func (x *Settings) SetPropertyGtkLabelSelectOnFocus(value bool) {
752 var v gobject.Value
753 v.Init(gobject.TypeBooleanVal)
754 v.SetBoolean(value)
755 x.SetProperty("gtk-label-select-on-focus", &v)
756}
757
758// GetPropertyGtkLabelSelectOnFocus gets the "gtk-label-select-on-focus" property.
759// Whether to select the contents of a selectable
760// label when it is focused.
761func (x *Settings) GetPropertyGtkLabelSelectOnFocus() bool {
762 var v gobject.Value
763 x.GetProperty("gtk-label-select-on-focus", &v)
764 return v.GetBoolean()
765}
766
767// SetPropertyGtkLongPressTime sets the "gtk-long-press-time" property.
768// The time for a button or touch press to be considered a “long press”.
769//
770// See [class@Gtk.GestureLongPress].
771func (x *Settings) SetPropertyGtkLongPressTime(value uint) {
772 var v gobject.Value
773 v.Init(gobject.TypeUintVal)
774 v.SetUint(value)
775 x.SetProperty("gtk-long-press-time", &v)
776}
777
778// GetPropertyGtkLongPressTime gets the "gtk-long-press-time" property.
779// The time for a button or touch press to be considered a “long press”.
780//
781// See [class@Gtk.GestureLongPress].
782func (x *Settings) GetPropertyGtkLongPressTime() uint {
783 var v gobject.Value
784 x.GetProperty("gtk-long-press-time", &v)
785 return v.GetUint()
786}
787
788// SetPropertyGtkOverlayScrolling sets the "gtk-overlay-scrolling" property.
789// Whether scrolled windows may use overlaid scrolling indicators.
790//
791// If this is set to %FALSE, scrolled windows will have permanent
792// scrollbars.
793func (x *Settings) SetPropertyGtkOverlayScrolling(value bool) {
794 var v gobject.Value
795 v.Init(gobject.TypeBooleanVal)
796 v.SetBoolean(value)
797 x.SetProperty("gtk-overlay-scrolling", &v)
798}
799
800// GetPropertyGtkOverlayScrolling gets the "gtk-overlay-scrolling" property.
801// Whether scrolled windows may use overlaid scrolling indicators.
802//
803// If this is set to %FALSE, scrolled windows will have permanent
804// scrollbars.
805func (x *Settings) GetPropertyGtkOverlayScrolling() bool {
806 var v gobject.Value
807 x.GetProperty("gtk-overlay-scrolling", &v)
808 return v.GetBoolean()
809}
810
811// SetPropertyGtkPrimaryButtonWarpsSlider sets the "gtk-primary-button-warps-slider" property.
812// If the value of this setting is %TRUE, clicking the primary button in a
813// `GtkRange` trough will move the slider, and hence set the range’s value, to
814// the point that you clicked.
815//
816// If it is %FALSE, a primary click will cause the slider/value to move
817// by the range’s page-size towards the point clicked.
818//
819// Whichever action you choose for the primary button, the other action will
820// be available by holding Shift and primary-clicking, or clicking the middle
821// mouse button.
822func (x *Settings) SetPropertyGtkPrimaryButtonWarpsSlider(value bool) {
823 var v gobject.Value
824 v.Init(gobject.TypeBooleanVal)
825 v.SetBoolean(value)
826 x.SetProperty("gtk-primary-button-warps-slider", &v)
827}
828
829// GetPropertyGtkPrimaryButtonWarpsSlider gets the "gtk-primary-button-warps-slider" property.
830// If the value of this setting is %TRUE, clicking the primary button in a
831// `GtkRange` trough will move the slider, and hence set the range’s value, to
832// the point that you clicked.
833//
834// If it is %FALSE, a primary click will cause the slider/value to move
835// by the range’s page-size towards the point clicked.
836//
837// Whichever action you choose for the primary button, the other action will
838// be available by holding Shift and primary-clicking, or clicking the middle
839// mouse button.
840func (x *Settings) GetPropertyGtkPrimaryButtonWarpsSlider() bool {
841 var v gobject.Value
842 x.GetProperty("gtk-primary-button-warps-slider", &v)
843 return v.GetBoolean()
844}
845
846// SetPropertyGtkPrintBackends sets the "gtk-print-backends" property.
847// A comma-separated list of print backends to use in the print
848// dialog.
849//
850// Available print backends depend on the GTK installation,
851// and may include "file", "cups", "lpr" or "papi".
852func (x *Settings) SetPropertyGtkPrintBackends(value string) {
853 var v gobject.Value
854 v.Init(gobject.TypeStringVal)
855 v.SetString(&value)
856 x.SetProperty("gtk-print-backends", &v)
857}
858
859// GetPropertyGtkPrintBackends gets the "gtk-print-backends" property.
860// A comma-separated list of print backends to use in the print
861// dialog.
862//
863// Available print backends depend on the GTK installation,
864// and may include "file", "cups", "lpr" or "papi".
865func (x *Settings) GetPropertyGtkPrintBackends() string {
866 var v gobject.Value
867 x.GetProperty("gtk-print-backends", &v)
868 return v.GetString()
869}
870
871// SetPropertyGtkPrintPreviewCommand sets the "gtk-print-preview-command" property.
872// A command to run for displaying the print preview.
873//
874// The command should contain a `%f` placeholder, which will get
875// replaced by the path to the pdf file. The command may also
876// contain a `%s` placeholder, which will get replaced by the
877// path to a file containing the print settings in the format
878// produced by [method@Gtk.PrintSettings.to_file].
879//
880// The preview application is responsible for removing the pdf
881// file and the print settings file when it is done.
882func (x *Settings) SetPropertyGtkPrintPreviewCommand(value string) {
883 var v gobject.Value
884 v.Init(gobject.TypeStringVal)
885 v.SetString(&value)
886 x.SetProperty("gtk-print-preview-command", &v)
887}
888
889// GetPropertyGtkPrintPreviewCommand gets the "gtk-print-preview-command" property.
890// A command to run for displaying the print preview.
891//
892// The command should contain a `%f` placeholder, which will get
893// replaced by the path to the pdf file. The command may also
894// contain a `%s` placeholder, which will get replaced by the
895// path to a file containing the print settings in the format
896// produced by [method@Gtk.PrintSettings.to_file].
897//
898// The preview application is responsible for removing the pdf
899// file and the print settings file when it is done.
900func (x *Settings) GetPropertyGtkPrintPreviewCommand() string {
901 var v gobject.Value
902 x.GetProperty("gtk-print-preview-command", &v)
903 return v.GetString()
904}
905
906// SetPropertyGtkRecentFilesEnabled sets the "gtk-recent-files-enabled" property.
907// Whether GTK should keep track of items inside the recently used
908// resources list.
909//
910// If set to %FALSE, the list will always be empty.
911func (x *Settings) SetPropertyGtkRecentFilesEnabled(value bool) {
912 var v gobject.Value
913 v.Init(gobject.TypeBooleanVal)
914 v.SetBoolean(value)
915 x.SetProperty("gtk-recent-files-enabled", &v)
916}
917
918// GetPropertyGtkRecentFilesEnabled gets the "gtk-recent-files-enabled" property.
919// Whether GTK should keep track of items inside the recently used
920// resources list.
921//
922// If set to %FALSE, the list will always be empty.
923func (x *Settings) GetPropertyGtkRecentFilesEnabled() bool {
924 var v gobject.Value
925 x.GetProperty("gtk-recent-files-enabled", &v)
926 return v.GetBoolean()
927}
928
929// SetPropertyGtkRecentFilesMaxAge sets the "gtk-recent-files-max-age" property.
930// The maximum age, in days, of the items inside the recently used
931// resources list.
932//
933// Items older than this setting will be excised from the list.
934// If set to 0, the list will always be empty; if set to -1, no
935// item will be removed.
936func (x *Settings) SetPropertyGtkRecentFilesMaxAge(value int) {
937 var v gobject.Value
938 v.Init(gobject.TypeIntVal)
939 v.SetInt(value)
940 x.SetProperty("gtk-recent-files-max-age", &v)
941}
942
943// GetPropertyGtkRecentFilesMaxAge gets the "gtk-recent-files-max-age" property.
944// The maximum age, in days, of the items inside the recently used
945// resources list.
946//
947// Items older than this setting will be excised from the list.
948// If set to 0, the list will always be empty; if set to -1, no
949// item will be removed.
950func (x *Settings) GetPropertyGtkRecentFilesMaxAge() int {
951 var v gobject.Value
952 x.GetProperty("gtk-recent-files-max-age", &v)
953 return v.GetInt()
954}
955
956// SetPropertyGtkShellShowsAppMenu sets the "gtk-shell-shows-app-menu" property.
957// Set to %TRUE if the desktop environment is displaying
958// the app menu, %FALSE if the app should display it itself.
959func (x *Settings) SetPropertyGtkShellShowsAppMenu(value bool) {
960 var v gobject.Value
961 v.Init(gobject.TypeBooleanVal)
962 v.SetBoolean(value)
963 x.SetProperty("gtk-shell-shows-app-menu", &v)
964}
965
966// GetPropertyGtkShellShowsAppMenu gets the "gtk-shell-shows-app-menu" property.
967// Set to %TRUE if the desktop environment is displaying
968// the app menu, %FALSE if the app should display it itself.
969func (x *Settings) GetPropertyGtkShellShowsAppMenu() bool {
970 var v gobject.Value
971 x.GetProperty("gtk-shell-shows-app-menu", &v)
972 return v.GetBoolean()
973}
974
975// SetPropertyGtkShellShowsDesktop sets the "gtk-shell-shows-desktop" property.
976// Set to %TRUE if the desktop environment is displaying
977// the desktop folder, %FALSE if not.
978func (x *Settings) SetPropertyGtkShellShowsDesktop(value bool) {
979 var v gobject.Value
980 v.Init(gobject.TypeBooleanVal)
981 v.SetBoolean(value)
982 x.SetProperty("gtk-shell-shows-desktop", &v)
983}
984
985// GetPropertyGtkShellShowsDesktop gets the "gtk-shell-shows-desktop" property.
986// Set to %TRUE if the desktop environment is displaying
987// the desktop folder, %FALSE if not.
988func (x *Settings) GetPropertyGtkShellShowsDesktop() bool {
989 var v gobject.Value
990 x.GetProperty("gtk-shell-shows-desktop", &v)
991 return v.GetBoolean()
992}
993
994// SetPropertyGtkShellShowsMenubar sets the "gtk-shell-shows-menubar" property.
995// Set to %TRUE if the desktop environment is displaying
996// the menubar, %FALSE if the app should display it itself.
997func (x *Settings) SetPropertyGtkShellShowsMenubar(value bool) {
998 var v gobject.Value
999 v.Init(gobject.TypeBooleanVal)
1000 v.SetBoolean(value)
1001 x.SetProperty("gtk-shell-shows-menubar", &v)
1002}
1003
1004// GetPropertyGtkShellShowsMenubar gets the "gtk-shell-shows-menubar" property.
1005// Set to %TRUE if the desktop environment is displaying
1006// the menubar, %FALSE if the app should display it itself.
1007func (x *Settings) GetPropertyGtkShellShowsMenubar() bool {
1008 var v gobject.Value
1009 x.GetProperty("gtk-shell-shows-menubar", &v)
1010 return v.GetBoolean()
1011}
1012
1013// SetPropertyGtkShowStatusShapes sets the "gtk-show-status-shapes" property.
1014// When %TRUE, widgets like switches include shapes to indicate their on/off state.
1015func (x *Settings) SetPropertyGtkShowStatusShapes(value bool) {
1016 var v gobject.Value
1017 v.Init(gobject.TypeBooleanVal)
1018 v.SetBoolean(value)
1019 x.SetProperty("gtk-show-status-shapes", &v)
1020}
1021
1022// GetPropertyGtkShowStatusShapes gets the "gtk-show-status-shapes" property.
1023// When %TRUE, widgets like switches include shapes to indicate their on/off state.
1024func (x *Settings) GetPropertyGtkShowStatusShapes() bool {
1025 var v gobject.Value
1026 x.GetProperty("gtk-show-status-shapes", &v)
1027 return v.GetBoolean()
1028}
1029
1030// SetPropertyGtkSoundThemeName sets the "gtk-sound-theme-name" property.
1031// The XDG sound theme to use for event sounds.
1032//
1033// See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
1034// for more information on event sounds and sound themes.
1035//
1036// GTK itself does not support event sounds, you have to use
1037// a loadable module like the one that comes with libcanberra.
1038func (x *Settings) SetPropertyGtkSoundThemeName(value string) {
1039 var v gobject.Value
1040 v.Init(gobject.TypeStringVal)
1041 v.SetString(&value)
1042 x.SetProperty("gtk-sound-theme-name", &v)
1043}
1044
1045// GetPropertyGtkSoundThemeName gets the "gtk-sound-theme-name" property.
1046// The XDG sound theme to use for event sounds.
1047//
1048// See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
1049// for more information on event sounds and sound themes.
1050//
1051// GTK itself does not support event sounds, you have to use
1052// a loadable module like the one that comes with libcanberra.
1053func (x *Settings) GetPropertyGtkSoundThemeName() string {
1054 var v gobject.Value
1055 x.GetProperty("gtk-sound-theme-name", &v)
1056 return v.GetString()
1057}
1058
1059// SetPropertyGtkSplitCursor sets the "gtk-split-cursor" property.
1060// Whether two cursors should be displayed for mixed left-to-right and
1061// right-to-left text.
1062func (x *Settings) SetPropertyGtkSplitCursor(value bool) {
1063 var v gobject.Value
1064 v.Init(gobject.TypeBooleanVal)
1065 v.SetBoolean(value)
1066 x.SetProperty("gtk-split-cursor", &v)
1067}
1068
1069// GetPropertyGtkSplitCursor gets the "gtk-split-cursor" property.
1070// Whether two cursors should be displayed for mixed left-to-right and
1071// right-to-left text.
1072func (x *Settings) GetPropertyGtkSplitCursor() bool {
1073 var v gobject.Value
1074 x.GetProperty("gtk-split-cursor", &v)
1075 return v.GetBoolean()
1076}
1077
1078// SetPropertyGtkThemeName sets the "gtk-theme-name" property.
1079// Name of the theme to load.
1080//
1081// See [class@Gtk.CssProvider] for details about how
1082// GTK finds the CSS stylesheet for a theme.
1083func (x *Settings) SetPropertyGtkThemeName(value string) {
1084 var v gobject.Value
1085 v.Init(gobject.TypeStringVal)
1086 v.SetString(&value)
1087 x.SetProperty("gtk-theme-name", &v)
1088}
1089
1090// GetPropertyGtkThemeName gets the "gtk-theme-name" property.
1091// Name of the theme to load.
1092//
1093// See [class@Gtk.CssProvider] for details about how
1094// GTK finds the CSS stylesheet for a theme.
1095func (x *Settings) GetPropertyGtkThemeName() string {
1096 var v gobject.Value
1097 x.GetProperty("gtk-theme-name", &v)
1098 return v.GetString()
1099}
1100
1101// SetPropertyGtkTitlebarDoubleClick sets the "gtk-titlebar-double-click" property.
1102// Determines the action to take when a double-click
1103// occurs on the titlebar of client-side decorated windows.
1104//
1105// Recognized actions are minimize, toggle-maximize, menu, lower
1106// or none.
1107func (x *Settings) SetPropertyGtkTitlebarDoubleClick(value string) {
1108 var v gobject.Value
1109 v.Init(gobject.TypeStringVal)
1110 v.SetString(&value)
1111 x.SetProperty("gtk-titlebar-double-click", &v)
1112}
1113
1114// GetPropertyGtkTitlebarDoubleClick gets the "gtk-titlebar-double-click" property.
1115// Determines the action to take when a double-click
1116// occurs on the titlebar of client-side decorated windows.
1117//
1118// Recognized actions are minimize, toggle-maximize, menu, lower
1119// or none.
1120func (x *Settings) GetPropertyGtkTitlebarDoubleClick() string {
1121 var v gobject.Value
1122 x.GetProperty("gtk-titlebar-double-click", &v)
1123 return v.GetString()
1124}
1125
1126// SetPropertyGtkTitlebarMiddleClick sets the "gtk-titlebar-middle-click" property.
1127// Determines the action to take when a middle-click
1128// occurs on the titlebar of client-side decorated windows.
1129//
1130// Recognized actions are minimize, toggle-maximize, menu, lower
1131// or none.
1132func (x *Settings) SetPropertyGtkTitlebarMiddleClick(value string) {
1133 var v gobject.Value
1134 v.Init(gobject.TypeStringVal)
1135 v.SetString(&value)
1136 x.SetProperty("gtk-titlebar-middle-click", &v)
1137}
1138
1139// GetPropertyGtkTitlebarMiddleClick gets the "gtk-titlebar-middle-click" property.
1140// Determines the action to take when a middle-click
1141// occurs on the titlebar of client-side decorated windows.
1142//
1143// Recognized actions are minimize, toggle-maximize, menu, lower
1144// or none.
1145func (x *Settings) GetPropertyGtkTitlebarMiddleClick() string {
1146 var v gobject.Value
1147 x.GetProperty("gtk-titlebar-middle-click", &v)
1148 return v.GetString()
1149}
1150
1151// SetPropertyGtkTitlebarRightClick sets the "gtk-titlebar-right-click" property.
1152// Determines the action to take when a right-click
1153// occurs on the titlebar of client-side decorated windows.
1154//
1155// Recognized actions are minimize, toggle-maximize, menu, lower
1156// or none.
1157func (x *Settings) SetPropertyGtkTitlebarRightClick(value string) {
1158 var v gobject.Value
1159 v.Init(gobject.TypeStringVal)
1160 v.SetString(&value)
1161 x.SetProperty("gtk-titlebar-right-click", &v)
1162}
1163
1164// GetPropertyGtkTitlebarRightClick gets the "gtk-titlebar-right-click" property.
1165// Determines the action to take when a right-click
1166// occurs on the titlebar of client-side decorated windows.
1167//
1168// Recognized actions are minimize, toggle-maximize, menu, lower
1169// or none.
1170func (x *Settings) GetPropertyGtkTitlebarRightClick() string {
1171 var v gobject.Value
1172 x.GetProperty("gtk-titlebar-right-click", &v)
1173 return v.GetString()
1174}
1175
1176// SetPropertyGtkXftAntialias sets the "gtk-xft-antialias" property.
1177// Whether to antialias fonts.
1178//
1179// The values are 0 for no, 1 for yes, or -1 for the system default.
1180func (x *Settings) SetPropertyGtkXftAntialias(value int) {
1181 var v gobject.Value
1182 v.Init(gobject.TypeIntVal)
1183 v.SetInt(value)
1184 x.SetProperty("gtk-xft-antialias", &v)
1185}
1186
1187// GetPropertyGtkXftAntialias gets the "gtk-xft-antialias" property.
1188// Whether to antialias fonts.
1189//
1190// The values are 0 for no, 1 for yes, or -1 for the system default.
1191func (x *Settings) GetPropertyGtkXftAntialias() int {
1192 var v gobject.Value
1193 x.GetProperty("gtk-xft-antialias", &v)
1194 return v.GetInt()
1195}
1196
1197// SetPropertyGtkXftDpi sets the "gtk-xft-dpi" property.
1198// The font resolution, in 1024 * dots/inch.
1199//
1200// -1 to use the default value.
1201func (x *Settings) SetPropertyGtkXftDpi(value int) {
1202 var v gobject.Value
1203 v.Init(gobject.TypeIntVal)
1204 v.SetInt(value)
1205 x.SetProperty("gtk-xft-dpi", &v)
1206}
1207
1208// GetPropertyGtkXftDpi gets the "gtk-xft-dpi" property.
1209// The font resolution, in 1024 * dots/inch.
1210//
1211// -1 to use the default value.
1212func (x *Settings) GetPropertyGtkXftDpi() int {
1213 var v gobject.Value
1214 x.GetProperty("gtk-xft-dpi", &v)
1215 return v.GetInt()
1216}
1217
1218// SetPropertyGtkXftHinting sets the "gtk-xft-hinting" property.
1219// Whether to enable font hinting.
1220//
1221// The values are 0 for no, 1 for yes, or -1 for the system default.
1222func (x *Settings) SetPropertyGtkXftHinting(value int) {
1223 var v gobject.Value
1224 v.Init(gobject.TypeIntVal)
1225 v.SetInt(value)
1226 x.SetProperty("gtk-xft-hinting", &v)
1227}
1228
1229// GetPropertyGtkXftHinting gets the "gtk-xft-hinting" property.
1230// Whether to enable font hinting.
1231//
1232// The values are 0 for no, 1 for yes, or -1 for the system default.
1233func (x *Settings) GetPropertyGtkXftHinting() int {
1234 var v gobject.Value
1235 x.GetProperty("gtk-xft-hinting", &v)
1236 return v.GetInt()
1237}
1238
1239// SetPropertyGtkXftHintstyle sets the "gtk-xft-hintstyle" property.
1240// What degree of font hinting to use.
1241//
1242// The possible vaues are hintnone, hintslight,
1243// hintmedium, hintfull.
1244func (x *Settings) SetPropertyGtkXftHintstyle(value string) {
1245 var v gobject.Value
1246 v.Init(gobject.TypeStringVal)
1247 v.SetString(&value)
1248 x.SetProperty("gtk-xft-hintstyle", &v)
1249}
1250
1251// GetPropertyGtkXftHintstyle gets the "gtk-xft-hintstyle" property.
1252// What degree of font hinting to use.
1253//
1254// The possible vaues are hintnone, hintslight,
1255// hintmedium, hintfull.
1256func (x *Settings) GetPropertyGtkXftHintstyle() string {
1257 var v gobject.Value
1258 x.GetProperty("gtk-xft-hintstyle", &v)
1259 return v.GetString()
1260}
1261
1262// SetPropertyGtkXftRgba sets the "gtk-xft-rgba" property.
1263// The type of subpixel antialiasing to use.
1264//
1265// The possible values are none, rgb, bgr, vrgb, vbgr.
1266//
1267// Note that GSK does not support subpixel antialiasing, and this
1268// setting has no effect on font rendering in GTK.
1269func (x *Settings) SetPropertyGtkXftRgba(value string) {
1270 var v gobject.Value
1271 v.Init(gobject.TypeStringVal)
1272 v.SetString(&value)
1273 x.SetProperty("gtk-xft-rgba", &v)
1274}
1275
1276// GetPropertyGtkXftRgba gets the "gtk-xft-rgba" property.
1277// The type of subpixel antialiasing to use.
1278//
1279// The possible values are none, rgb, bgr, vrgb, vbgr.
1280//
1281// Note that GSK does not support subpixel antialiasing, and this
1282// setting has no effect on font rendering in GTK.
1283func (x *Settings) GetPropertyGtkXftRgba() string {
1284 var v gobject.Value
1285 x.GetProperty("gtk-xft-rgba", &v)
1286 return v.GetString()
1287}
1288
1289var xSettingsGetDefault func() uintptr
1290
1291// Gets the `GtkSettings` object for the default display, creating
1292// it if necessary.
1293//
1294// See [func@Gtk.Settings.get_for_display].
1295func SettingsGetDefault() *Settings {
1296 var cls *Settings
1297
1298 cret := xSettingsGetDefault()
1299
1300 if cret == 0 {
1301 return nil
1302 }
1303 gobject.IncreaseRef(cret)
1304 cls = &Settings{}
1305 cls.Ptr = cret
1306 return cls
1307}
1308
1309var xSettingsGetForDisplay func(uintptr) uintptr
1310
1311// Gets the `GtkSettings` object for @display, creating it if necessary.
1312func SettingsGetForDisplay(DisplayVar *gdk.Display) *Settings {
1313 var cls *Settings
1314
1315 cret := xSettingsGetForDisplay(DisplayVar.GoPointer())
1316
1317 if cret == 0 {
1318 return nil
1319 }
1320 gobject.IncreaseRef(cret)
1321 cls = &Settings{}
1322 cls.Ptr = cret
1323 return cls
1324}
1325
1326func init() {
1327 core.SetPackageName("GTK", "gtk4")
1328 core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"})
1329 var libs []uintptr
1330 for _, libPath := range core.GetPaths("GTK") {
1331 lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
1332 if err != nil {
1333 panic(err)
1334 }
1335 libs = append(libs, lib)
1336 }
1337
1338 core.PuregoSafeRegister(&xSettingsGLibType, libs, "gtk_settings_get_type")
1339
1340 core.PuregoSafeRegister(&xSettingsResetProperty, libs, "gtk_settings_reset_property")
1341
1342 core.PuregoSafeRegister(&xSettingsGetDefault, libs, "gtk_settings_get_default")
1343 core.PuregoSafeRegister(&xSettingsGetForDisplay, libs, "gtk_settings_get_for_display")
1344
1345}