Conky is a free, lightweight system monitor for X11, Wayland, and macOS that displays system information on the desktop or in alternative output modes (console, file, HTTP). It collects data from /proc, /sys, sysctl, and various APIs to report CPU, memory, disk, network, processes, sensors, audio players, mail, RSS, and more. The architecture is modular: data sources are registered as text objects with scan/print/free callbacks, output backends are selected at runtime (X11, Wayland, ncurses, console, file, HTTP), and Lua scripting provides configuration and extensibility via tolua++ generated bindings. A callback system handles periodic data fetching with deduplication and thread safety, and a priority queue supports top process sorting. The codebase is written in C++ with some C, uses CMake build system, and includes a comprehensive test suite using Catch2. It supports Linux, BSDs, Haiku, Solaris, and macOS with platform-specific backends. The project demonstrates several well-crafted reusable components: a generic priority queue, a callback system for periodic tasks, a typed configuration settings framework with Lua integration, a structured logging wrapper around spdlog, and a macro-generated X11 event variant pattern. These components exhibit non-obvious skill and can be extracted for use in other C++ projects. However, the codebase also shows signs of technical drift with bundled third-party libraries (Vc, tolua++, spdlog) that may lag behind upstream, and some platform-specific backends have incomplete implementations.
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.
The Delta Shell is a desktop shell for Linux, designed to work with Hyprland and Niri window managers. It provides a customizable taskbar (bar) with modules for system monitoring (CPU, RAM, battery, network), weather, clipboard, and more. The shell includes pop-up windows for an application launcher, calendar, weather forecast, volume control, and other utilities. Built using the AGS (Aylur's GTK Shell) framework, it leverages GObject and GTK for a modern, responsive user interface. The architecture is modular, separating concerns into services (for system data), modules (for bar items and pop-up content), widgets (reusable UI components), and windows (for pop-ups). Key features include a dynamic application launcher, clipboard history management, real-time system monitoring, and weather integration. The shell is highly configurable through JSON files, allowing users to adjust the bar layout, theme, and module behavior. While the shell is tightly coupled to the AGS framework, it contains several reusable components, such as a comprehensive keyboard layout mapping and a flexible timer class. The codebase demonstrates good engineering practices with TypeScript, modular organization, and attention to detail in the UI theming. However, the absence of automated tests is noted as an area for improvement.
nwg-look is a GTK settings editor designed for Wayland environments, particularly wlroots-based compositors like Sway. It provides a graphical interface to configure GTK appearance settings including themes, icons, cursors, fonts, and other interface options. The application reads current gsettings values, allows users to modify them through a GTK3 interface, and applies changes via gsettings commands. It can also export settings to various configuration files (settings.ini, .gtkrc-2.0, index.theme, xsettingsd.conf, GTK4 symlinks) and includes Flatpak integration for theme management. The architecture follows a traditional monolithic GUI pattern with separation between main application logic, UI components, utility functions, and a dedicated stylepak package for Flatpak-specific functionality.
Astal is a collection of GObject-based libraries for building Wayland desktop shells and widgets on Linux. It provides reactive primitives (Variable, Binding) for declarative state management, along with wrappers for system services like NetworkManager, UPower, Bluetooth, MPRIS, audio (WirePlumber), system tray, and compositor-specific protocols (Hyprland, River, ext-workspace). The framework supports multiple frontend languages (GJS/TypeScript, Lua, Python) and both GTK3 and GTK4 via separate library targets. Examples demonstrate complete status bars and widget systems. The architecture is modular: core reactive abstractions live in `lang/gjs` and `lib/astal/io`, while domain-specific libraries under `lib/` expose GObject signals and properties for hardware and desktop services. Build system is Meson with Vala/C sources, GObject Introspection for bindings, and Nix flake for reproducible packaging. The documentation site uses VitePress. The project is actively maintained but in early development (v0.1.0 WIP). It shows strong engineering practice with well-structured reactive patterns and clean GObject usage, though there is duplication across language bindings and some deprecated APIs remain (e.g., AstalIO.Variable). The codebase is feature-rich and immediately usable for building custom Linux desktop environments.
This repository is the COSMIC desktop environment's suite of panel applets, implemented as a Rust Cargo workspace with approximately 30 crate members. Each applet (audio, battery, bluetooth, network, notifications, power, tiling, time, accessibility, input sources, minimize, workspaces, app list, status area) is an independent cosmic::Application component that can be compiled as a separate binary or dispatched from a unified 'cosmic-applets' binary via symlink naming. The architecture follows the Elm/iced pattern with Message enums, update/view functions, and subscriptions to system events (Wayland protocols, D-Bus signals, config changes, timer ticks). All applets share a common localization infrastructure using i18n-embed and Fluent, and many reuse a 'wayland_subscription' pattern for compositor events. The codebase is actively developed by System76 for the Pop!_OS COSMIC desktop, with significant internationalization (60+ language directories) and integration with Linux system services (NetworkManager, PulseAudio, UPower, BlueZ, systemd-logind). It is not a data/research repository.
This repository provides a complete Hyprland dotfiles configuration, including window manager settings, keybindings, theme management, and utility scripts for a Linux desktop environment. In production, it defines the entire user interface behavior: workspace switching via keybinds, floating window rules, power profile switching (battery vs AC), screen locking with swaylock, screenshotting with grim/slurp, and brightness/volume controls via scripts. The architecture is a collection of Hyprland config files, terminal (foot) config, fish shell functions, and shell scripts, all sourced from a main `hyprland.conf`. Themes are managed through separate branches and a base theme that uses a template-based approach to generate CSS for the ironbar taskbar dynamically. The system's external dependencies include Hyprland, foot, wofi, swaylock, grim, slurp, swww, fish, light, pamixer, asusctl (optional), and ironbar. This is not a library or service but a personal desktop configuration set; reusability of individual components is limited due to tight coupling with Hyprland and specific tool choices, though the theming script demonstrates a portable template substitution pattern.