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) Qt knows of neither, and icons would be blank. The Breeze icons Sioul uses ship inside it (tools/bundle-icons.py), light and dark, and stand in for whatever the desktop lacks.

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.

Functions§

command 🔒
What a program prints, trimmed; None when it is missing or fails.
dark 🔒
Whether the system shows its windows dark, where Qt has no icon theme to follow it.
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.
icons
The bundled icons stand in for those the desktop’s theme lacks, and for the theme itself when the desktop names none; the folders of the XDG base directory specification are searched too.
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.
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.
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.