Skip to main content

Module desktop

Module desktop 

Source
Expand description

The desktop’s icon theme. Plasma, GNOME and others name one and say where icons live; elsewhere (a bare session, the offscreen platform, Windows, macOS, a phone) Qt knows of neither, and icons would be blank. The Breeze icons Sioul uses ship inside it (tools/bundle-icons.py), a set for light colours and one for dark, and stand in for whatever the desktop lacks. The set follows the window’s colours, as Sioul starts and whenever they change.

And where the desktop puts a window’s buttons, for the title bar Sioul draws itself on a computer (qml/TitleBar.qml): KDE Plasma says it in kwinrc, GNOME and its kin in their button-layout setting, Xfce in xfwm4’s; macOS puts them on the left, Windows on the right.

Modules§

ffi

Structs§

ButtonLayout
The window’s buttons on the left of its title bar and on its right, each side in its order.
DesktopRust
The object behind QML’s Desktop: nothing of its own.

Enums§

WindowButton
One of the window’s buttons that Sioul’s title bar draws.

Statics§

DESKTOP_THEME 🔒
The icon theme the desktop named as Sioul started (“breeze”); empty where it names none.
FOLLOWED 🔒
What the icons follow now: the window’s colours dark, and chosen in Sioul.

Functions§

command 🔒
What a program prints, trimmed; None when it is missing or fails.
follow
The icons in the window’s colours, dark or light, and chosen in Sioul or the system’s: as Sioul starts (icons), then each time the window’s colours change (main.qml, through followIcons), the system’s turning dark at night or a choice made in Settings. The bundled set drawn for them is the icon theme where the desktop names none, or where the colours are chosen in Sioul; elsewhere the desktop’s theme stays, drawn as the desktop draws it, and the set stands in for what it lacks. The folders of the XDG base directory specification are searched too.
gnome_layout
A button-layout as GNOME writes it, bare or as gsettings prints it (‘appmenu:minimize,maximize,close’): the left side’s buttons before the colon, the right’s after it; without a colon, all on the left, as GNOME reads it. “appmenu”, “menu”, “icon” and “spacer” have no place in Sioul’s bar. None for an empty value.
has_icon
Whether the icon theme in use holds an icon of this very name (no shorter name standing in for it): for the test of the bundled icons.
icons
The icons as Sioul starts, before its window loads: the bundled set drawn for the colours the window is about to take, those chosen in Sioul (SIOUL_THEME, else the setting), else the system’s as the window decides them (sioul_window_dark). Where the system says dark but its palette is light (Windows 10’s style), the window follows the system, dark, and so do its icons; until 14 October 2026 the window followed the palette, light.
kconfig_value
The value of key in [group] of a KConfig file (kwinrc), the last one written there. A key marked immutable or to expand (Key[$i], Key[$e]) counts, a translation (Key[fr]) does not, one marked deleted (Key[$d]) is not set. None when it is not there.
kde_buttons
Plasma’s letters for the window’s buttons (kwinrc’s ButtonsOnLeft and ButtonsOnRight), those Sioul’s bar draws: I minimize, A maximize, X close. The others have no place there: M the window’s menu, S on all desktops, H help, F keep above, B keep below, L shade, N the application’s menu, _ a space.
kde_layout 🔒
Plasma’s buttons (kwinrc, [org.kde.kdecoration2]): yours, else your global theme’s, else the system’s, else Plasma’s own, “MS” on the left (the window’s menu, on all desktops) and “HIAX” on the right.
kwinrc_files 🔒
The kwinrc files, the strongest first: in your configuration folder (and the host’s, from a Flatpak, whose own is apart), your global theme’s defaults beside it (kdedefaults), then the system’s.
sioul_window_dark 🔒 ⚠
Whether the window draws dark colours when none are chosen in Sioul: the system’s colour scheme, else (or with high contrast) the application’s palette, as main.qml decides it (cpp/palette.cpp).
system_layout 🔒
What the system says. SIOUL_BUTTON_LAYOUT, written as GNOME writes it (“close,minimize,maximize:” puts them on the left), tries a layout the desktop does not have.
theme_in_use
The icon theme in use, as Qt names it: for the test of the bundled icons.
warm_up
Starts reading where the system puts the window’s buttons, for the title bar to find it read when it is made. A phone has no title bar.
window_buttons
Where the system puts the window’s buttons, read once: on a thread of its own as Sioul starts (warm_up), GNOME’s setting being a program to ask.
xdg_icon_folders 🔒
$XDG_DATA_HOME/icons, then <dir>/icons for each of $XDG_DATA_DIRS.
xfwm_layout
xfwm4’s button_layout (Xfce), “O|HMC”: the left side’s letters before the bar, which stands for the title, the right’s after it. H minimize (it hides the window), M maximize, C close; O the window’s menu, S shade and T on all workspaces have no place in Sioul’s bar. None without the bar.