Lunar Plasma: a Lua scripting interface for KDE Plasma!
Hello everyone! I'm building something I've been wanting to make for a while: a scripting layer that abstracts KDE Plasma's desktop functions, so you can automate small parts of your desktop without having to dig through D-Bus interfaces every time.
You can check out the project on GitHub: https://github.com/Vaithre/lunar-plasma
Plasma already lets you do a lot, but whenever I wanted to automate something I usually ended up combining shell commands, qdbus, small scripts, etc etc. It works, but every script has to deal with the same details again. I wanted a small layer that handles that part, so the script can focus on what it is actually trying to do. For example, changing the volume should be as simple as plasma.sound.set(50).
I concluded it needed to be easy to embed, making it agnostic to whichever scripting language you choose. That's how Lua ended up being chosen to drive this project!
It is still in an early stage of development, but enough functionality has already been implemented to make sharing it worthwhile. Please feel free to try it out, share your thoughts, or even contribute. Lunar Plasma is still at a stage where changing the underlying structure is relatively easy. Thanks!