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 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 |
|
|
| 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. |
| 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.