Package ch.bailu.gtk.adw
Class StyleManager
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gobject.Object
ch.bailu.gtk.adw.StyleManager
- All Implemented Interfaces:
PointerInterface
A class for managing application-wide styling.
`AdwStyleManager` provides a way to query and influence the application
styles, such as whether to use dark or high contrast appearance.
It allows to set the color scheme via the
[property@StyleManager:color-scheme] property, and to query the current
appearance, as well as whether a system-wide color scheme preference exists.
`AdwStyleManager` provides a way to query and influence the application
styles, such as whether to use dark or high contrast appearance.
It allows to set the color scheme via the
[property@StyleManager:color-scheme] property, and to query the current
appearance, as well as whether a system-wide color scheme preference exists.
https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.StyleManager.html
-
Nested Class Summary
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDestroyNotify, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic ClassHandler
int
Gets the requested application color scheme.boolean
getDark()
Gets whether the application is using dark appearance.static StyleManager
Gets the default `AdwStyleManager` instance.Gets the display the style manager is associated with.static StyleManager
getForDisplay
(Display display) Gets the `AdwStyleManager` instance managing @display.boolean
Gets whether the application is using high contrast appearance.static int
static long
static TypeSystem.TypeSize
boolean
Gets whether the system supports color schemes.static long
static TypeSystem.TypeSize
void
setColorScheme
(int color_scheme) Sets the requested application color scheme.Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
StyleManager
-
-
Method Details
-
getClassHandler
-
getColorScheme
public int getColorScheme()Gets the requested application color scheme.- Returns:
- the color scheme
-
getDark
public boolean getDark()Gets whether the application is using dark appearance.
This can be used to query the current appearance, as requested via
[property@StyleManager:color-scheme].- Returns:
- whether the application is using dark appearance
-
getDisplay
Gets the display the style manager is associated with.
The display will be `NULL` for the style manager returned by
[func@StyleManager.get_default].- Returns:
- (nullable): the display
-
getHighContrast
public boolean getHighContrast()Gets whether the application is using high contrast appearance.
This cannot be overridden by applications.- Returns:
- whether the application is using high contrast appearance
-
getSystemSupportsColorSchemes
public boolean getSystemSupportsColorSchemes()Gets whether the system supports color schemes.
This can be used to check if the current environment provides a color scheme
preference. For example, applications might want to show a separate
appearance switcher if it's set to `FALSE`.- Returns:
- whether the system supports color schemes
-
setColorScheme
public void setColorScheme(int color_scheme) Sets the requested application color scheme.
The effective appearance will be decided based on the application color
scheme and the system preferred color scheme. The
[property@StyleManager:dark] property can be used to query the current
effective appearance.
The `ADW_COLOR_SCHEME_PREFER_LIGHT` color scheme results in the application
using light appearance unless the system prefers dark colors. This is the
default value.
The `ADW_COLOR_SCHEME_PREFER_DARK` color scheme results in the application
using dark appearance, but can still switch to the light appearance if the
system can prefers it, for example, when the high contrast preference is
enabled.
The `ADW_COLOR_SCHEME_FORCE_LIGHT` and `ADW_COLOR_SCHEME_FORCE_DARK` values
ignore the system preference entirely. They are useful if the application
wants to match its UI to its content or to provide a separate color scheme
switcher.
If a per-[class@Gdk.Display] style manager has its color scheme set to
`ADW_COLOR_SCHEME_DEFAULT`, it will inherit the color scheme from the
default style manager.
For the default style manager, `ADW_COLOR_SCHEME_DEFAULT` is equivalent to
`ADW_COLOR_SCHEME_PREFER_LIGHT`.
The [property@StyleManager:system-supports-color-schemes] property can be
used to check if the current environment provides a color scheme
preference.- Parameters:
color_scheme
- the color scheme
-
getDefault
Gets the default `AdwStyleManager` instance.
It manages all [class@Gdk.Display] instances unless the style manager for
that display has an override.
See [func@StyleManager.get_for_display].- Returns:
- the default style manager
-
getForDisplay
Gets the `AdwStyleManager` instance managing @display.
It can be used to override styles for that specific display instead of the
whole application.
Most applications should use [func@StyleManager.get_default] instead.- Parameters:
display
- a `GdkDisplay`- Returns:
- the style manager for @display
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-