Pearl
Pearl is a desktop shell for the Aqueous Wayland compositor, written in Zig with GTK 4. Its look and feel follows Material Design: Material palettes generated from your wallpaper, compact bar flyouts, and a full settings application. Pearl runs exclusively on Aqueous and supplies the Aqueous settings UI.
What Pearl can do
Section titled “What Pearl can do”- Show a configurable bar on any edge of every output, with start, center, and end groups, optional autohide, multiple time-zone clocks, running applications, a wallpaper picker, and resource monitor widgets. Horizontal bars wrap when space is tight; vertical bars keep their thickness and scroll.
- Keep favorite applications in a dock and in floating bar islands, with persistent pins and custom launchers for running applications.
- Show desktop icons on one chosen display across all workspaces, with selection, rename, Move to Trash, a background menu for new folders and application shortcuts, and explicit approval before any shortcut can launch.
- Search and launch applications and windows through GIO, run desktop actions, and evaluate arithmetic expressions in the launcher’s built-in calculator.
- Ask a question from the launcher through an opt-in assistant that runs a local model you download yourself and searches a selected engine in a separate chat window. It is disabled by default, and typing does not start a model or make a network request.
- Open a local calendar and a control center with compact Sound, Network, Bluetooth, and Power pages, plus session and workspace-layout actions.
- Edit Pearl and Aqueous configuration in a standalone Settings application with schema-driven pages, drafts that survive external edits, conflict-aware merging, and compositor-owned display previews.
- Theme the desktop with wallpaper on each output, dynamic Material palettes, system and installed GTK 4 themes, Night Light, and opt-in Qt 5/6 styling through QtEngine and Darkly.
- Create themes from three colors or import community theme repositories over HTTPS, and publish your own.
- Connect to Wi-Fi networks through NetworkManager and pair Bluetooth devices through BlueZ, both from the control center.
- Control audio devices and streams, battery, brightness, and power profiles, with on-screen feedback and confirmed power-off and restart actions.
- Manage notifications with history, do-not-disturb and filters, use StatusNotifier tray menus, and control MPRIS media players with artwork.
- Keep an in-memory clipboard history and capture the screen or a region, with save and copy controls.
- Secure the session with idle and sleep policies, a polkit agent, a native lock screen, and fingerprint login with password fallback.
- Log in through an optional greetd-based greeter with an installed-desktop chooser, themed to match the shell.
- Extend the shell with experimental WebAssembly plugins that install, update, and remove without a restart.
- Drive the session from the command line with
pearlctl, including settings dispatch, layout control, and a diagnostics report bundle.
Pearl packages also bundle three companion applications: the Phyto file manager, the Dome resource monitor, and the Coral text editor.
These guides include development features after Pearl v0.3.0. Check versions and distributions if a control is missing. Start with the Settings task index for keyboard, display and appearance changes.
Project source
Section titled “Project source”The source, development specifications, packaging, and plugin development guide live in the Pearl GitHub repository.
