Review of "Smart Auto Move" version 21

Details Page Preview

Smart Auto Move learns the position, size, and workspace of your application windows and restores them on subsequent launches. Supports Wayland. NOTE: Optimized for use with static workspaces. For more control, set the default behavior to IGNORE and then selectively RESTORE only desired apps. KNOWN ISSUES: Multi-monitor is not yet well supported. You may need to manually delete Saved Windows in preferences after adding or removing a display.

Extension Homepage
https://github.com/khimaros/smart-auto-move

No comments.

Diff Against

Files

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

All Versions

Previous Reviews on this Version

JustPerfection rejected
1. No need to use `settings-path` in `metadata.json`. 2. You cannot create instance of objects in the global scope and leave it there after window close (line 53 `prefs.js`): [EGO Review Guidelines: Destroy](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-initialization-for-static-resources) You can create the settings in the entry point and attach it to the window: [GJS Guide: Prefs](https://gjs.guide/extensions/development/preferences.html#prefs-js) 3. Please don't use deprecated modules (line 8 `extension.js`): [EGO Review Guidelines: deprecated modules](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#do-not-use-deprecated-modules) 4. Use `console.*` instead of `log()`: [Port Guide 45: Logging](https://gjs.guide/extensions/upgrading/gnome-shell-45.html#logging) 5. You are storing the timeout ids in the same variable which can lead to not removing one of them on disable (line 394, 400 and 477-478 `extension.js`).
khimaros posted a review
i've completed #1, #2, and #4 (not yet uploaded) re: #3, is there an example of how to migrate to GLib.MainLoop? i don't see in the migration docs. re: #5, i'll take a look at this next.
JustPerfection posted a review
As the docs mentioned, there is `GLib.timeout_add()`: https://gjs-docs.gnome.org/glib20~2.0/glib.timeout_add
khimaros posted a review
i've completed #1, #2, #3, and #4 (not yet uploaded) re: #5, either i'm misunderstanding the request or you've misread the code. there are two (very similarly named) variables `timeoutSyncSignal` and `timeoutSaveSignal` (sync vs. save). am i misunderstanding your request?
JustPerfection posted a review
| Variable Name | Line Number | | --------------------| ----------- | | `timeoutSyncSignal` | 400, 477 | | `timeoutSaveSignal` | 394, 478 | You should either remove the timeout before recreating another one or use a different variable name for them.
khimaros posted a review
ah, i understand now. when a timeout fires, it is not automatically removed. okay, all set. uploading a new zip file now.