Automatically switches between light and dark themes based on sunrise/sunset times for your location. Supports multiple trigger options (golden hour, dawn, dusk, etc.), gradual brightness transitions, and syncs with Night Light. Uses ipinfo.io, sunrisesunset.io, and openstreetmap.org services. If you find any bugs/issues, feel free to create an issue at https://github.com/amritashan/gnome-shell-extension-auto-theme-switcher/issues
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 8 | Active |
| 7 | Inactive |
| 6 | Rejected |
| 5 | Rejected |
| 4 | Rejected |
| 3 | Inactive |
| 2 | Rejected |
| 1 | Rejected |
Thank you for the detailed review! I've addressed all four points in the latest submission: 1. gschemas.compiled Removed Issue: schemas/gschemas.compiled was being included in the package. Fix: Removed the glib-compile-schemas command from the package build script (package.sh). The package now contains only the source .gschema.xml file. The compiled schema is not included and will be generated automatically by GNOME 45+ during installation. You can verify: The zip now contains only schemas/org.gnome.shell.extensions.auto-theme-switcher.gschema.xml with no gschemas.compiled file. 2. Timeout Management (Line 165) Issue: Resume timeout at line 165 wasn't being stored or cleaned up in disable(). Fix: The timeout is now stored in this._resumeTimeoutId * Existing timeout is cleared before creating a new one * Added cleanup in disable() method to remove the timeout * Reference: extension.js:165-176, 220-223 3. Async Subprocess (Line 817) Issue: Using GLib.spawn_command_line_sync() which can freeze the shell. Fix: * Replaced with async Gio.Subprocess implementation * Created _checkCommandAvailable() helper function using wait_check_async() * Made _scheduleBrightnessUpdates() async to support the new implementation Reference: extension.js:813-830 4. Null Out this.settings in prefs.js Issue: this.settings wasn't being nulled in the close-request handler. Fix: Added this.settings = null to the close-request handler for proper garbage collection. Reference: prefs.js:1213 All changes have been tested locally and the extension is working correctly without errors. Sorry about the large diff in the last one. I had already started working on a new feature. This diff, however, is focused and addresses only the specific issues raised. Thank you for your patience!
Thanks! Since this is a new extension, I highly recommend to mention it in the **TWIG (This Week in GNOME)** Matrix channel and spread the news, so you can get more users and downloads: - [This Week in GNOME Matrix Channel](https://matrix.to/#/#thisweek:gnome.org) - [This Week in GNOME Website](https://thisweek.gnome.org/) You can also add `donations` to the `metadata.json`, so people can donate to you if they want: [Extension Anatomy: donations](https://gjs.guide/extensions/overview/anatomy.html#donations)