Review of "Bluetooth Smart Lock" version 1 (1)

Details Page Preview

Dynamic lock for GNOME. Use your smart phone/watch/band to lock your desktop automatically when you step away. When your device is out of Bluetooth range or gets disconnected, the session locks automatically. Features: - Locks the session when your paired device disconnects or leaves Bluetooth range - Optional proximity locking: locks as the device leaves the room, based on RSSI signal strength - Optional auto-unlock when the device comes back - Adjustable lock delay - Works with any paired Bluetooth device Proximity locking (optional, requires the bt-rssi service) Proximity locking is powered by bt-rssi, a small companion system service that reads RSSI values for already-paired devices - no scanning, no extra radio activity. It is not needed for the basic disconnect-based locking. Install bt-rssi once on the host, then enable and start it: Debian / Ubuntu: sudo apt install ./bt-rssi_<version>_amd64.deb Fedora / RHEL: sudo dnf install ./bt-rssi-<version>-1.<arch>.rpm Other distros (tarball): tar -xzf bt-rssi-<version>.tar.gz sudo ./install.sh Enable and start: sudo systemctl enable --now bt-rssi.service Get the matching package for your distro from the GitHub releases page: https://github.com/ba0f3/gnome-bluetooth-smartlock/releases Once installed, proximity locking works automatically - no extra configuration needed. The disconnect-based lock keeps working without the service. Requirements: bluez (Debian/Ubuntu: sudo apt install bluez)

Extension Homepage
https://github.com/ba0f3/gnome-bluetooth-smartlock

No comments.

FAQ

Files

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

Shexli (experimental) warning 3

Shexli found 3 issues that may need reviewer attention.

EGO-L-001 warning

extension must not create GObject instances or modify shell before enable()

Resource creation or signal/source setup was found outside `enable()`.

Only use initialization for static resources

  • settings.js:114
    settings = new Settings()
  • settings.js:114
    new Settings()

EGO-L-006 warning

preferences classes should not retain window-scoped objects on instance fields without close-request cleanup

Preferences code stores window-scoped objects on the exported prefs class without `close-request` cleanup.

Destroy all objects

  • prefs.js:34
    this._settings = this.getSettings()

EGO-M-008 warning

extensions using unlock-dialog must document it in disable() comments

Extensions using `unlock-dialog` should document the reason in `disable()` comments.

Session Modes

  • extension.js:65
        disable() {
            this._indicator.destroy();
            this._indicator = null;
    
            if (this._deviceChangeSignal)
                this._settings.disconnect(this._deviceChangeSignal);
    
            if (this._indicatorChangeSignal)
                this._settings.disconnect(this._indicatorChangeSignal);
    
      

All Versions

Version Status
1 (1) Unreviewed