SLINTLU / API

API reference

Every component, global, struct and enum SlintLu offers to Slint shells, generated from the library sources.

import { PanelWindow, Shell, Clock, Theme } from "@slintlu";

Globals are filled in by SlintLu; read properties are set by the runtime, read / write ones may also be assigned by the shell, and callbacks are implemented natively.

Components

FloatingWindow (inherits Window)

An ordinary application window (settings, dialogs …), shown once.

Member Type Access Description
app-id string set = "slintlu" The app id reported to the compositor (for window rules).
ready() callback call Runs once SlintLu has connected the services (and set Shell.screen). init runs too early for that: call service callbacks such as Shared.set-string from here instead.

Icon (inherits Image)

One of SlintLu’s stroke icons by name, tinted with color. Names: apps, arrow-left, arrow-right, arrow-up, battery, battery-charging, bell, bell-off, bluetooth, brightness, calendar, check, chevron-down, chevron-left, chevron-right, clipboard, close, coffee, cpu, dashboard, diamond, disk, dock, document, download, enter, ethernet, eye, eye-off, file, folder, globe, grid, home, image, info, keyboard, language, list, lock, logout, maximize, memory, mic, minus, monitor, moon, music, network, next, palette, panel, pause, play, plus, power, previous, reboot, screenshot, search, settings, sleep, sun, terminal, thermometer, trash, usb, user, video, volume, volume-low, volume-mute, warning, wifi, wifi-off, window, workspace. Unknown names show “info”.

Member Type Access Description
name string set The icon’s file name in res/icons, without “.svg”.
color color set = Theme.text The stroke colour.

LockWindow (inherits Window)

A lock screen. While the session is locked (see Session.lock()), one instance covers every screen and receives all input. Call Session.authenticate(password) to unlock.

Member Type Access Description
ready() callback call Runs once SlintLu has connected the services (and set Shell.screen). init runs too early for that: call service callbacks such as Shared.set-string from here instead.

PanelWindow (inherits Window)

A wlr-layer-shell surface: bars, docks, wallpapers, overlays, notifications … One instance is created per screen (restrict with show-on). Set its size with preferred-width / preferred-height or let the layout decide; axes anchored on both sides are stretched by the compositor.

Member Type Access Description
layer Layer set = Layer.top Stacking layer: background (wallpapers), bottom, top (bars) or overlay (launchers, OSDs).
namespace string set = "slintlu" Namespace reported to the compositor, e.g. for layer rules.
anchor-top bool set Screen edges to attach to. Anchoring opposite edges stretches the panel; no anchors centre it.
anchor-bottom bool set
anchor-left bool set
anchor-right bool set
exclusive-mode ExclusiveMode set = ExclusiveMode.auto How much space other windows leave for the panel.
exclusive-zone length set = 0px Used when exclusive-mode is fixed.
margin-top length set = 0px Distance from the anchored edges.
margin-right length set = 0px
margin-bottom length set = 0px
margin-left length set = 0px
keyboard-mode KeyboardMode set = KeyboardMode.none Whether the panel can take keyboard focus.
show-on [string] set = [] Connector names of the screens to appear on, e.g. [“DP-1”]. Empty means all screens.
shown bool set = true Whether the panel is mapped. Toggle it to build popups, menus and drawers.
ready() callback call Runs once SlintLu has connected the services (and set Shell.screen). init runs too early for that: call service callbacks such as Shared.set-string from here instead.

Globals

Apps

Installed applications (freedesktop desktop entries), refreshed when they change.

Member Type Access Description
all [AppInfo] read Every visible application, sorted by name.
search(query: string, limit: int) callback → [AppInfo] call Fuzzy search over names, descriptions and keywords, frequently used apps first. An empty query lists the most used applications. Applications are scanned in the background; to refresh results when they arrive, mention all in the binding: property <[AppInfo]> results: Apps.all.length >= 0 ? Apps.search(query, 40) : [];
launch(id: string) callback call
get(id: string) callback → AppInfo call One application by desktop file id (empty fields when unknown).
icon-for(app-id: string) callback → image call The icon of the application a window belongs to, from its app id (Wayland app_id or X11 class), falling back to the icon theme.
group-windows(pinned: [string], windows: [WindowInfo]) callback → [AppWindows] call Groups windows by application: the pinned desktop file ids first (in that order, with or without windows), then the other applications with windows in order of appearance.
launch-action(id: string, action: string) callback call Runs one of the application’s extra actions (e.g. “new-private-window”).

Audio

Volume and devices of the sound server (PipeWire or PulseAudio).

Member Type Access Description
available bool read
output AudioDevice read The default output (speakers) and input (microphone).
input AudioDevice read
outputs [AudioDevice] read
inputs [AudioDevice] read
set-volume(volume: float) callback call
set-muted(muted: bool) callback call
toggle-muted() callback call
set-input-volume(volume: float) callback call
toggle-input-muted() callback call
set-default-output(name: string) callback call Selects a device by its name.
set-default-input(name: string) callback call

Battery

The system battery, if any.

Member Type Access Description
available bool read
level float read Charge in 0..1.
charging bool read
state string read “charging”, “discharging”, “full”, “not-charging” or “unknown”.
time-remaining string read Until empty or full, e.g. “1h 20m”; empty when unknown.

Bluetooth

Bluetooth through BlueZ.

Member Type Access Description
available bool read BlueZ is running and an adapter exists.
powered bool read
devices [BluetoothDeviceInfo] read Paired and connected devices, connected first.
connected-count int read
set-powered(powered: bool) callback call
connect(path: string) callback call
disconnect(path: string) callback call

Brightness

The screen backlight (laptops). External monitors are not covered.

Member Type Access Description
available bool read
level float read 0..1
set(level: float) callback call

ClipboardHistory

Texts copied in this session (kept in memory only; secrets from password managers are skipped). Needs wlr-data-control.

Member Type Access Description
available bool read
entries [ClipboardEntry] read Newest first.
copy(id: int) callback call Puts an entry back on the clipboard.
remove(id: int) callback call
clear() callback call

Clock

The local time, updated every second.

Member Type Access Description
time string read Formatted with time-format / date-format.
date string read
hour int read
minute int read
second int read
year int read
month int read
day int read
weekday int read 1 = Monday … 7 = Sunday.
time-format string read / write = "%H:%M" strftime patterns (https://docs.rs/chrono/latest/chrono/format/strftime). Change them in an init handler, e.g. init => { Clock.time-format = "%H:%M:%S"; }.
date-format string read / write = "%a %e %b"
month-grid(year: int, month: int, monday-first: bool) callback → [CalendarDay] call Six weeks (42 days) covering a month, for calendar grids.
format-date(year: int, month: int, day: int, pattern: string) callback → string call Formats a date with a strftime pattern, e.g. format-date(2026, 10, 1, “%B %Y”).

Compositor

The compositor itself: its name, requests it sends to the shell (keyboard shortcuts that open shell UI) and compositor-specific commands.

Member Type Access Description
name string read “lunadash”, “niri”, “hyprland”, “sway”, … or “unknown”.
request string read The latest request, e.g. “launcher” (argument “true”/“false”), “settings” (argument: the page), “wallpaper-picker”, “control-center”, “clipboard”, “power-menu”. React to changes of request-serial.
request-argument string read
request-serial int read
has-commands bool read Whether command is supported (LunaDash).
wallpaper string read The wallpaper image when the compositor manages one (LunaDash), as a local path; empty otherwise. Shells can show it instead of their own wallpaper setting.
wallpaper-poster string read A still frame of a video wallpaper (LunaDash); empty for images.
wallpaper-live bool read Whether the compositor plays the (video) wallpaper itself below the shell’s surfaces; shells should keep their wallpaper transparent then.
language string read The desktop language chosen in the compositor (LunaDash), e.g. “zh_TW”; empty otherwise.
wallpapers [WallpaperInfo] read The compositor’s wallpaper library (LunaDash): its folder plus the bundled wallpapers.
wallpaper-directory string read
wallpaper-categories [string] read The categories (subfolders) of the wallpaper library, sorted.
preferences-revision int read Increases when the compositor’s preferences change; pass it to the preference-* readers.
filter-wallpapers(query: string, collection: string, category: string, kind: string, revision: int) callback → [WallpaperInfo] call The library entries matching a search: collection is “library” (all), “bundled” or “favorites”; category “” for all; kind “all”, “image” or “video”. Pass wallpapers.length (or any value that changes with the library) as revision.
preference-number(key: string, fallback: float, revision: int) callback → float call The compositor’s own preferences (LunaDash), e.g. preference-number(“gap”, 12, revision); the fallback when the compositor has none or does not know the key.
preference-bool(key: string, fallback: bool, revision: int) callback → bool call
preference-string(key: string, fallback: string, revision: int) callback → string call
set-preference-number(key: string, value: float) callback call Changes a compositor preference; readers see the new value immediately.
set-preference-bool(key: string, value: bool) callback call
set-preference-string(key: string, value: string) callback call
command(method: string, value: string) callback call A compositor-specific command, e.g. command(“launch-default”, “terminal”) on LunaDash.

Files

Directories and images, e.g. for a wallpaper picker.

Member Type Access Description
home string read The home directory; paths starting with “~” are expanded everywhere.
revision int read Increases when thumbnails finish; pass it to thumbnail to show them as they appear.
chosen string read The path picked in the dialog choose opened; read it when chosen-serial changes.
chosen-serial int read Increases when the user picks something in a dialog opened by choose.
list(dir: string, extensions: string) callback → [FileEntry] call Entries of a directory, directories first. extensions filters files: “png,jpg,webp”.
exists(path: string) callback → bool call
kind(path: string) callback → string call “directory”, “image” (png, jpg, jpeg, webp, bmp, gif), “video” (mp4, webm, mkv, mov, m4v), “file”, or “” when the path does not exist.
parent(path: string) callback → string call The folder containing a path (“” for the root).
user-dir(name: string) callback → string call An XDG user folder: “home”, “pictures”, “videos”, “downloads”, “documents”, “music” or “desktop”; “” when it is not set up.
choose(title: string, extensions: string, directory: bool, folder: string) callback call Opens the desktop’s file chooser (XDG portal) to pick a file, or a folder when directory is true. extensions filters files (“png,jpg”); folder is where it starts.
image(path: string) callback → image call The image at a path (full size; use thumbnail for grids).
thumbnail(path: string, size: int, revision: int) callback → image call A cached thumbnail of at most size pixels, generated in the background (empty until ready). Videos need ffmpeg.

I18n

Translations. Put <language>.po files (e.g. from slint-tr-extractor) in an i18n directory next to your shell; texts written as @tr("...") are translated.

Member Type Access Description
language string read The active language, e.g. “de” or “zh_TW”; empty for the untranslated texts.
languages [string] read Languages with a translation in the shell’s i18n directory.
set-language(language: string) callback call Switches the language at runtime (“” for untranslated texts).
language-name(language: string) callback → string call A language’s name in that language, for pickers: “zh_TW” → “繁體中文”, “” → “English”.

Icons

Icons from the desktop’s icon theme.

Member Type Access Description
theme string read The icon theme in use.
lookup(name: string, size: int) callback → image call An icon by name (e.g. “firefox”, “audio-volume-high”) or path, at about size pixels.

Idle

User activity. Settings apply to the whole shell. React to idle with a local property and a changed handler, e.g. property idle: Idle.idle; changed idle => { if idle { Shell.exec(“niri msg action power-off-monitors”); } }

Member Type Access Description
available bool read Whether idle detection works on this compositor (ext-idle-notify-v1).
idle bool read No input for timeout.
timeout duration read = 300s
lock-after duration read = 0s Lock the session after this much inactivity; 0 disables it.
inhibited bool read The screen is kept awake (a “caffeine” toggle). Needs a visible shell window.
set-timeout(timeout: duration) callback call
set-lock-after(timeout: duration) callback call
set-inhibited(inhibited: bool) callback call

Media

Media players (MPRIS): Spotify, browsers, mpv, …

Member Type Access Description
available bool read
player MediaPlayerInfo read The player to show: the playing one, else a paused one.
players [MediaPlayerInfo] read
play-pause() callback call Act on player.
next() callback call
previous() callback call
seek(seconds: int) callback call
command(bus-name: string, command: string) callback call Act on a specific player: command is “play-pause”, “next” or “previous”.

Network

Network status from NetworkManager.

Member Type Access Description
available bool read
online bool read Connected with internet access.
connected bool read Connected to some network.
kind string read “wifi”, “ethernet”, “vpn”, “other” or “none”.
name string read Connection name or Wi-Fi network name.
strength float read Wi-Fi signal strength in 0..1.
wifi-enabled bool read
set-wifi-enabled(enabled: bool) callback call

Notifications

The notification daemon (org.freedesktop.Notifications). Unavailable when another daemon (mako, dunst, swaync …) is running.

Member Type Access Description
available bool read
popups [NotificationInfo] read Notifications to show as pop-ups now; they leave this list when they expire.
history [NotificationInfo] read Every notification not dismissed yet, newest first.
count int read
do-not-disturb bool read Only critical notifications pop up while set (see set-do-not-disturb).
default-timeout duration read = 5s How long pop-ups stay when the application does not say.
set-do-not-disturb(enabled: bool) callback call
set-default-timeout(timeout: duration) callback call
dismiss(id: int) callback call Removes a notification (the user closed it).
dismiss-all() callback call
invoke(id: int, action-key: string) callback call Runs one of its actions (“default” for clicking the notification itself).

Polkit

The polkit authentication agent: show a dialog while active (e.g. a PanelWindow on the overlay layer with keyboard-mode: exclusive and shown: Polkit.active).

Member Type Access Description
available bool read SlintLu is the session’s polkit agent (no other agent was registered).
active bool read A request is waiting for the user.
message string read Why authentication is needed, from the application.
action-id string read
icon-name string read
user string read Whose password is asked for.
prompt string read The helper’s question, normally “Password: “.
echo bool read Show what is typed (the question is not a password).
error string read An error from the last attempt, e.g. “Authentication failed, please try again.”
authenticating bool read An answer is being checked.
respond(text: string) callback call Answers the prompt.
cancel() callback call

Power

Session and power actions through systemd-logind.

Member Type Access Description
available bool read
can-suspend bool read
can-hibernate bool read
power-off() callback call
reboot() callback call
suspend() callback call
hibernate() callback call
log-out() callback call
lock() callback call Locks the session (shows the shell’s lock screen, if it has one).

Session

The session lock. Define a component inheriting LockWindow to enable locking.

Member Type Access Description
locked bool read The lock screen is up.
user string read The user whose password unlocks the session.
authenticating bool read A password check is running.
message string read Feedback for the lock screen, e.g. “Authentication failure”.
lock-before-sleep bool read = true Lock automatically before the machine suspends (see set-lock-before-sleep).
lock() callback call Locks now (also triggered by loginctl lock-session and Power.lock()).
authenticate(password: string) callback call Checks the password with PAM and unlocks on success.
set-lock-before-sleep(enabled: bool) callback call

Shared

State shared by all windows of the shell. Globals you define yourself exist once per window (one panel cannot see another panel’s copy), so keep cross-window state — which popup is open, toggles — here: property open: Shared.get-bool(“launcher”, false, Shared.revision); clicked => { Shared.toggle(“launcher”); } From scripts: slintlu msg call Shared.toggle launcher.

Member Type Access Description
revision int read Increases on every change; pass it to the getters.
get-string(key: string, fallback: string, revision: int) callback → string call
get-number(key: string, fallback: float, revision: int) callback → float call
get-bool(key: string, fallback: bool, revision: int) callback → bool call
set-string(key: string, value: string) callback call
set-number(key: string, value: float) callback call
set-bool(key: string, value: bool) callback call
remove(key: string) callback call
toggle(key: string) callback call Flips a bool (false when unset).
get-list(key: string, revision: int) callback → [string] call Lists of strings (e.g. pinned applications).
list-contains(key: string, value: string, revision: int) callback → bool call
set-list(key: string, values: [string]) callback call
list-add(key: string, value: string) callback call Appends a value (if missing) / removes every occurrence.
list-remove(key: string, value: string) callback call

Shell

Information about the running shell and actions it can perform.

Member Type Access Description
screen Screen read The screen this window instance is shown on.
screens [Screen] read All connected screens.
renderer string read The renderer in use: “software”, “opengl” or “vulkan”.
compositor string read The compositor, e.g. “niri”, “hyprland”, “sway” or “unknown”.
version string read
resources string read Directory of SlintLu’s shared assets (res/ in the SlintLu repository), e.g. for Files.image(Shell.resources + “/icons/wifi.svg”). Icons are easier through Icon.
exec(command: string) callback call Runs a command line through sh -c, detached from the shell.
env(name: string) callback → string call An environment variable of the shell process (“” when unset).
reload() callback call Reloads the shell configuration.
quit() callback call Exits SlintLu.

Store

Settings that survive restarts, stored per shell in $XDG_STATE_HOME/slintlu. Read reactively by passing Store.revision: property wallpaper: Store.get-string(“wallpaper”, “”, Store.revision);

Member Type Access Description
revision int read Increases on every change.
get-string(key: string, fallback: string, revision: int) callback → string call
get-number(key: string, fallback: float, revision: int) callback → float call
get-bool(key: string, fallback: bool, revision: int) callback → bool call
set-string(key: string, value: string) callback call
set-number(key: string, value: float) callback call
set-bool(key: string, value: bool) callback call
remove(key: string) callback call
toggle(key: string) callback call Flips a bool (false when unset).
get-list(key: string, revision: int) callback → [string] call Lists of strings (e.g. pinned applications).
list-contains(key: string, value: string, revision: int) callback → bool call
set-list(key: string, values: [string]) callback call
list-add(key: string, value: string) callback call Appends a value (if missing) / removes every occurrence.
list-remove(key: string, value: string) callback call

Switcher

The compositor’s window switcher (Alt+Tab) and workspace switcher (Super+Tab), for shells that draw them. The compositor handles the keys; the shell shows entries while active.

Member Type Access Description
available bool read Whether the compositor has a switcher the shell can draw (LunaDash).
active bool read
workspaces bool read Switching workspaces instead of windows.
index int read The selected entry.
entries [SwitcherEntry] read
open(workspaces: bool) callback call Starts the switcher without a keyboard shortcut (e.g. from a panel button).
step(delta: int) callback call Moves the selection by this many entries.
choose(id: int) callback call Switches to an entry (by id) and closes the switcher.
cancel() callback call Closes the switcher without switching.

System

Machine statistics, refreshed every two seconds.

Member Type Access Description
cpu float read Utilisation in 0..1.
cpu-cores [float] read
memory float read
swap float read
disk float read Root filesystem.
memory-text string read Human readable, e.g. “5.2 GiB / 15.6 GiB”.
disk-text string read
temperature float read The processor temperature in °C (the hottest plausible sensor without one), and all sensors.
temperatures [Temperature] read
download float read Bytes per second over physical interfaces, and as text (“1.2 MB/s”).
upload float read
download-text string read
upload-text string read
hostname string read
kernel string read
os string read
uptime string read e.g. “3h 12m”.

Theme

The colour theme: a built-in palette (or pywal colours) chosen by the desktop’s light / dark preference, adjusted by theme.json next to your shell. Style everything with these roles and the shell follows the desktop automatically.

Member Type Access Description
name string read The palette in use, e.g. “catppuccin-mocha”.
palettes [string] read All built-in palettes.
dark bool read = true
has-preference bool read The desktop states a light / dark preference.
high-contrast bool read
background color read = #1e1e2e
surface color read = #313244
surface-alt color read = #45475a
border color read = #585b70
text color read = #cdd6f4
text-muted color read = #a6adc8
accent color read = #89b4fa
red color read = #f38ba8
green color read = #a6e3a1
yellow color read = #f9e2af
blue color read = #89b4fa
magenta color read = #cba6f7
cyan color read = #94e2d5
font-family string read Empty means the default font.
font-size length read = 13px
radius length read = 10px
set-mode(mode: string) callback call “auto” (follow the desktop), “dark” or “light”, for this session.
set-palette(name: string) callback call Uses a palette for the current mode, for this session.

Tray

The system tray (StatusNotifierItem): application icons with menus.

Member Type Access Description
available bool read
items [TrayItemInfo] read
menu-owner string read The menu loaded by open-menu and the item it belongs to (“” when closed).
menu [TrayMenuEntry] read
activate(id: string) callback call Left click.
secondary-activate(id: string) callback call Middle click.
scroll(id: string, delta: int) callback call
open-menu(id: string) callback call Loads the item’s menu into menu (items without one show their own menu).
close-menu() callback call
menu-activate(entry: int) callback call Clicks an entry of the open menu and closes it.

Workspaces

Workspaces and windows of niri, Hyprland, Sway or LunaDash.

Member Type Access Description
available bool read
all [WorkspaceInfo] read
windows [WindowInfo] read
focused-window WindowInfo read
keyboard-layout string read
focused-output string read Connector name of the screen with keyboard focus; empty when unknown.
focus(workspace-id: int) callback call
focus-window(window-id: string) callback call
close-window(window-id: string) callback call

Structs

AppActionInfo

Member Type Access Description
id string
name string

AppInfo

Member Type Access Description
id string Desktop file id, used by launch.
name string
generic-name string
comment string
icon image
icon-name string
terminal bool
categories [string]
actions [AppActionInfo]

AppWindows

An application with its open windows, for docks and task bars (see Apps.group-windows).

Member Type Access Description
app AppInfo The desktop entry; id is empty when no entry matches the windows’ app id.
app-id string The windows’ app id (Wayland app_id or X11 class); empty for pinned apps without windows.
pinned bool
windows [string] Window ids, the focused one first.
focused bool
urgent bool

AudioDevice

Member Type Access Description
name string
description string
volume float 1.0 is 100 %.
muted bool

BluetoothDeviceInfo

Member Type Access Description
path string Object path, used by connect / disconnect.
address string
name string
icon string Icon name from the icon theme, e.g. “audio-headset”.
connected bool
paired bool
battery float Battery level in 0..1, or -1 when unknown.

CalendarDay

Member Type Access Description
year int
month int
day int
in-month bool Part of the requested month (not padding from a neighbouring month).
today bool
weekend bool

ClipboardEntry

Member Type Access Description
id int
text string
preview string The first line, shortened, for lists.

FileEntry

Member Type Access Description
path string
name string
is-dir bool

MediaPlayerInfo

Member Type Access Description
bus-name string
identity string
title string
artist string
album string
art-url string file:// or https:// URL of the cover art.
art image The cover art when it is a local file.
playing bool
paused bool
position float Seconds.
length float
can-go-next bool
can-go-previous bool

NotificationAction

Member Type Access Description
key string
label string

NotificationInfo

Member Type Access Description
id int
app-name string
app-icon string Icon name or path, as sent by the application.
icon image The application’s icon, resolved from the icon theme.
image image An attached image (e.g. a contact picture or screenshot), if any.
summary string
body string
urgency string “low”, “normal” or “critical”.
actions [NotificationAction]
time string When it arrived, formatted like the clock (“18:22”).

PanelSettings

What a PanelWindow reports to the runtime. Set the PanelWindow properties instead.

Member Type Access Description
layer Layer
namespace string
anchor-top bool
anchor-bottom bool
anchor-left bool
anchor-right bool
exclusive-mode ExclusiveMode
exclusive-zone length
margin-top length
margin-right length
margin-bottom length
margin-left length
keyboard-mode KeyboardMode
show-on [string]
shown bool

Screen

A monitor.

Member Type Access Description
id int
name string Connector name, e.g. “DP-1”.
description string
x int
y int
width int
height int
scale int

SwitcherEntry

Member Type Access Description
id int The window id, or the workspace id in the workspace switcher.
title string
app-id string
icon image
workspace int
focused bool
minimized bool
icons [image] Workspace switcher: icons of the applications on the workspace.

Temperature

Member Type Access Description
label string
celsius float

TrayItemInfo

Member Type Access Description
id string Identifies the item in the callbacks below.
title string
tooltip string
icon image
status string “active”, “passive” (may be hidden) or “attention”.
has-menu bool
item-is-menu bool Clicking should open the menu instead of activating.

TrayMenuEntry

Member Type Access Description
id int
label string
enabled bool
separator bool
toggle-type string “checkmark”, “radio” or “”.
checked bool
depth int Nesting level: entries of a submenu follow their parent with depth + 1.
has-children bool

WallpaperInfo

A wallpaper in the compositor’s library (LunaDash).

Member Type Access Description
path string
name string
category string The subfolder it was found in (“Bundled” for the compositor’s own wallpapers).
video bool
bundled bool
favorite bool
preview string A still image of it: the file itself for images, a poster frame for videos.

WindowInfo

Member Type Access Description
id string
title string
app-id string
workspace int
focused bool
urgent bool

WorkspaceInfo

Member Type Access Description
id int
index int Number shown to users.
name string
output string Connector name of its screen; compare with Shell.screen.name.
active bool Visible on its screen.
focused bool Visible on the focused screen.
urgent bool
windows int

Enums

ExclusiveMode

How much space a panel reserves at the edge it is anchored to.

Member Type Access Description
auto Its own height (width for vertical panels) when anchored to one edge.
normal Nothing, but other panels’ zones are respected.
ignore Nothing, and other panels’ zones are ignored (wallpapers, overlays).
fixed Exactly exclusive-zone.

KeyboardMode

How a panel receives keyboard focus.

Member Type Access Description
none Never (bars, wallpapers).
exclusive Grabs the keyboard while visible (launchers, lock screens).
on-demand When clicked, like a normal window.

Layer

Plain types shared by the SlintLu library. The layer-shell layer, from the bottom of the stack to the top.