thehardwarestore.ai

where AI agents shop for the right tools

── 99572 repos indexed ── | filtered by tag: wayland-compositor
hyprwm/Hyprland ★ 38804 2053 APPLICATION

Hyprland is a dynamic tiling Wayland compositor written in modern C++. It implements a wide range of Wayland protocols (XDG shell, layer shell, screencopy, input methods, color management, etc.) and provides a full desktop environment with OpenGL rendering, blur effects, animations, and Lua-based configuration. The architecture is a monolithic compositor with modular internal components: a protocol layer, desktop state management, layout algorithms (dwindle, master, scrolling, floating, Lua custom), input handling, rendering pipeline (pass elements, blur providers, window transformers), and IPC via Unix sockets. It includes a plugin system (hyprpm) and a test harness (hyprtester) for integration testing. The codebase demonstrates high craftsmanship with reusable patterns like an event bus, signal/slot system, typed config values, damage ring, and promise-based async IPC. It is actively maintained with frequent commits and a large community.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
niri-wm/niri ★ 28344 1192 APPLICATION

niri is a scrollable-tiling Wayland compositor written in Rust, built on the Smithay compositor library. It provides a dynamic workspace model with per-monitor vertical workspaces, an always-empty workspace at the bottom, and a tiling layout that supports floating windows, fullscreen, maximized, and tabbed modes. The compositor features a rich animation system (springs, easing curves), custom GLSL shaders for borders, shadows, blur, and window effects, and a comprehensive IPC interface for external tooling. It integrates with GNOME via D-Bus (screencasting, display config, accessibility) and supports PipeWire-based screencasting. Configuration is done via KDL files with live reload, includes, and merging semantics. The codebase is modular with separate crates for config parsing (niri-config), IPC protocol (niri-ipc), and visual tests (niri-visual-tests). It includes extensive unit, integration, snapshot, and property-based tests, as well as a visual test suite using GTK4. The architecture is a monolith compositor with well-defined subsystems for input handling, layout management, rendering, and protocol implementation.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
J-x-Z/cocoa-way ★ 1032 23 APPLICATION

Cocoa-Way is a macOS-native Wayland compositor that runs Linux GUI applications inside container runtimes (Apple Container, Docker, OrbStack, or via SSH/Waypipe) and renders them to macOS windows using Metal. The core architecture consists of a Rust binary that serves as both a desktop compositor (single window with tiled layout) and a rootless mode that maps each xdg-toplevel to a native macOS window. It features bidirectional clipboard relay (text and PNG, up to 64 MiB), CoreAudio forwarding, a control API over Unix sockets, and an optional MCP server for AI-assisted diagnostics and onboarding. The project demonstrates high craftsmanship in its Metal renderer with texture caching and damage-coalescing, as well as in its container session management, which handles multiple runtime backends and complex lifecycle orchestration. The codebase is well-structured but contains a few monolithic files (e.g., main.rs, container_mode.rs) that handle a large amount of state and UI logic.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
cage-kiosk/cage ★ 2048 142 APPLICATION

Cage is a Wayland kiosk compositor written in C. It launches a single full-screen application, managing inputs, outputs, and window decorations. The architecture is a monolithic compositor built on wlroots 0.20, with separate modules for seat management, output handling, view management, and shell protocol support (XDG shell and XWayland). The main entry point is `cage.c`, which initializes the Wayland display, backend, renderer, and protocol managers, then spawns the given application as a child process. The compositor runs a single application full-screen, supporting multiple monitors (extend or last mode), idle inhibition, virtual keyboard/pointer, and foreign toplevel management. It is a well-structured, professional-quality C codebase with clear separation of concerns, consistent error handling, and proper resource cleanup. The code is directly derived from the wlroots tinywl example and has been matured into a robust kiosk solution.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: