Show HN: CLIPS1wm – a minimal X11 window manager in CLIPS

2 ryjo 0 8/31/2025, 11:41:45 AM github.com ↗
Hey, 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

Comments (0)

No comments yet