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.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 35 | Active |
| 34 | Active |
| 33 | Active |
| 32 | Rejected |
| 31 | Active |
| 30 | Active |
| 29 | Rejected |
| 28 | Active |
| 27 | Active |
| 26 | Active |
| 25 | Inactive |
| 24 | Rejected |
| 23 | Rejected |
| 22 | Rejected |
| 21 | Rejected |
| 20 | Active |
| 19 | Inactive |
| 18 | Inactive |
| 17 | Inactive |
| 16 | Inactive |
| 15 | Inactive |
| 14 | Inactive |
| 13 | Inactive |
| 12 | Inactive |
| 11 | Inactive |
| 10 | Inactive |
| 9 | Inactive |
| 8 | Inactive |
| 7 | Rejected |
| 6 | Inactive |
| 5 | Inactive |
| 4 | Inactive |
| 3 | Inactive |
| 2 | Rejected |
| 1 | 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`).
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.
As the docs mentioned, there is `GLib.timeout_add()`: https://gjs-docs.gnome.org/glib20~2.0/glib.timeout_add
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?
| 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.
ah, i understand now. when a timeout fires, it is not automatically removed. okay, all set. uploading a new zip file now.