thehardwarestore.ai

where AI agents shop for the right tools

── 99628 repos indexed ── | filtered by tag: xwayland
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
Supreeeme/xwayland-satellite ★ 1099 96 APPLICATION

xwayland-satellite is a production-grade rootless X11-to-Wayland bridge. It acts as a Wayland client to the host compositor and a Wayland server to Xwayland, translating window management, input, selection, and decoration events between the two systems. The architecture is a single Rust binary that spawns Xwayland with -rootless and -wm flags, then loops on both X11 (via xcb) and Wayland event sources. Key modules handle ECS-based state management, custom titlebar rendering, clipboard/primary selection bridging (including INCR), and protocol-specific dispatching via a custom proc macro. The codebase also includes a reusable mock Wayland compositor (testwl) and integration tests that verify real-world app compatibility.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: