Live data from Hacker News

Show HN: A Tiling Window Manager for Windows, Written in Janet

agent-kilo.github.io

71–80 of 112 posts

Re: Show HN: A Tiling Window Manager for Windows, Written in Janet

#71

Custom windows shells (I know this is just a window manager, but still) in the year of our lord 2025? This takes me back to the days of installing bb4win and litestep in XP. I'm a kid again!

Is it just me or did not a single one of those "l33t haxker shells" ever produceable a single ui innovation that lasted? I mean, I remember there being a whole ton of wildly customized windows shells with menus and floating terminals and so on, but not a single thing stuck around?

I'm not sure about the Windows scene, since I only toyed around with one or two shells nearly twenty years ago, but the motivations for creating windows managers in Unix varied. Quite often they were about the appearance, customization, ease of customization, lack of customization, or low resource usage. I suspect that most of them were made for the learning experience or simply as a form of self-expression. They were never really about innovation. When there was innovation, it was usually in the form of small things like how we size and position windows (e.g. think about how it is possible to tile windows in Windows these days).

Besides, the term innovation is used far too much with respect to software, in the sense that a lot of stuff can be traced back much further than the so-called innovators will suggest. Many ideas have deep roots, but it took several (often independent) attempts until the technology or its users were ready for it.

Re: Show HN: A Tiling Window Manager for Windows, Written in Janet

#72

I recently tried hyprland after using xmonad for like 10+ years and wondered about the decision to bind workspaces to displays. I didnt like that. How does Jwno handle multiple monitors? I have looked at the docs and didnt see it mention anywhere.

Sorry for the confusion. Multi-monitor support is only briefly mentioned in the docs[1] and the interactive tutorial[2].

Jwno's internal data structure has these levels (higher-level comes first):

Root - Virtual Desktops - Monitors - Normal Frames - Windows

So monitors are part of a virtual desktop, and every virtual desktop has the same layout that reflects your physical monitor arrangement. When you switch virtual desktops, all monitors switch to the new desktop at the same time.

[1]:https://agent-kilo.github.io/jwno/frame-tree/frame-nodes.htm...

[2]: https://github.com/agent-kilo/jwno/blob/master/example/tutor...

Re: Show HN: A Tiling Window Manager for Windows, Written in Janet

#73

Long-time StumpWM user, before I switched back to Windows a few years ago. This is super-exciting to see, and I'm going to take it for a spin. It might just address my major frustrations with arranging windows and switching between them; my monitor seems just the right shape/resolution for the standard Windows splits to be suboptimal. (Browsers, in particular, I use full-screen less and less. That annoying trend of s…

A fellow StumpWM user!

My StumpWM is heavily customized though, and I mostly modeled Jwno's behavior after my own config, so it may not be what you expected at all.

But that's one of the reasons I like Lisp and things built in Lisp: They are so flexible, you can sometimes build something based on the original thing, while it feels completely different from the original.

> my monitor seems just the right shape/resolution for the standard Windows splits to be suboptimal

Do you use an ultra-wide? In that case, Jwno has no OOTB ultra-wide support, but there's a section for adjusting it in the cookbook[1].

[1]: https://agent-kilo.github.io/jwno/cookbook/adjust-top-level-...

Re: Show HN: A Tiling Window Manager for Windows, Written in Janet

#75

Earlier quoted context omitted.

Yes, I mean the conditions and restarts system in CL. Haven't seen anything like that in Clojure and other Lisps.

Yeah, it's mind-blowing when it clicks, and makes the whole "exceptions vs. return types" discussion look like a quarrel of 3yos in a sand box. Error handling in other languages/runtimes just doesn't feel sufficient from now on. This is, of course, just a part of a larger whole - the fact that your Common Lisp program ships with a compiler it can access and effectively always runs in an edit-and-go debugger. Embracin…

> I now realized this should be easily fixable with external tooling - i.e. in Emacs/SLIME. What I think they need is a better way of keeping an audit trail. Capturing and persisting as much of the transient interactions you did as possible, letting you revisit them after and easily transfer into code or tests.

To some extent, undotree on neovim allows this because it offers a drastically different view on what "undo" means. But I agree with you, the lack of a git-like system is annoying. I even think this might be THE reason CL didn't catch on—companies want to keep track of things (hence all the dashboards and ticketing systems...).

Re: Show HN: A Tiling Window Manager for Windows, Written in Janet

#77
post #38

I always disliked the chaos that happens quickly with application windows, and loved the idea of tiling. But none of them really worked for me practically until I found PaperWM around a year ago or so (gnome extension). It has few core shortcuts and feels more natural. Like you would really arrange applications directly on your desk. It does not limit itself by your screen width and has the nice default that a new wi…

[deleted]

Re: Show HN: A Tiling Window Manager for Windows, Written in Janet

#78
post #7

This is so cool! It's funny because open source devs are making Windows better while MS is actively making it worse. If MS removed all telemetry and AI (and restored win10 functions in context menus), I would probably move back to it. I've recently started playing around with Janet, and it's a great language. I think it's inspired by Clojure and Lua, and somehow manages to be better than both (in my opinion).

[deleted]

Re: Show HN: A Tiling Window Manager for Windows, Written in Janet

#79

That UI hinting feature is killer. Is something similar available outside of this repo?

I agree, it's impressive. It brings me back to early Windows when keyboard control was a first class citizen in the UI, and most functions had dedicated alt key combos per dialog.

Re: Show HN: A Tiling Window Manager for Windows, Written in Janet

#80

Earlier quoted context omitted.

I find the REPL and interactive development workflow invaluable. A window manager is a long-running background service by nature, and has a lot of accumulated runtime states. The ability to peek inside and debug while the process keeps running helped me a lot when building Jwno. I think Jwno's REPL module is so important, I specifically changed Jwno's architecture at one point to make it work.

> I find the REPL and interactive development workflow invaluable. A window manager is a long-running background service by nature, and has a lot of accumulated runtime states. The ability to peek inside and debug while the process keeps running helped me a lot when building Jwno. Sure, but any particular reason you picked Janet over Common Lisp? They both support images, REPL, hot-code-reloading, etc.

Janet being a tiny embeddable runtime similar to Lua probably makes it perfect for a use-case like this. You have a full language, standard library, and interpreter in ~1 MB, along with the ability to bundle the runtime with your scripts into one binary. That's worth a lot.
Post reply on HN