Review of "On-Screen Keyboard Tweaks" version 1

Details Page Preview

Tweaks for the GNOME Shell On-Screen Keyboard. This extension allows the user to override the automatic keyboard layout with a custom layout and change the aspect ratio of the keys, as well as the overall size of the keyboard independently for the horizontal and the vertical layouts of the display. The extension also features a status bar indicator to show or hide the on-screen keyboard.

Extension Homepage
https://github.com/jlempen/gnome-shell-osk-tweaks

No comments.

FAQ

Files

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

All Versions

Version Status
1 Waiting for author

Previous Reviews on this Version

andyholmes waiting for author
Most of the extension is okay, but there are a few tricky spots. In the functions `_loadSettings()`, `_storeSettings()` and `_settingsChangeHandler()` the keyword `this` refers to the scope of the script (eg. `[extension.js]._settings`). This means each time one of these functions is called, `this._settings` is overwritten with a new GSettings object, however the signal handlers are never disconnected and can't be because the variable now points to the new object. You should instead treat `_settings` the same way your treat `_indicator`, by creating a single GSettings object in `enable()`. Then either store the return values of `_settings.connect()` and call `_settings.disconnect(signal_id)` for each signal id in `disable()`, or for a lazier fix call `_settings.run_dispose()`. A similar thing should be done in `destroy()`. Does this make sense?