Get a picture of the day as desktop background or wallpaper. Supports the following sources: NASA Astronomy Picture of the Day (APOD), NASA Earth Observatory Image of the Day, Bing, Wikimedia Featured Image, and Simon Stålenhag artworks.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
Version | Status |
---|---|
47.5 (36) | Active |
47.4 (35) | Active |
47.3 (34) | Active |
47.2 (33) | Active |
47.1 (32) | Active |
47.0 (31) | Active |
46.7 (30) | Active |
46.6 (29) | Active |
46.5 (28) | Active |
46.4 (27) | Active |
46.3 (26) | Inactive |
45.15 (25) | Active |
46.2 (24) | Active |
45.14 (23) | Inactive |
46.1 (22) | Inactive |
46.0 (21) | Inactive |
45.13 (20) | Inactive |
45.12 (19) | Inactive |
45.11 (18) | Inactive |
45.10 (17) | Inactive |
45.9 (16) | Inactive |
45.8 (15) | Rejected |
45.7 (14) | Rejected |
45.6 (13) | Inactive |
45.5 (12) | Inactive |
45.4 (11) | Inactive |
45.3 (10) | Inactive |
45.2 (9) | Inactive |
45.1 (8) | Inactive |
45.0 (7) | Rejected |
0.5 (6) | Inactive |
0.3 (5) | Inactive |
0.3 (4) | Rejected |
0.2.1 (3) | Inactive |
0.2 (2) | Rejected |
0.1 (1) | Rejected |
1. Please use empty lines between functions, methods, classes, ... https://gjs.guide/extensions/review-guidelines/review-guidelines.html#general-guidelines 2. You cannot create instance of objects in the constructor: - line 17-19 lib/vendor/xmlchars/xmlns/1.0/ed3.js - line 20-26 lib/vendor/xmlchars/xml/1.1/ed2.js - line 19-24 lib/vendor/xmlchars/xml/1.0/ed5.js - line 31-41 lib/vendor/xmlchars/xml/1.0/ed4.js https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-initialization-for-static-resources 3. We can approve the vendor folder right now but if you are going to make it larger in the future, use external libraries/apps instead: https://gjs.guide/extensions/review-guidelines/review-guidelines.html#scripts-and-binaries
I'll check out 2), but before I dive into the code I'd like to clarify 1 and 3: 1) The source of of this extension is in typescript, and what you see is the compiler output; I am not sure I can influence that. There doesn't seem to be an option to preserve the source layout, see eg https://github.com/microsoft/TypeScript/issues/843 As such I'm not sure if I can even address this point. 3) I'm not sure I understand this point. I need to parse XML in this extension, to get data out if RSS feeds. There's no XML parser available for GJS (I asked in the matrix channel), so I vendored the smallest one I could fine. How should I use an external application or library here? Do you mean to suggest I should eg write a Python script to parse XML into JSON and call this as a subprocess, instead of vendoring an XML parser?
## 1 Some extensions using TypeScript and they send it with empty new line here. For example: https://github.com/marcinjahn/gnome-quicksettings-audio-devices-hider-extension ## 3 If you are asking for the tools (xq or jtm) and use it via spawn command. users can install them as a dependency for this extension.
## 1 Okay, they reformat the generated JS explicitly. That idea didn't occur to me; I think I can do something similar. ##3 I think relying on some external tool which isn't even packaged widely (xq isn't even in Fedora as far as I can see, and I don't even know what jtm is) for something as simple as XML parsing, makes for a terrible user experience, not to mention the additional complexity of checking the dependency, configuring the path, designing a UI to warn about missing dependencies, making sources optional if dependencies are missing, etc. As a compromise, would you accept an Python 3 script as part of the extension which uses Python's standard library modules elementtree and json to convert XML to JSON?
No, It's always better to use gjs instead of something like Python when it's possible. btw, as I mentioned before, it's not needed to fix #3 atm. Please send it with #1 and #2 fix and the package will get approved.
Except, right now it's just impossible to parse XML short of vendoring an XML parser. But seems like I misunderstood you; I thought you had objected to the vendored code, so thanks for the clarification. I'll send a new version around which addresses #1 and #2. Thanks for the review.
Concerning 2), I don't really understand what you'd like me to do. Perhaps I'm misunderstand what you're referring to with "instance" and "constructor", but as far as I can see none of these files creates instances of any objects in a constructor? Are you perhaps referring to the top-level calls to the `new Regexp` constructor? If so, are top-level regex literals okay?
Extensions cannot create anything with `new` in global scope.
Okay. That's kind of a weird rule when it comes to JS primitives or POJOs in my opinion 🤷, but I'll interpret it favourably as to say that a regex literal is okay 😎
Approved since we are allowing `Regexp` on the updated ego review guidelines: https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-initialization-for-static-resources
Thank you so much ♥