Weather that lives in your top bar. The panel icon animates with the sky outside - sun, drifting clouds, rain, snow, thunderstorms - beside a live temperature. Open the menu and the whole card is the sky: a live animated backdrop of drifting clouds, twinkling stars and falling precipitation, painted frame by frame. What's inside: * Animated menu backdrop with eleven scenes, from clear sun and moon to fog, sleet, hail and lightning * Hourly chart: switch between temperature, precipitation or wind * The moon carries the real lunar phase at night; sunrise and sunset bathe the card in golden-hour light * Eight days of forecast tiles, current conditions at a glance * 20 languages with full bidirectional support: the entire card mirrors in Arabic, Hebrew, Persian and Urdu * Metric or imperial units, 12- or 24-hour clock, live scene previews in preferences * Three backdrop styles: animated sky, solid, or theme background with accent charts Weather data from Open-Meteo (global), Met.no (ECMWF) and NOAA NWS - choose your favourite forecaster, no API keys needed. Location: detected automatically through GNOME's own location service (IP lookup where none is available), or a city you pick. No accounts, no tracking, no analytics: weather requests go straight from your machine to the provider you choose. Automatic detection prefers the system location service, with the standard GNOME prompt naming this extension; its IP-lookup and city-label fallbacks each contact one free keyless endpoint and are used only when needed. Nothing is cached on disk. Demo: https://github.com/vijaybala-lang/weatherglass/releases/download/v8/weatherglass-demo-card.mp4
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-A-001 manual_review
extension code must not be minified or obfuscated
File appears obfuscated: 66% of identifiers are 1–2 characters (avg length 2.6).
sky.js
short identifier ratio: 66%, identifiers scored: 699
EGO-L-004 warning
main loop sources should be removed in disable()
Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.
menu.js:143
this._clockId = GLib.timeout_add(GLib.PRIORITY_LOW, FRAME_MS, () => {
const now = GLib.get_monotonic_time();
if (this.mapped ?? true) {
this._time += Math.min((now - this._lastUs) / 1000000, 0.1);
this.queue_repaint();
}
| Version | Status |
|---|---|
| 10 | Unreviewed |
| 9 | Active |
| 8 | Active |
| 7 | Rejected |
| 6 | Rejected |
| 5 | Active |
| 4 | Rejected |
| 3 | Rejected |
| 2 | Rejected |
| 1 | Rejected |
I see some unnecessary try-catch wrappers here. Please note, we have a rule for AI: - [EGO Review Guidelines: AI](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#extensions-must-not-be-ai-generated) - [Extensions Best Practices Guidelines](https://gjs.guide/extensions/review-guidelines/best-practices.html#submissions-require-maintainership) Also, please fix the mojibake chars.
and please add GitHub or GitLab repo url to the `metadata.json`: [EGO Review Guidelines: url](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#metadata-json-must-be-well-formed)
Thanks JustPerfection for the review. 1) I addressed the a few of the the try-catch that are unnecessary. If there are any others, please let me the line numbers and I will take a look. 2) As for mojibake chars, I sweeped the code and removed anything that is not ascii text. 3) Added a link to github repo in the metadata.json