Replies: 8 comments 20 replies
-
I'm still very keen to continue to maintain and keep Hammerspoon alive, as it's the "engine" behind CommandPost, and I have no intention of killing CommandPost anytime soon. CommandPost has grown a lot over the years if you haven't checked it out recently. It's pretty amazing what we've been able to build using Lua and simple HTML user interfaces! Having said, that, I've spent more of this year building commercial/paid Mac apps:
So, I now know enough Objective-C and Swift + Swift UI to be very dangerous, haha. It's worth noting that NONE of the above would have been remotely possible without the help and support of @cmsj & @asmagill - I owe all my Objective-C knowledge and skills to you two - you've both helped me so incredibly much. Thank you, thank you. Throwing it out there... I would be totally open to "taking over" the Hammerspoon repo and maintaining it. I'd probably rebuild the website to be more like CommandPost and replace the icon to match our existing icons (ignoring the last 3 as they're just placeholders). Apart from that, I'd just try and keep it alive. I'm also TOTALLY excited and interested in helping you build Hammerspoon Pro at the same time - a Swift + Swift UI re-write of Hammerspoon. I would LOVE to help make this happen. You could even drop Lua all together, and make the scripting in Swift? |
Beta Was this translation helpful? Give feedback.
-
Another change I'm making is adding a Discord server because IRC has proven to be almost entirely useless. Invite link is: https://discord.gg/vxchqkRbkR |
Beta Was this translation helpful? Give feedback.
-
any plan to provide 3rd language api? such as Rust |
Beta Was this translation helpful? Give feedback.
-
I would be happy with scripting in Python or JavaScript — either Deno or Node.js. Deno is probably easier to integrate. I've had to completely rewrite many of my Python CLI scripts in Lua to integrate them well with Hammerspoon... and yes, it was a pain because Lua is a very limited language for scripting. |
Beta Was this translation helpful? Give feedback.
-
Just thinking out loud if you did want to handball Hammerspoon to me as the main maintainer, these are the initial steps I'd probably do (with your blessing/advice of course):
Apart from the above, I don't think anything else would really change initially. I'd still just rely on the community to add pull requests for new extensions and bug fixes. Thoughts? |
Beta Was this translation helpful? Give feedback.
-
Not sure how I missed this the first time around... I understand where you're coming from @cmsj -- while I have a few specific things I'd still like to accomplish (Catalina back-port, revamp webview and canvas so that it's easier to add other NSView based things without replicating a crap-ton of code, proper regex, etc.) I do agree that the motivation and drive isn't what it once was. And I'd love to get Lua/LuaSkin (or whatever the scripting engine becomes) off of the main thread and let the main thread just be a queue for tasks that are supposed to occur there (UI updates, eventtaps, etc.) while other threads do the heavy lifting. But that's basically a full rewrite... I'm not adverse to @latenitefilms taking over as head. I still hope to contribute, but it will be more of a "as and when I can" and not necessarily on a regular schedule. |
Beta Was this translation helpful? Give feedback.
-
@cmsj, I know Hammerspoon itself has some dependancies that rely specifically on you (cert signing, Sparkle feed, etc.) but for the spoons, is this something I could also do? I think we have a few that are probably ready for inclusion, but I don't know the steps you follow to create the zip file, verify the docs, etc... is it a script or does it also rely on tokens or certificates only you have? Not that I promise specific regularity, but it might lessen the load that depends on you at the moment. |
Beta Was this translation helpful? Give feedback.
-
I never liked Lua. So an scripting engine for user scripts in Swift or TypeScript would attract more people, because they are more popular than Lua. |
Beta Was this translation helpful? Give feedback.
-
Mostly for the attention of @asmagill and @latenitefilms , but general discussions are very welcome.
I think it's been pretty clear for a while now that I am not doing a good job at maintaining Hammerspoon. If I'm completely honest with myself, I just don't find any joy anymore in working on this codebase.
I'm super proud of what we've all done together over the last 8.5 years, but I think we should talk about what happens next.
I'm still very hungry for programming, but I find myself wanting to play with new things and refine architectures until I think they're excellent. Hammerspoon has enough of a userbase, and enough very old and crufty code, that it feels impossible to bring the kinds of changes I think it needs (how many times have we discussed what we'd like to do before the 1.0 release that seems just as far away as it did a few years ago).
I'm also still very much interested in automation - I still use Hammerspoon all the time and I don't want to be without it, which means I can't just abandon it and let it slide until it no longer works properly.
If I had infinite free time, I would start from scratch and focus on:
Unfortunately, I don't have infinite free time, so on my own such an undertaking would take an extremely long time.
All of which brings us to the part where I need other opinions and voices - is anyone else feeling like this? Is anyone else hungry for a change? Would anyone else be able to spare time to work on such a thing with me?
We would be signing up for a ton of work and a 100% guarantee that we would require every single existing Hammerspoon Spoon and config to be at least somewhat rewritten. I would feel bad about that, but I'd rather feel bad about it and still be actively working on the project, than not.
Beta Was this translation helpful? Give feedback.
All reactions