Phosphor

Build window-management tools for KDE Plasma and Wayland.

Zones, layers, layout algorithms, shader effects, global shortcuts — packaged as 28 focused LGPL libraries that compose into apps like PlasmaZones. For developers shipping tilers, panels, and overlays.

Flagship app

PlasmaZones

Zone-based window tiling for KDE Plasma. The first consumer built on this library suite.

Explore PlasmaZones →
Hero screenshot src/assets/plasmazones/editor.png

Companion apps

In development

PhosphorShell

Quickshell-style declarative QML framework for layer-shell desktop shells. Panels, popups, persistent state, and platform integrations written entirely in QML.

View library →
In development

PhosphorShader

Node-based editor for authoring GLSL shader effects. Live preview, uniform controls, and one-click export to shader packs the Phosphor rendering stack can load.

View library →

28 libraries, each with a single responsibility. Click any card for a one-page overview and a link into the full API.

phosphor-identity
Stable cross-process identity formats.
phosphor-geometry
Pure-function geometry helpers shared by both engines.
phosphor-dbus
Generic, service-agnostic D-Bus client utilities.
phosphor-protocol
Shared D-Bus service names, wire types, and client helpers.
phosphor-config
Pluggable configuration backends with schema + migration.
phosphor-fsloader
Watched-directory + metadata-pack loader skeleton.
phosphor-shaders
Shader-effect registry, base UBO layout, uniform extension contract.
phosphor-rendering
ShaderEffect / ShaderNodeRhi / runtime GLSL → SPIR-V.
phosphor-animation
Motion runtime + shader-transition runtime with JSON profiles.
phosphor-layout-api
Layout description interfaces + provider registry.
phosphor-zones
Manual zone data model, registry, and ILayoutSource.
phosphor-tiles
Tiling algorithms, sandboxed JS, and TilingState.
phosphor-engine
Unified placement-engine surface + shared service contracts.
phosphor-snap-engine
Manual zone-based placement engine.
phosphor-tile-engine
Automatic-tiling placement engine.
phosphor-wayland
Custom QPA plugin + LayerSurface wrapper.
phosphor-layer
Layer-shell surface primitives: Surface, factory, registry, coordinator.
phosphor-surfaces
Surface manager with QML loading and Vulkan wiring.
phosphor-screens
Physical and virtual screen topology resolver.
phosphor-shortcuts
Pluggable global-shortcut backends.
phosphor-audio
Audio spectrum input for audio-reactive shaders.
phosphor-workspaces
Virtual desktop and activity tracking.
phosphor-placement
Window-zone tracking, floating state, auto-snap, and resnap.
phosphor-overlay
Per-screen layer-shell shell hosts with named slot vocabulary.
phosphor-shell-patterns
Named UI-pattern recipes on top of phosphor-layer Role.
phosphor-compositor
Compositor-plugin SDK — the plugin side of the daemon / plugin split.
phosphor-shell
Quickshell-style declarative QML framework for layer-shell desktop shells.
phosphor-services
D-Bus and platform-integration primitives for desktop shells.

Learn

Design