This week besides some client work I contributed to shadow-cljs-gjs-target.
shadow-cljs-gjs-target
is a plugin for Shadow CLJS that allows people to build Gnome applications in ClojureScript via GJS Gnome JavaScript Bindings.
This started from my desire to build Gnome Extensions so I can improve my workflow. I use Gnome on my Debian system and I would like to improve how I manage my time. I thought about using an extension to help me with my time tracking app - hledger - which is a plain text tool.
I found How to create GNOME Extension video series on YouTube and I thought - can I do this with Clojure(Script)?
As I said, I wanted to see if I can build Gnome extensions in ClojureScript. Since Gnome extensions are written in JavaScript and use Gjs I thought that a good place to start is shadow-cljs-gjs-target.
I got feedback from the plugin author @titonbarua and also ShadowCLJS author Thomas Heller. I was able to draft a working example and the PR to build Gnome Extensions with ClojureScript was merged.
When I have some time I would like to explore making some useful Gnome extensions. I will probably start with porting the How to create a GNOME extension code from JavaScript to Clojure.