i3wm inspired wm for Windows
github.com
github.com
Applications behaving badly is a big problem for any window management project on Windows because application developers, especially since the rise of Electron, are increasingly throwing established Win32 application development guidelines to the wind with reckless abandon.
Komorebi deals with this by exposing functionality for handling edge cases to the end user with a powerful set of application matchers, and pooling together all of the weird application-specific fixes into a single upstream which is loaded for all new users on first install[3] and can be easily updated by the end user[4].
This upstream is now also consumed by at least one other window management project, Whim[5].
I think a lot of existing tiling window manager users from Linux and macOS look for straight "equivalents" on Windows if they end up here, but from my point of view both as an end user of tiling window managers and a developer of a tiling window manager, this is a huge missed opportunity.
Komorebi initially took a lot of inspiration from bspwm and yabai, but as I spent more time working with different monitors (square, wide, ultrawide) in different orientations, I became more and more convinced that a layout algorithm-driven design provides for a better overall experience than painfully manually manipulating a BSP tree to do something as simple as getting 3 columns on an ultrawide. More recently I also integrated some interesting ideas from more niche WMs such as PaperWM[6].
Tiling window manager development on Windows is really at the bleeding edge of the entire field these days, where the boundaries (especially in UX) continue to be pushed unencumbered by the inertia of established heavyweights and tradition.
Within the next decade I wouldn't be surprised to see this come full circle and find people implementing "Window Manager ___ From Windows, but for Linux/macOS".
[1]: https://www.youtube.com/watch?v=JNZw0qUf_PE
[2]: https://github.com/LGUG2Z/komorebi/commit/45894be4ff5162e1c2...
[3]: https://github.com/LGUG2Z/komorebi-application-specific-conf...
[4]: https://lgug2z.github.io/komorebi/example-configurations.htm...
[5]: https://dalyisaac.github.io/Whim/docs/customize/filtering.ht...
[6]: https://github.com/LGUG2Z/komorebi/commit/b799fd30774b5ae928...
Or is there some reason this behavior is not useful? I see some hints that it would be. More and more apps have tabs - windows explorer now, all IDEs of course, all text editors, browsers, terminals. And often they let you drag the tabs to some other convenient place, like Firefox lets you drag tabs to another Firefox window. Would it not make sense to generalise this to the entire screen?
If this is something that is important enough to you that you want to work on it, contributions are welcome!
What apps did you find were bugging out? The default handling has been tweaked and improved a lot over the years but there's still some edge cases that are tough to handle
Re. the status bar breaking on sleep - will have a fix for this sometime next week. Were there other issues you came across?
[1] https://learn.microsoft.com/en-us/windows/powertoys/fancyzon...
https://learn.microsoft.com/en-us/windows/powertoys/workspac...
I have not used it recently and it seems to have morphed into xoblite[2]
[1] https://bb4win.sourceforge.net/ [2] http://www.xoblite.net/docs/
I honestly think scrollable VM is the future of window management. It just make sense to arrange windows like that instead of cram multiple opened windows in a fixed area.
Plus I can drag windows to the top and see multiple layout options and arrange them however I want, even with 10+ windows open don't feel the need to complicate things further.
I know this will piss off i3/keyboard purists, but oh well.
Edit: I know i3 is super customizable and all the malarkey but I want to get shit done and not spend all day fiddling with my config. ( this is coming from a serial distro/WM hopper )
Unfortunately the two WMs still don't entirely talk to each other (Windows 11's layouts don't count as FancyZones, FancyZones don't count as Windows 11 layouts), but FancyZones does have some nice tools that make it worth trying, and has that sort of deeper integration on its roadmap, even if you do go back to the in-box experience for now.
The only thing I couldn't find is a way to define the "new window tiling mode", i.e in i3 you open two windows with vertical tiling, then change the tiling mode to horizontal and open two more windows. Now you'll have one tall window to the right and three windows splitting the right part one below the other.
If you leave it always running you can also try Win+` for "Quake mode".
With PS that's ".\program" (~like in bash, two more chars) to make it happy, which is two more characters for no win at all in my use case (anything more complex gets some variant of bash/fish rather than PS, plus Windows Terminal). So I just use regular cmd (and add it back to the explorer context menu since Windows removed the option).
Though 97% of me not using PS in that case is mostly it feeling like yet another thing Microsoft is trying to force on me. But I agree that in that case it's me getting stuck in my old ways and pushing users out of cmd seems to make sense.
(I actually use Yori[0], but it's pretty much to tcsh what cmd.exe is to csh.)
PowerShell leaned a little too hard into the structured data to be useful for me as a command shell. It's a pretty decent competitor to the Python REPL though.
I tried Terminal but it felt weirdly laggy, although IIRC it was still beta when I tried it so it might have matured a lot. But the readline behaviour in clink is awesome, there's a lot of good muscle memory overlaps for me between how I use Linux.