Glint maintenance and technical notes
Glint is maintained for its existing Windows use case rather than developed as an active cross-platform product. Small fixes may be possible, but new feature work should not assume the old roadmap is active.
Repository structure
main.py application entry point
src/core/stats.py psutil CPU, RAM, disk, and network helpers
src/core/sensors.py combined metrics, WMI, and temperature probes
src/ui/hud.py Windows HUD, painting, timer, and mouse input
src/ui/tray.py tray icon and Windows startup shortcut
src/ui/lin_hud.py empty Linux runtime placeholder
glasshub-updater/ incomplete updater prototype
assets/icon.svg tray icon
main.py creates one QApplication, disables quit-on-last-window-closed,
shows GlassHUD, and installs the tray manager.
Rendering and sampling
GlassHUD is a frameless translucent Qt.Tool window kept on the bottom
window layer. A one-second QTimer calls get_all_sensors(), then schedules a
repaint. The painter draws the background, border, labels, and rounded usage
bars directly.
The data layer uses psutil for basic metrics. WMI is imported unconditionally for Windows temperature access. OpenHardwareMonitor loading is optional and failure-tolerant, but it requires compatible external components that are not shipped by this repository.
Maintenance boundaries
The following README roadmap items are historical ideas, not committed work:
- GPU usage and displayed temperatures
- acrylic blur and a settings panel
- configurable opacity, refresh rate, and autostart
- compact mode, themes, plugins, and multi-monitor presets
The current context menu does not expose Update or Settings. The updater implementation is a stub, and its entry point imports an undefined project module. Updates therefore require a fresh source checkout or manual Git update.
Packaging state
The declared distribution name is glasshud, but the configured package and
console-script targets do not match the current src tree. The dependency
sets also disagree: pyproject.toml includes requests, while
requirements.txt does not; the updater does not yet use either path
successfully.
Until packaging is repaired, test with a Windows virtual environment and
python main.py. CI installs requirements.txt, runs syntax-focused Flake8,
and invokes pytest on Windows with Python 3.10. The workflow explicitly treats
an empty test collection as success, so a green run does not demonstrate
behavioral coverage.
What a future revival would require
A genuine cross-platform continuation would need to:
- isolate Windows WMI, registry, shortcut, and window-layer behavior behind platform adapters;
- implement and test a Linux/macOS UI and lifecycle path;
- reconcile the source tree, distribution name, entry points, and dependency declarations;
- add behavioral tests for collection, painting-independent logic, tray lifecycle, and configuration;
- either implement a secure update mechanism or remove the updater entry points; and
- rewrite compatibility documentation from verified platform results.
That work is deliberately not presented as scheduled. Maintenance mode means the current Windows utility is preserved without promising this redesign.