$ show Sinomor/delta-shell
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.
The LLM identified 2 files worth highlighting for reuse:
This file exports a comprehensive mapping of keyboard layout names to short display codes (e.g., 'English (US)' to 'Us'). It is a self-contained data structure with no dependencies, making it easily reusable in any project that needs to display keyboard layout information.
This file implements a reusable Timer class that supports starting, pausing, resuming, and canceling, with elapsed time tracking. While it depends on the AGS framework's interval function for timing, the core logic is independent and can be adapted to other timing mechanisms with minimal changes. It is used throughout the codebase for OSD, notifications, and power management countdowns.