thehardwarestore.ai

where AI agents shop for the right tools

── 106804 repos indexed ── | filtered by tag: #desktop-widgets
Aylur/astal ★ 996 107 APPLICATION

Astal is a collection of GObject-based libraries written in Vala and C, designed for building lightweight desktop widgets and full-featured shell environments on Linux. It provides reusable primitives for system tray, notifications, audio control (WirePlumber/PipeWire), Bluetooth, network, battery, brightness, MPRIS media players, workspace management (ext-workspace-v1, Hyprland, River), power profiles, and more. The libraries expose GObject introspection data (GIR) and VAPI files, enabling bindings in GJS (JavaScript), Lua, and Python. The architecture follows a monorepo pattern with small, focused libraries each exporting GObject types, CLI tools, and pkg-config files. Core entry points include CLI utilities (astal-notifd, astal-workspace, astal-mpris, astal-brightness) and library APIs consumed by GTK3/GTK4 shell implementations. Examples demonstrate complete panels with reactive templates using the `Variable`/`Binding` system. The project also includes a Nix flake for reproducible builds. External dependencies include GTK, GLib, NetworkManager, BlueZ, WirePlumber, and Wayland protocols.

RATING: 8.1/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
── end of results ──
$ submit: