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

Details Page Preview

Vintage digital display with high-fidelity 7-segment font. Features Neon Green, Amber, and Retro Gray modes with integrated alarm.

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) warning 2

Shexli found 2 issues that may need reviewer attention.

EGO-L-002 warning

objects created by extension should be destroyed in disable()

Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.

Destroy all objects

  • extension.js:101
            this._clockLabel = new St.Label({
                text: this._getPlaceholderText(showSeconds, showDate, isWidget),
                y_align: Clutter.ActorAlign.CENTER,
                style_class: 'reloj-lcd-label'
            })

EGO-L-005 warning

owned object references should be released in disable()

Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.

Destroy all objects

  • extension.js:101
            this._clockLabel = new St.Label({
                text: this._getPlaceholderText(showSeconds, showDate, isWidget),
                y_align: Clutter.ActorAlign.CENTER,
                style_class: 'reloj-lcd-label'
            })

All Versions

Previous Reviews on this Version

Corral1976 posted a review
Version 38 - Memory & UX Fixes Implemented Changes: EGO015 Fix (Memory Leak): Implemented a professional signal management system in extension.js. Initialized this._signals array in the constructor. Created _connect(obj, signal, callback) helper method to automatically track {obj, id} pairs. Added a cleanup loop in disable() that disconnects all signals before clearing the array. Replaced all direct .connect() calls with this._connect() for both the widget and the panel indicator. Widget Dragging UX Improvements: Added Clutter.grab_pointer(actor) at the start of dragging (button-press-event). Added Clutter.ungrab_pointer() when dragging ends (button-release-event). Result: This prevents the "lost widget" issue where the clock would stop moving and get stuck on the desktop if the user moved the mouse too quickly, especially with smaller widget sizes. Event Return Correction: Ensured all event handlers return Clutter.EVENT_STOP or Clutter.EVENT_PROPAGATE as appropriate. Fixed the panel button-press-event return logic for better consistency. Modified Files: extension.js: Signal management system and dragging logic improvements. metadata.json: Version bumped to 38. I upgrade this Version 38 because I forget to put the ttf in the zip file :) Thank you for your patience and your help.
Corral1976 auto- rejected
Auto-rejected because of new version 39 was uploaded