Show HN: CLIPS1wm – a minimal X11 window manager in CLIPS
github.comHey, HN! CLIPS1wm is an X11 window manager written in CLIPS, my language of choice over the last few years. It's based on functionality provided by 1wm[1], a minimal wm written in C.
I was inspired to write this after seeing a post[2] about 1wm on HN. I was struck by 1wm's (then called mwm) simplicity, so I dusted off a CLIPS X11 library I had started[3] and have been using CLIPS1wm as my main wm for the last few weeks on my Lubuntu vm.
Why CLIPS? Rules, Facts, and Instances with a Rete[4]-like algorithm give you caches, indexing, and pattern-matching out of the box rather than hand-rolled while loops. CLIPS is written in C, so it's really convenient for integrating with X11. Finally, CLIPS is more than fast enough for event-based wms; I've also used it for real-time performance-centered applications[5].
My goal in writing this is to help spread CLIPS widely, so give it a try, or even just review the implementation in the CLIPS1wm.multifield.clp, CLIPS1wm.fact.clp, and CLIPS1wm.instance.clp files.
Let me know what X11 features I should try to bring in next!
---
[1]: https://github.com/lslvr/1wm [2]: https://news.ycombinator.com/item?id=44634208 [3]: https://github.com/mrryanjohnston/CLIPSX11 [4]: https://en.wikipedia.org/wiki/Rete_algorithm [5]: https://ryjo.codes/tour-of-clipsraylib.html
No comments yet.