Releases
v0.1.0
Compare
Sorry, something went wrong.
No results found
appicons
match the icon table case-insensitively, as icons.rs does (7979961 )
apptheme
keep the bundle attached so a reload never goes global (a99f7ca )
lys-ui's theme is the shell palette, in every app (9293cda )
assets
rename the preview screenshots the rename missed (b780373 )
audio
the output/input dropdown card (48fa799 )
com.wayle.Audio1 and wayle audio (c95fadf )
device options are lys-ui's Item (a6449d0 )
auth
the PAM and greetd conversations (b9f809c )
end PAM as nonstick does, and name a failed account check (b8e114f )
bar
carry the network service as ModuleContext.Networking (fbe604f )
state icons update the widget in the tree; volume swaps to icon-muted (afd91ec )
the screenshot module and the in-process capture services (b148ce1 )
serve the share picker beside the screenshot host (7ea5df1 )
style the bar with the Rust stylesheet bundle and the BarButton tree; drop the inset and border workarounds (ab94213 )
threshold colors through the bar button variables (battery, brightness, volume, notifications, cpu, ram, storage) (e6e8ae5 )
labels, dropdowns, and the OSD brightness label through i18n (c9c2636 )
a config reload or new palette restyles everything (a7366c3 )
label-max-length is the button's max-width-chars, as in Rust (7a90a0c )
the brightness module's level icon, as in Rust (ea4f3ff )
formats render through jinja; sysinfo and custom as in Rust (350ff0d )
debouncedSlider, the DebouncedSlider every dropdown slider uses (c0f0892 )
the dashboard dropdown, section by section from the Rust one (7504960 )
the calendar dropdown as in Rust (cb6b340 )
the mail dropdown as in Rust (2a65d93 )
the brightness dropdown as in Rust (946c386 )
the battery dropdown as in Rust (319092e )
the audio dropdown as in Rust (b3a23df )
the notification dropdown as in Rust (412c50e )
the recorder dropdown as in Rust (0ef62d7 )
the treeman dropdown as in Rust (3f30232 )
dropdowns that open, placed and colored, on a real compositor (6f0d77a )
the network dropdown's connections, networks, and prompts (924b2a8 )
the network dropdown's VPN rows and VPN editor (01d17c2 )
a dropdown's reads go through one reader, so a stale read never lands last (102d86c )
dropdown cards enter and leave through the dropdown transition (b4c773b )
the stylesheet carries the [animations] CSS overrides (d9d51fc )
dropdown page stacks slide and crossfade as Rust's do (3e08a5e )
the media dropdown slides between the player and the source picker (d26f18b )
the bluetooth row's hover swap crossfades as Rust's stack does (2b2d890 )
the dropdown panels paint from the stylesheet (e859fa6 )
every dropdown panel paints from the stylesheet; gelm: the last three engine properties (008e05d )
nothing hand-painted left; gelm grows what the sites needed (f1693f4 )
the dropdowns match the Rust shell's trees; the bar buttons act like GTK's (00444bb )
the gelm gaps close; the dropdowns take the new primitives (5e58887 )
serve the widget tree over AT-SPI behind the atspi tag (c05600e )
keyboard-input on sway, niri, and mango; pulse tries libpulse's list (ca81e5a )
cached dropdown instances, the frozen label, the animated rest click (125007a )
dropdown-autohide off and the card tween; gelm 992717e (0374530 )
an unbuildable layout module is "not implemented", as in Rust (5c9c9b9 )
bluetooth and microphone labels keep label-color (547b719 )
headless Invoke reads the retirement under the loop lock (352aa4f )
recorder, idle-inhibit and power profiles as Rust colors them (a20807b )
clock, netstat, keyboard and icon-only modules carry their icons (417ba11 )
power and dashboard are icon-only buttons (67e06d8 )
the sections in a CenterBox, the center at the bar's middle (f56405d )
dropdowns attach the theme at the popover's root (0df3980 )
one compositor detection in Rust's order; hyprsunset on Hyprland only (1f87ff1 )
empty states center, media keeps its height, bluetooth status hugs the end (40b861b )
dashboard tiles and battery card, treeman empty state match Rust (d9353c5 )
the weather dropdown takes the Rust trees (01b3fde )
special workspaces show their name, not Hyprland's id (753af13 )
dropdown header actions keep their own height (1bd52fd )
empty states are lys-ui's StatusPage (daf11dc )
the secret box's peek keeps its size (42d43f2 )
battery
UPower service + battery module (926fc24 )
bitwarden
the key hierarchy, EncStrings and TOTP (f4abcff )
the identity and sync API, and the decrypted vault (357c3a9 )
the vault service (5e9254e )
idle lock and the master password reprompt (1a8a605 )
the bar module and the vault dropdown (edc98a9 )
the vault locks with the session (2efa20c )
bluetooth
the BlueZ service and bluetooth module (0e9f8a2 )
the full BlueZ model, controls, pairing agent, and the pairing dropdown (cdf73bd )
the pairing notifier runs without a placed module (ad77ac0 )
device rows are lys-ui's Item (64ee2f4 )
row actions are icon buttons (dde67d3 )
brightness
the backlight service and module (06367f5 )
external monitors over DDC/CI and kernel-uevent hotplug (5e2ab03 )
build
split the flake into package and dev shell flake-parts modules (1fa36e3 )
pin the Rust deps layer's version without import-from-derivation (640db34 )
buttons
the module button chrome (0056034 )
route hover, press, and click to the inner button (1fd766b )
calendar
the dropdown's month is lys-ui's Calendar (2066c04 )
cava
the audio spectrum module, pure Go (c6a0b68 )
capture the monitor on the native client, and fall off every frame (2b1ad56 )
the package comment names the native capture (0de7406 )
stereo and the wave style, held to the C analyzer frame for frame (82c1e3f )
the fifo and shmem inputs; the module ends with its bar (4dbf228 )
ci
build-essential for the deb; CodeQL builds Go itself (8e4ac9e )
cli
a declarative port of the clap subset wayle's CLI uses (d3b18b2 )
one implementation each for the shared D-Bus pieces (232830f )
wayle portal show previews every dialog (027dd56 )
the version goldens follow internal/version (c0cb597 )
click
module input bindings with native brightness and audio builtins (6e7bf29 )
clipboard
the session history over data-control, started with the shell (8723b09 )
cmd
errors.New for the static idle errors (f12d48f )
wayle lock and wayle-lock (6defb09 )
cmd/wayle
wallpaper subcommand matching the Rust CLI output (4f11d92 )
the full clap tree on internal/cli (0272367 )
one D-Bus error mapping for every CLI (a7478df )
the launcher subcommand and the rofi symlink, with the socket lifetime contract (d8f5a91 )
colorpicker
the magnifier-loupe color picker (cac732f )
frames matching no output fail instead of cancelling (6d2c9c3 )
config
the [wallpaper] section and the [styling] color-extractor keys (32fe075 )
mail's tag:unread default, the notify keys, and typed providers (d8dddcb )
[modules.screenshot] and [share-picker] (74049cc )
ColorValue text decoding, to_css, and #rgba hex (9e07a4a )
the [styling] section, the theme table, bar styling keys, and the bar-button key set (243bd01 )
the [lock], [greeter], and wallpaper sections (1043ae2 )
the [launcher] section (b4a73fd )
the reflected schema, layers, YAML and imports, and hot reload (d8128a5 )
wayle config docs writes the VitePress pages (6d06ee1 )
settings label keys and value sources per field (a5086db )
YAML only, a hard cut from TOML (53a67e7 )
a missing runtime.yaml is no overrides, not a failure (4fab87e )
credential
the prompt the lock screen and the greeter share (91c5fb5 )
custom
the user-defined exec module (2d1437f )
widget.update pushes reach the module by id (2d3770b )
dashboard
the panel (e7ad55f )
the distro-icon bar module and the user-session card (ab91133 )
the avatar through the shared image decoder (bd3e888 )
dbustest
a private dbus-daemon for service tests (4da38c8 )
keep the bus socket short of sun_path's limit (d86646f )
dbusx
zbus-style daemon export and a private test bus (97fd3d1 )
deps
lys-ui ab92f33; RemoteDesktop honours finish and scroll sources (bf26aac )
lys-ui 0eff6c8; ring overlay, popover width from PreferredWidth (8387fd3 )
lys-ui df0f058; app icons resolve through GTK's dash fallbacks (1f2d5df )
lys-ui cccb001; padded CenterBox and RichLabel lay out right (3432023 )
lys-ui e5952ed; the font dialog preselects the configured family (303a081 )
desktopentry
gio's app list, visibility, Exec expansion, and launching (759ea10 )
desktopnotify
freedesktop notifications over the session bus (859658d )
Ask, a notification with buttons that reports the one pressed (f1e7876 )
lock the fake daemon's record in the test (fdba467 )
devenv
migrate dev tooling out of the flake devShells (d56e0a7 )
dialogs
confirms are lys-ui's alert with a destructive response (16fc18a )
docs
record the cava decision and rewrite status (f60a8d6 )
refresh the rewrite status (ee904ae )
refresh the rewrite status (7a9e398 )
the default layout's module set is fully ported (f93e716 )
refresh the rewrite status (0d53666 )
refresh the rewrite status (636603c )
refresh the rewrite status (d195ad7 )
refresh the rewrite status (829c671 )
refresh the rewrite status (adc902a )
refresh the rewrite status (080c1ba )
refresh the rewrite status (e1bb7c7 )
the full parity inventory and the gelm gaps (158dd76 )
the rewrite status after collecting the port work (5987659 )
the config port in the rewrite status (147a74e )
module lifetime and the smoke test in the rewrite status (1f3e68c )
the dropdown ports still owed (276b5fb )
the dropdowns ported so far, notification persistence owed (7b04c51 )
the recorder port, gstreamer for packaging (c8d1d8f )
gelm's popover gap closed (bbc7057 )
the brightness dropdown's device names are at parity (1a61cf4 )
deploy the site to GitHub Pages, drop upstream's Discord (11ec013 )
lys-shell's own screenshots (2895af1 )
dropdowns
the registry, popover plumbing, and the calendar card (98e04d9 )
the scroll fills its viewport like GTK's (4c1aeb3 )
the theme through the bar button; the popover's contents node (7a917f1 )
the card is its content's height, the surface reserves the rest (cd4a24e )
icon tiles take their classes one by one (72e1d71 )
filechooser
a window placed by its margins, sized to the sheet (b9236a7 )
localized places, Recent, GTK's keys, a location entry (daabd54 )
read folders off the loop, follow them, GTK's hidden rule (2ccfeab )
a Trash place and gvfs network locations (bc9c2d3 )
drag files out (907b087 )
tests read the tree as the loop (f34fa75 )
fileuri
one percent-encoding; desktopentry: MIME associations (c081cd6 )
flake
fswatch
coalesced inotify ticks, recursive when asked (fee0bd5 )
gelm
GTK entry text nodes, logical clips, even-odd SVG fills (a09fa40 )
GTK scale nodes, slider press warp, y-up glyph offsets, popover resize, Box height for width (84460d3 )
GTK CSS node names; icons need no image override (a2e1b32 )
the transform initial fix (5a3ec6b); all: unset no longer computes a zero scale (d0b9bdc )
the CSS animation and transition engines, feature complete (b8bf197 )
bump to f14e5c6; the a11y seam goes, drags conclude with an action (f54515d )
bump to c4eb5db (8c73d9c )
c1884df; content-sized layers, the viewport on resize, per-connection registries (c419e01 )
63291fa; size requests, squeeze floors, unsized toplevels, ListBox children (a5737a1 )
7b72c47; a font family resolves by any of its names (114dabb )
399f4b3; rem is GTK's, from the desktop font (1009772 )
8665017; a dropdown's size is the popover's, around real margins (03cf7f0 )
e53d51a; text at its exact size (1207169 )
go
scaffold the gelm-based rewrite (9b8c943 )
GO-REWRITE
collect/launcher is superseded (7eaf565 )
the portal backend is done; the dialog hosts remain (3084a65 )
wayle-settings ported (a79b112 )
the node-parity checklist closed (cd3e82d )
the dropdown parity sweep's still-open list (3c721b5 )
pin the resume state; the sweep's landed work and method (736448c )
the live pass's comparison rig; the first findings and the gelm bridge fixes (e9896fc )
wallpaper, capture reloads, launcher, lock i18n, bar modules (294a040 )
bar module audit progress (271ae35 )
dialog windows and placement (07ca360 )
go.mod
require gelm with Button.BgExplicit (125d595 )
require gelm with data-control (66ee323 )
require gelm with ImageStretch and ImageScaleDown (566ea67 )
require gelm with screen capture (afbdb8c )
require gelm with the GTK-parity CSS engine (000181a )
gelm ba87e5b (Canvas.FillPath) (796121f )
gelm 23f50d1 (windows request their frame callback before committing) (7e521ad )
lys-ui at 04e266d (1df2b9f )
lys-ui after its author rewrite (775b12c )
greeter
finish the login screen, with its state machine under test (4ea0dc4 )
maps on sway, its glyphs installed by name, the stylesheet's fonts (c4e1ef3 )
hyprland
the IPC client (6f8e052 )
clients, workspace rules, and the v2 window events (4c80b2e )
hyprland-workspaces
the workspaces bar module (4d97cfa )
the faithful module on the shared widgets (17eacc4 )
hyprsunset
the night-light toggle module (6f30846 )
the solar auto-schedule, GeoClue location, socket state, and the persisted override (6ae4096 )
i18n
the Fluent runtime, locale negotiation, and both embedded domains (ac05459 )
icons
the icon-* keys across the info modules, and the power module (2792602 )
wayle icons, the symbolic transform, and the shell's icon theme (ab8b01c )
the SVG parser's XML layer is a roxmltree port (5bd788f )
stop waits for the watch callback (05db572 )
idle-inhibit
the shared service, daemon, CLI, and bar module (64c2d17 )
imagedecode
the wallpaper image formats, with farbfeld, PNM, and TGA (e9f80b8 )
internal
desktop notifications and the CLI's D-Bus error messages (b47a064 )
jinja
the minijinja format engine, checked against minijinja itself (435697e )
keybind-mode
the Hyprland submap module (7edb6f5 )
auto-hide collapses the module root from the start (ba2e6c2 )
keyboard-input
fix the module name to the schema's (2ae5d11 )
"?" while no layout is known, as Rust shows it (8a5846e )
keyboard-layout
the keyboard input module (4d38af4 )
launcher
the engine - matcher, session, history, hooks, and thumbnails (24d2645 )
the modes - drun, run, window, ssh, script, dmenu, combi, calc, emoji, clipboard, keys, file browsers (86b15f8 )
the surface, serving wayle launcher sessions from the shell (0f13052 )
the surface enters and leaves through its transition (56ece2c )
Super key bindings; GO-REWRITE: what is left (ac63169 )
the Rust tree, window > revealer > surface (dbc6b38 )
bold and italic in the message and markup rows (2e18bff )
script tests print with POSIX escapes (06c2818 )
launcheripc
the launcher socket protocol, client, and server (80e3d3c )
lock
the ext-session-lock screen and its triggers (473e02e )
one Shell1 export, the validated HexColor, and the greeter lint (26e6394 )
a config reload reaches the lock screen (67e8e76 )
the credential card reveals through the lock transition (059e68a )
failure messages from _lock.ftl (6505508 )
logging
tracing.rs's daily log files for the CLI and the shell (cce96b7 )
gelm's warnings and errors reach the log (e08f0ec )
logo
two tones, matte, simpler (0ec4427 )
loupe
the magnified pixel grid as its own package (e8ee5d0 )
mail
the notmuch unread module (e6a3c7a )
the inotify-driven unread service with new-mail notifications (58e9417 )
arm the maildir watch before the seed query (f09d877 )
a bar button with its icon, hidden at zero (0a76c49 )
mango
the IPC client and the mango-workspaces module (890a852 )
media
the MPRIS service and now-playing module (768a4d9 )
the stateful MPRIS service, the icon modes, and the player dropdown with transport controls (9113eba )
com.wayle.Media1 and wayle media (6c50a6f )
microphone
the default-input level module (1872e6d )
threshold colors by input volume (2ccc79c )
netstat
the per-interface traffic module (16245ab )
network
the NetworkManager service and network module (b6ff26a )
the secret-prompt contract shared by the agent and the VPN sign-ins (99cdf67 )
the secret agent, native VPNs, and wifi controls (dc5bf2a )
wifi reads as connected; frequency, IPv4, and wired speed (33f6709 )
Rust's link display, device status, and the VPN icon (1e14449 )
show a tunnel reconnecting when the network under it is gone (eaec5db )
Wi-Fi rows are lys-ui's Item (6343873 )
VPN rows are lys-ui's Item (d8b7a2e )
network-dropdown
the VPN rows with their state and failure reason (ec1cb6d )
nix
package the Go shell; go.mod pins gelm without the local replace (ae46bc7 )
vendorHash for gelm ec53dc6 (7381645 )
vendorHash for gelm c1884df; GO-REWRITE: the 2026-10-15 parity log (046d0fd )
vendorHash for gelm 63291fa; GO-REWRITE: greeter, print dialog, sizing (34a9688 )
vendorHash for gelm aca3f5b; GO-REWRITE: share picker done (cdcb451 )
vendorHash for gelm cfe2d12 (df5ad73 )
vendorHash for gelm 3149400 (28031f7 )
GStreamer plugins from their lib outputs (fd28ff7 )
notifications
the daemon and the bell module (5b70891 )
the daemon and the bell module (dee261b )
pausable popup countdowns in the service, hover-pause on the cards (d08c2dc )
hints, parsed actions, and Rust's id and history rules (f82a781 )
the history persists in the Rust store's file (25da305 )
the restored-expiry test leaves setup room under load (9fd2043 )
keep time by an injectable clock; tests stop racing it (07c35e4 )
action presses carry an xdg-activation token (f10798d )
notify
the control interface and the wayle notify CLI (718f044 )
openconnect
the native VPN sign-in for every openconnect protocol (9ee917a )
openconnecttest
a silent gateway for the VPN sign-in tests (7c4bbbb )
osd
the volume, microphone, and brightness flashes (a2ccf08 )
new() for the label pointers (33f0b5c )
drop the string pointer helper (64927f8 )
osd.layer and tearing mode (37d0533 )
the OSD and toasts enter and leave through their transitions (d58be41 )
the Rust OSD, on the stylesheet and the configured monitor (3f9bc61 )
packaging
install the zsh completion as _lys-shell (422c79d )
panel
wayle panel, com.wayle.Shell1, and the shell's application id (c48a730 )
pango
, and span underline/strikethrough; gelm e86f8a2 (218618e )
pipewire
the ScreenCast video producer over libpipewire (7e59642 )
popups
the notification popup window (c8cae80 )
the full notification card, and layers that honor tearing mode (1d0f310 )
notification cards enter and leave through their transitions (a0327d9 )
the notification cards map, on popup-monitor, as card/mod.rs builds them (1fe164b )
portal
the backend core, Settings and Lockdown; wayle portal serves (dfbb853 )
Background, Usb, Email and Secret; godbus decodes fd arrays (0017b9c )
Notification, Wallpaper and Inhibit; the PortalDialogs1 contract (f418a59 )
Access, Account, AppChooser and DynamicLauncher; manifests pinned (9664cbe )
Screenshot, through the shell's Screenshot1 (c9a16e2 )
FileChooser and Print over the shell's FileChooser1 and Print1 (3240261 )
Clipboard over the data-control device; godbus replies files (ca966a2 )
GlobalShortcuts and InputCapture; one Wayland loop (752929c )
ScreenCast, streaming picked sources through PipeWire (a4cea76 )
RemoteDesktop over gelm's virtual pointer and keyboard (c0b5c3b )
ConnectToEIS over a pure-Go EIS server (e84a67a )
zero-copy screencast over gbm dmabufs; gelm ad40151 (c5e3909 )
Secret never replaces a stored master secret (594774f )
Email reads the attachments the frontend sends (74c6f17 )
Settings honours globs, owns contrast, serves the GTK keys (1f62c2d )
Lockdown reads its policy from config (fd3e1ae )
stop advertising InputCapture (9105456 )
Inhibit takes the reason, holds the shell's idle, adds monitors (e353b4c )
Notification replaces by id, clicks "default", speaks v2 (5efbdaf )
one session record, kind/owner checks, backend-initiated close (75d038f )
a Request for every call, and every shell dialog dismissable (e6c9d51 )
queue concurrent dialogs, name the app, place on its output (ddb22c0 )
Access shows the choices it is given and returns them (e2a9528 )
Account lets the user edit what is shared, one avatar source (94a6ff7 )
AppChooser speaks app ids, follows UpdateChoices, preselects (d6200d3 )
DynamicLauncher asks unless allowlisted, shows the launcher (9d3744c )
Usb asks which devices an app may open (4ae22aa )
Background reports real app states and asks before allowing (41fd1ca )
Wallpaper keeps a copy of the picture and honours set-on (e7c77a5 )
Clipboard tells sessions what the selection is and whose (59851a3 )
ScreenCast keeps the types and cursor contract, reports geometry (17ed68e )
RemoteDesktop shares screens, enables the clipboard, persists (20ef11f )
Screenshot v3 targets, side-effect-free captures, real failures (449ac84 )
GlobalShortcuts ask, share, remember, and time in milliseconds (d33e386 )
Print returns the page setup, starts from the app, owns its tokens (15b4809 )
FileChooser takes the app's options and saves safely (7136188 )
test through the real xdg-desktop-portal; version only where specified (059c4d5 )
GlobalShortcuts — an unidentified app owns its shortcuts per session (786895d )
Screenshot asks what to capture, with or without the pointer (4227168 )
consent dialogs use the shell's own icons (b812644 )
portaldialogs
the Rust dialog tree, centered and content-sized (2e4ebb1 )
power
power-profiles
the power-profiles-daemon module (d511113 )
powermenu
the native power menu, replacing the power dropdown stand-in (22eaab6 )
printdialog
the print view! - a ListBox of printers, the form grid, a spin button (afa85d3 )
a centered content-sized window; rows span the list (b082477 )
pulse
the native protocol client and a fake server (5d3acd4 )
the audio service on the native protocol, and its DBus daemon (bac6a59 )
README
recorder
the state machine, daemon, CLI, and bar module (3064e70 )
the Rust engine — ScreenCast portal and in-process GStreamer (a0b63cf )
hold the fake's stop so the test sees stopping (3df7816 )
setting rows are lys-ui's Item (b6b548b )
regionoverlay
the freeze-frame region selection overlay (280e33b )
adjust the selection before confirming; a click picks a window (17d6da2 )
release
dist binaries start on other distros; packages name this project (05cd683 )
notes from the history, grouped by area (e52fde0 )
screenshot
the capture host, com.wayle.Screenshot1, and wayle screenshot (2c4659d )
compositor-in-the-loop and bus round-trip tests (38ceb1d )
scss
a pure-Go compiler for the user stylesheet's SCSS subset (843ef24 )
separator
settings
the wayle-settings window, rows and the first editors (6f48196 )
animations and share-picker pages; optional, size and surface-animation editors (a674886 )
general, lock and greeter pages; font, color and file editors (8d79030 )
27 module pages; color-value, icon, action, list and card editors (e21a3d9 )
theme, OSD, notifications, dropdowns, launcher and bar-button pages; toast presets, optional sizes, theme selector (2cc2dcf )
wallpaper page; cycling reveal and monitor cards; GTK-sized entries (461dfff )
hyprland, mango, niri and sway workspace pages; workspace style maps (7d8300b )
recorder, mail and systray pages; device selects, mail accounts, tray overrides (58ea3a1 )
custom modules page; the TOML code view (d38174b )
bar general page; the layout editor (a8272c0 )
the sidebar is lys-ui's Sidebar (e396f4b )
the font fields open lys-ui's font dialog (4857afe )
colour controls show their swatch (9b021f3 )
sharepicker
the screencast source picker and com.wayle.SharePicker1 (41efe94 )
the Rust widget tree on the stylesheet (f95c253 )
read invoke before the preview capture goroutine starts (9a9fcee )
sharepreview
frame images, output transforms, and the XDPH window list (03dee08 )
shell
reload the wallpaper, extraction, notification, and OSD config (2de9287 )
bars and OSD faces follow monitor hotplug (c8e70b2 )
gelm 6f36e2c; surfaces animate only through [animations] (80b8d4a )
the portal dialog host behind PortalDialogs1 (b9fe324 )
portal dialogs render as laid out; gelm 7d6f7bc (a3904e3 )
the file chooser behind FileChooser1; gelm f0c9eda (49304f0 )
the print dialog behind Print1, spooling over IPP; gelm ed82f23 (00060f2 )
containers paint children through widget.PaintChild; gelm 9780c3d (18fc093 )
the user styles reload on a file watch, not a poll; gelm b50a579 (424213a )
gelm ec53dc6; modal alerts, the patched binding, settings guard (f3577e9 )
gelm c1dd809; toggle buttons and search entries where GTK has them (b70c8ab )
treetest.Font, the one test face (77b96e7 )
sizes through size requests; dynamic CSS above the bundle's reset (3f949a9 )
sni
drop the unused host fields (c7e2b45 )
drop the unused host fields (26a63f8 )
one item per address, whichever form registers it first (753f9e8 )
strftime
styling
design tokens, palette, and bar chrome (d7eeec6 )
theme_css with Rust goldens, the palette color math, and the hex palette converter (3668c98 )
the bar, bar-button, and bar-container inline var blocks (45043a4 )
the matugen, pywal, and wallust palette providers and resolve_palette (41e8594 )
the user stylesheet (user_css, try_user_css, scaffold) (1afb944 )
embed the compiled Rust stylesheet, with a freshness check and just go-css (47d36d3 )
the engine parses the compiled stylesheet clean; GO-REWRITE (f2552e5 )
plain CSS only; drop the SCSS sources and compiler (152b101 )
no universal reset; lys-ui's theme layer reaches the widgets (8ca4c13 )
lys-ui's theme styles the controls; drop the restating primitives (49051b2 )
badges are lys-ui's Badge (91fba85 )
buttons take lys-ui's variants (3555282 )
drop the stylesheet rules nothing renders (77d9579 )
icon buttons are lys-ui's icon size; secondary fills from the palette (22930df )
the palette tokens are defined once, in Go (4d0e863 )
sway
the i3 IPC client and the sway-workspaces module (a6f3445 )
sysinfo
systray
the SNI watcher, host, store, and bar module (3032ab3 )
drop the unused module mutex (e22beda )
the full watcher, item change tracking, DBusMenu menus, and IconPixmap icons (902a1e5 )
submenus open as their own popovers, as the Rust tray's do (abd7690 )
a tray menu's shortcuts fire while it is open (52cd6d2 )
an empty tray hides its module wrapper, as Rust hides the parent (17ac3c2 )
tests
race-clean tree, and -race in the Go gate (350aa2f )
bind sockets in a short directory (436fe9d )
run against a scratch home; the shell scaffolds styles, not the theme (850c748 )
the shell on a live Hyprland in a NixOS VM (8c4c8a6 )
the Hyprland VM drives the portal and real pointer clicks (d22bc38 )
thresholds
inclusive bounds, last match wins, per-part colors, and one shared decoder (5dbf0eb )
toasts
the widget socket and the wayle toast CLI (2ef41e8 )
toplevels
give the test sway a private session bus (24084bd )
the probe window runs in-process again (190859e )
treeman
the worktree health module (6bcb386 )
the worktree health module (8e8c043 )
Rust's module states, severity class, and hide-if-empty (8a18d1d )
the Rust service loop; status from treeman status --format json (402931b )
volume
the pulse service and volume module (c1f8fbd )
vpn
wayle vpn sso-callback and the shell's com.wayle.Shell1 (f5713f5 )
wallpaper
the service, cycling runner, and com.wayle.Wallpaper1 daemon (752f199 )
native Background-layer surfaces with transitions (77e320a )
play the configured [animations] transition, reloaded (8f31867 )
wallpaper/extract
the color extractor with Rust-recorded goldens (f91cbdf )
track the recorded Rust result goldens (05abbdf )
weather
the wayle-weather service, its module, and the full dropdown (f281fad )
forecast times are the location's, not the viewer's (e556eee )
test epochs format with strconv (fcdb850 )
widget
wayle widget update and the socket at Rust parity (11e31eb )
widgetipc
new() for the label pointers (1029f8d )
widgets
the slider wrapper asks for the pointer cursor; gelm primitives carry it (70d58b7 )
window-title
the focused window title module (59e269c )
every compositor, the icon mappings, the first snapshot (807a8ce )
workspaces
faithful sway and niri modules (879d20c )
world-clock
build the bar button once (683b197 )
Other
cpu, ram, storage: the sysinfo poll modules (6e7d419 )
weather, world-clock: the HTTP weather module and multi-timezone clock (71bea46 )
state icons for battery, volume, and network (e784041 )
state icons for microphone and bluetooth (32e8794 )
brightness and battery dropdown cards (f68e4f0 )
dropdown panels: the remaining nine cards (2c18c40 )
power, systray: the com.wayle daemons and their CLIs (ad7968f )
idle, notify, recorder: the Rust D-Bus interfaces and CLI output (0ecd8a2 )
wip(cli): unfinished agent work, collected when stopped (81c8019 )
wip(lock): unfinished agent work, collected when stopped (9dee54b )
shlex, glob, mime: command lines, case-folded globs, and mimetype guesses (79cc56d )
gvariant, emojigen: read GVariant blobs and extract GTK's emoji table (219a69f )
feed, module lifetime: one fan-out for service events, modules end with their bar (17577c0 )
nix, shell: the modules install the Go shell; the dropdown card grows with its page; gelm 6353fcc (be6d974 )
settings, print, files: the row proxy carries the row node (02062d7 )
lock, greeter: the credential box and both screens on the _lock.scss rules (b17aa3e )
launcher, portal surfaces, power menu: the stylesheet sets the ink (21b826e )
sharepicker, portaldialogs: GTK tab labels and labeled check buttons (00e8276 )
screenshot, regionoverlay: follow config reloads and the theme (973c519 )
screenshot module: no pinned label-color (bffc1ea )
panel test: hand the fake shell its release through a channel (cb3fbdd )
bluetooth dropdown: device rows in their cards; the header laid out (66b7e15 )
Merge master (v0.8.54) into go-rewrite (4c4aa0a )
shell tests: one process-wide loop lock for every surface harness (2895299 )
audio dropdown: the chevron follows the device name (8f62bdc )
shell tests: one liveness guard, long enough for the first surface (dd001ec )
panel inspect: open gelm's inspector (07604e0 )
Go-only repo: delete the Rust implementation (db1fda2 )
Remove the button styling map page (c7f8d3e )
Rename wayle to lys-shell (938ee6c )
A lys-shell logo of its own (e145b97 )
remove md (b37a419 )
You can’t perform that action at this time.