Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Nice to see another twm on macOS.

Somehow over the past few years Windows became the more vibrant platform for twms (vs macOS) with developers (including myself) trying to push the envelope and introduce many quality of life features you still won't find even in Linux twms today.

https://github.com/LGUG2Z/komorebi

https://github.com/glzr-io/glazewm

https://github.com/dalyIsaac/Whim

Hopefully this new entrant will drive even more innovation in this space on macOS.



Not to drop this kind hacker’s competitor, but I’ve been a happy user of https://rectangleapp.com/. Will definitely be checking this out instead tho, even though I’ve paid for rectangle — any demo that has SublimeText windows in it is a demo I trust!


I'm curious, what kind of features that are not found on Linux ?


For one, tools like Shortcat aren’t really possible on Linux afaict, since it relies on MacOS’s fantastic accessibility API.

https://shortcat.app/


> Search and summon windows > > Shortcat lets you search window titles for more precise multi-tasking.

StumpWM has this and it's a beautiful thing (default binding: prefix+"). I got in the habit of titling terminal and browser windows with the topic name of whatever I was working on. Made for very fast switching to find what I wanted among many windows/topics.

Sadly I've needed to switch to Wayland and StumpWM is X11 only but it has a successor called Mahogany[1] that's being worked on.

Oh, and both are written in Common Lisp if you like tweaking your WM from the REPL.

[1]: https://github.com/stumpwm/mahogany


Hmm -- interesting/fantastic tool. Feels something like avy in Emacs, but for everything on screen.

I think this should be possible in linux with a bit of work (erm, famous last words?) especially because the whole desktop environment is fundamentally open and you don't need to depend on this providing an API.

But I think an even better approach is to have build this functionality using screen parsers backed by recent AI advances. That way, you decouple the source / rendering of content from the sink / consumption of content, and can have more flexible behavior on behalf of the end user. I anticipate (hope) such tools to pop up over the next few years.


The biggest QOL improvements imo are found in the approach to the user-facing API design.

Compare basic multi-monitor commands in something like bspwm[1] or yabai[2][3] to twms on Windows where this is typically handled transparently by directional `move` and `focus` commands understanding monitor boundaries.

Besides this, Whim has implemented a very functional ctrl+p style command palette which provides a great interface for more advanced on-the-fly/one-time window manager interactions.

With komorebi I think that having different border colours to indicate different types of containers is very helpful (one colour for single window stacks, a different colour for monocle containers, a different colour for stacks with multiple windows), as well as custom window-based work area offsets[4] (so if you have an ultrawide monitor with only a single window on a workspace, you can add offsets to the sides so it doesn't stretch across the whole width and give poor usability).

It's not really any one "big thing" but rather a difference in approach which adds up over many small design decisions.

[1]: https://github.com/baskerville/bspwm/issues/563

[2]: https://github.com/koekeishiya/yabai/issues/505

[3]: from my own personal yabai config - imo this is not really acceptable for a user facing API, especially for basic commands like focusing and moving:

```

    # focus window
    alt - h : yabai -m window --focus west || yabai -m display --focus west
    alt - j : yabai -m window --focus south || yabai -m display --focus south
    alt - k : yabai -m window --focus north || yabai -m display --focus north
    alt - l : yabai -m window --focus east || yabai -m display --focus east

    # swap window
    alt + shift - h : yabai -m window --swap west  || yabai -m window --display west && yabai -m display --focus west
    alt + shift - j : yabai -m window --swap south || yabai -m window --display south && yabai -m display --focus south
    alt + shift - k : yabai -m window --swap north || yabai -m window --display north && yabai -m display --focus north
    alt + shift - l : yabai -m window --swap east  || yabai -m window --display east && yabai -m display --focus east
```

[4]: https://hachyderm.io/@LGUG2Z/112493589633823318


Clicklock is much nicer in Windows than the awkward methods I've found so far with Linux.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: