Live data from Hacker News

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

agent-kilo.github.io

61–70 of 112 posts

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

#61
post #42

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!

flashback, 2001. I'm 25, sitting in the office with litestep installed (which honestly was the only alternative to Linux or resignation). My five years younger colleague steps up to my desk and says "hey, cool desktop!" I start explaining, very carefully, like I'm talking to a child, that this is an alternative shell, which replaces the standard Windows Explorer et cetera, und so weiter... it's very complicated you k…

First part of your story reminded me of when I once trolled a non-tech savvy friend by running Windows in a VM on Linux, and told him "have you ever seen what's behind windows?" then I exited full screen to reveal a desktop full of terminals running the matrix digital rain.

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

#62
post #22

Earlier quoted context omitted.

How it compares with Lua?

If you like Janet and Lua, might as well try Fennel, which was made by the creator of Janet.

I have read about Fennel many times and considered on trying it - I didn’t know that they have the same author!

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

#63
post #57

Earlier quoted context omitted.

As a Common Lisper with a Scheme background I'm gonna guess that by the interactivity of the REPL you mean the condition system with restarts? While most Schemes don't really have anything like it, I seem to recall MIT/GNU Scheme having something kinda similar. And I mean, hey, it's got Edwin, so it definitely has interactivity.

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. Embracing this fact fully leads to a different workflow of software development.

Having done a bit of that, I found plenty of drawbacks of this approach, too - mostly various consequences of breaking the assumption that code that a program is running is the same as the code it was compiled from or that it started with. The aspect that annoyed me the most day-to-day was, basically, that whenever I fixed something on the fly through conditions and restarts and eval-ing code in a REPL, I never had a nice way to go back to that solution and port it to code. It was too easy to forget about a quick fix you did without thinking.

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.

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

#64
post #59

Earlier quoted context omitted.

PowerToys seems to be making two step forward, one step backwards, and then makes a leap in a random off-axis direction. Every time an update comes, I feel both joy and worry - I expect to see some new cool thing (and possibly even useful to me), but I also worry about bloat and random performance degradations. I haven't bothered with measuring and quantifying it properly, but I do feel PowerToys got heavier and slow…

The even simpler solution to remapping Caps Lock is to use SharpKeys, which applies registry settings to make use of Windows’ built-in remapping functionality.

TIL: SharpKeys

TIL: Windows has a built-in remapping functionality

TIL: That functionality is controlled by registry, meaning I wouldn't even need a tool in the first place (I've learned to write REG files as a kid).

Thanks!

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

#65

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?

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

#66
post #44
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…

Jwno can do this! https://agentkilo.itch.io/jwno/devlog/871672/scroll-jwno-scr...

Neat! This looks pretty close, at least for the base principle. If I had a windows machine I would definitely give it a try.

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

#67
post #32

Earlier quoted context omitted.

How’s the REPL/interactive editing story? I feel weird using a Lisp that is not as interactive as Racket, Scheme or Common Lisp. Running scripts from the REPL ain’t the same thing as C-x C-e an expression on a live program

> I feel weird using a Lisp that is not as interactive as Racket, Scheme or Common Lisp I think Racket and Scheme don't belong in there because neither has a REPL as powerful and "interactive" as Common Lisp REPL. They don't support images either (but Janet and CL do).

If we're still calling Guile a Scheme (I'm out of the loop) then I don't know, it gets really bloody close. Not so much in image-based development (that I've usually found less good than a decent packaging system because the contents of my files on disk is usually more tractable than the contents of my image), but its object system and error handling are definitely up there close to CL.

I mean, Common Lisp is still the gold-standard for me, but reading about Hoot recently really made me want to check Guile out a bit more (CL does not have much in the way of lovely WASM stories right now) and, honestly, I was super impressed. I think if the interactive experience of developing in Hoot in the browser matched the interactive experience of developing in native Guile, I'd be a pretty happy convert.

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

#68
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).

This is a fantastic replacement for Windows Explorer which is about 10X faster/lighter:

https://filepilot.tech/

(it's beta so it has a few little annoyances still)

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

#69
post #44
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…

Jwno can do this! https://agentkilo.itch.io/jwno/devlog/871672/scroll-jwno-scr...

Thanks for posting the link!

It's a quick-and-dirty PoC with lots of caveats and limitations though. E.g. it works only for a single monitor. I don't think we can clip windows to a "view port" on Windows (the OS), so this may never be as nice as PaperWM, Niri etc.

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

#70

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.

TBH I dived right in when I decided I should build something with Janet, and didn't really consider any alternatives. Now you mentioned it, I think Janet's simplicity and conciseness played a large part in attracting me to it, comparing to Common Lisp at least.
Post reply on HN