Vintage digital display with high-fidelity 7-segment font. Features Neon Green, Amber, and Retro Gray modes with integrated alarm.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 34 | Unreviewed |
| 33 | Active |
| 32 | Active |
| 31 | Active |
| 30 | Rejected |
| 29 | Active |
| 28 | Rejected |
| 27 | Rejected |
| 26 | Rejected |
| 25 | Rejected |
| 24 | Active |
| 23 | Active |
| 22 | Rejected |
| 21 | Rejected |
| 20 | Rejected |
| 19 | Active |
| 18 | Active |
| 17 | Active |
| 16 | Rejected |
| 15 | Active |
| 14 | Rejected |
| 13 | Active |
| 12 | Rejected |
| 11 | Active |
| 10 | Active |
| 9 | Active |
| 8 | Rejected |
| 7 | Rejected |
| 6 | Rejected |
| 5 | Rejected |
| 4 | Rejected |
| 3 | Rejected |
| 2 | Rejected |
| 1 | Rejected |
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.