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…
Show HN: A Tiling Window Manager for Windows, Written in Janet
81–90 of 112 posts
Re: Show HN: A Tiling Window Manager for Windows, Written in Janet
#82Re: Show HN: A Tiling Window Manager for Windows, Written in Janet
#83Re: Show HN: A Tiling Window Manager for Windows, Written in Janet
#84I'm curious, did you find there were things that were easier to do because it's Janet/lisp-like language? Or you just fancied like using it (perfectly valid reason of course!). I tried various lisp dialects, but I could never find the killer feature vs other languages I already use. And I can justify why I use these specific languages I do use, if that makes sense.
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.
Re: Show HN: A Tiling Window Manager for Windows, Written in Janet
#85Earlier 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 am still waiting for a non-Lisp language with a half-decent restart system. Even compiled languages should be able to implement it (except dealing with a possible allocation failure when saving the register context to return to)
Re: Show HN: A Tiling Window Manager for Windows, Written in Janet
#86Earlier quoted context omitted.
> 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 t…
Re: Show HN: A Tiling Window Manager for Windows, Written in Janet
#87Re: Show HN: A Tiling Window Manager for Windows, Written in Janet
#88My experiences with tiling window managers is that they struggle in judging a modal screen like a confirmation box or detachable/dockable mini-containers like the interface of certain programs like GIMP. Considering those as new tile-able windows tends to be a hinderance instead of increasing productivity.
For example, GIMP works without any issues. And the productivity boost is tremendous, for me it's very hard to work on anything else. I barely encounter programs where it does more harm than use.
Especially having multiple desktops with different names allow me to localize windows so much quicker than looking through a dozens of terminals manually.
Right now, I do have: 1 mail, 2 web, 3 gimp, 4 chat, 5 notes, 6 terminal, 7 ssh cluster
Re: Show HN: A Tiling Window Manager for Windows, Written in Janet
#89Earlier quoted context omitted.
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…
What I meant though isn't collaborative/historical tracking, I meant day-to-day ergonomics; closer to "drastically different view on what 'undo' means", except it doesn't even have to be 'undo' - I don't need the ability to rollback every single thing; I just want to know whatever the hell I actually did an hour ago when I quickly SET-VALUE and IGNOREd my way through a few random condition popups and evaluated some code in between. Being careful and keeping track of this as I go slows me down and is kind of the opposite of REPL-driven interactive development ideas; nah, I should be able to go fast now, and later be able to review all the random surgery I did on a live image.
EDIT:
> undotree on neovim allows this because it offers a drastically different view on what "undo" means
As I understand it, this "different view" is treating undo history as a tree? If so, I know this from Emacs via similarly named `undo-tree' package. But honestly, the moment I saw this I thought this is brain-dead stupid most obvious way of treating undos. It's very unfortunate that almost no software embraces this approach, instead opting for a linear history that gets trimmed the moment you undo a few steps and make a change.
If you want to see a truly different view of undo, check out what Emacs does by default. I don't even understand it fully, but best I can tell after studying the explainer in undo-tree's documentation, is that Emacs is using a linear history like everyone else, but instead of moving back through the history and discarding "the future" when you branch out, `undo' itself is an undoable operation that gets appended to undo history, so when you type some things, undo it, type something else, and keep pressing undo, you'll erase the last text, then "undo the undo" and end up with the first thing you typed...
Re: Show HN: A Tiling Window Manager for Windows, Written in Janet
#90Long-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/resolut…
Actually no, I'm using two regular, 16:19, 2560x1440 screens. It's more that my understanding of readability does not agree with what designers think, and when I split the screen in half, many pages end up with text a little too small for my comfort, and if zoom in to compensate, the lines get slightly too short or horizontal scrollbar appears.
(I'd guess it's probably my somewhat strong myopia glasses that are getting me "out of alignment" from average user when it comes to text size and line length preferences.)
> but there's a section for adjusting it in the cookbook[1].
Lovely!
FWIW, I took it for a spin briefly (only briefly - had work to finish, but I plan on getting back to it) and I was pleasantly surprised by how good it is, and how well it handles Windows quirks. It feels nicer than StumpWM did back when I used it. The only thing that didn't work well was VLC - it does something weird with recreating its window when switching between videos, and in the process, it "breaks out of confinement" and ends up returning to original size and position it had before Jwno took custody of it.