Review of "Retro LCD 7-Segment Clock" version 23

Details Page Preview

Vintage digital display with a high-fidelity 7-segment look. 10 color themes, custom colors, ghost segments, CRT scanlines, desktop widget mode, a quick color-switch menu, a date tooltip on hover, and integrated alarms with an on-screen dialog so they're never missed. Draws its digits from SVG path data embedded in the extension's code (no system font installation needed) and plays alarms through GNOME Shell's native sound theme; no bundled audio, font or image files.

Extension Homepage
https://gitlab.com/corral1976/gnome-shell-extension-relojlcd

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental)

Shexli has not produced a result yet.

All Versions

Previous Reviews on this Version

Corral1976 posted a review
Technical Fixes and Optimization: GNOME Shell Stability: Resolved the crash risk in extension.js. Added a safety check using Gst.is_initialized() before calling Gst.init(null) to comply with GJS best practices and prevent redundant initialization of the GStreamer engine. Asset Management: Confirmed that all media assets (TrueType font and OGG audio) are stored locally in the assets/ directory, adhering to GNOME’s privacy guidelines regarding external resources. Audio Lifecycle: The GStreamer playbin pipeline is now correctly set to Gst.State.NULL during _stopAlarm() and the extension's disable() phase to ensure complete memory cleanup and prevent background processes from hanging. Visual Polish: Adjusted the CSS logic in _updateStyle() by setting font-weight: 200. This fixes a visual regression where the 7-segment display appeared too bold, restoring the intended thin-segment vintage aesthetic. Code Quality: Performed a full cleanup of redundant comments and debug logs to ensure the codebase is professional and easy to audit. Final Note on GStreamer Initialization (Line 12): Following the feedback regarding a potential Shell crash, the Gst.init() call has been wrapped in a Gst.is_initialized() conditional. This implementation follows the official GJS documentation for GStreamer 1.0, ensuring that the media engine is never re-initialized if it is already active within the Shell's process. This fix guarantees that the extension remains stable through multiple enable/disable cycles and prevents any memory or thread conflicts during the audio pipeline setup.
JustPerfection active