Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Komorebi – A tiling window manager for Windows 10/11 written in Rust (github.com/lgug2z)
229 points by bsnnkv on Oct 11, 2022 | hide | past | favorite | 94 comments



Komorebi works pretty well. In the end, I felt like it's limitations were mostly at the OS level rather than the fault of the software itself (similar to tiling WM on MacOs). I think for such a thing to really work, virtual desktops need to be a first class feature of the desktop environment. For Windows/Mac, they're still kind of janky. Whereas on Linux, I can bind Win+Tab to "Previous Desktop", hold down the button, and watch the screen flick between almost as fast as the refresh rate of the monitor. It really makes a laptop, with a small screen and with no additional monitors, a high productivity environment. Which is too bad, because the REST of Linux really sucks for laptops, with all the hardware-specific tweaks needed.


I really appreciate this comment, I think it is spot on.

The official Win32 API for interacting with Virtual Desktops[1] is severely (deliberately?) lacking. There are some brave souls who are constantly reverse-engineering and figuring out how to interact with Virtual Desktops in all the ways that are missing from the official Win32 API, but this is a constant game of whack-a-mole because you never know when an update to Windows is going to break everything.[2]

If anyone working on the Virtual Desktops feature at Windows reads this: please give us a real, stable API for Virtual Desktops to develop against.

[1] https://learn.microsoft.com/en-us/windows/win32/api/shobjidl...

[2] https://github.com/MScholtes/VirtualDesktop/issues/35


I’m on mobile but there’s a preference to set the animation delay for the macOS virtual desktop switching to zero and it’ll basically run as fast or at least look as fast as Linux switching.


There is, and such a tweak is available with the yabai tiling WM, but it requires disabling SIP. Which unfortunately is not something I can do on my work laptop. It's unfortunately because this small tweak would move the tiling WM experience on Mac a LOT closer to the linux SOTA.


I think that is gone, as are many of the old ones like NSWindowResizeTime (or similar) that made lots of the OS animations bearable (i.e., made them not happen).


There was, but I don’t think it’s worked for a while now. Maybe there’s a new one somewhere?


Thank you for your hard work on Komorebi. I have been following the project for some time and we've crossed paths in comment sections before. I use a Mac at work now or I would still be using it. You're fighting the good fight for tiling WM enthusiasts everywhere!


> the REST of Linux really sucks for laptops, with all the hardware-specific tweaks needed

Just to state the obvious, "hardware-specific tweaks" are hardware-specific. It is not hard, these days, to buy hardware where everything just works out of the box. It doesn't make sense to say that in general Linux sucks for laptops when what you're complaining about is a problem caused by your hardware.


What's pretty surrealistic in this discussion is that MacOS in comparison cannot even run on all that hardware.

And Windows won't either because driver support ended a long time ago when you use old hardware.

Of course Linux sucks, but it only does so because it has the issue of trying to run anywhere with no default settings enforced, because those would fail anyways.


> And Windows won't either because driver support ended a long time ago when you use old hardware.

Or new hardware. I have an EliteBook 845 G8 (Zen 3) from December 2021. Windows doesn't recognize its webcam. Some issue with some USB chip along the way. No, HP's provided drivers don't help. Yes, HP recommends Windows 11.

I have its cousin, an EliteBook 840 G8 (Intel 11th gen), same vintage. Windows doesn't recognize its touchpad / trackpoint during install. It needs specific drivers from Windows Update. Luckily, the internal keyboard and an external USB mouse work fine.

I've even tried with the latest win 11 22h2, that's been recently released, no luck. On the webcam front, it actually works at first, then it figures it requires some "updates" which break things again.

Linux has worked perfectly from the beginning on both of them, no random tweaks required. And I'm not even running Ubuntu or similar, which you'd expect to do things automagically, just plain Arch.


If the hardware vendor won't submit the driver to Microsoft for driver validation, which is a requirement to for the driver to be available via Windows Update, that's not Microsoft's fault.

HP likely chose to have a semi-custom part in those models and included the driver in the shipped build of Windows. They also likely make the driver available for download somewhere (though this "somewhere" is not always easy to find.)


> HP likely chose to have a semi-custom part in those models and included the driver in the shipped build of Windows. They also likely make the driver available for download somewhere (though this "somewhere" is not always easy to find.)

Well, there's a big page with drivers available for download for this specific model on HP's website. They also offer a tool to check for missing / outdated drivers, similar to Intel's. According to both, everything is installed and up to date, but the USB part isn't working (has an exclamation mark in device manager).

I think the pre-installed Windows 10 did support the webcam, but then it had issues with the display backlight being extremely dim.

Anyway, in practice, this is only mildly annoying. I don't use Windows all that often, and the webcam even less.


Starting to sound a bit more like a hardware failure, somehow, or simply a buggy Windows driver.

This is unfortunately common among consumer-grade laptops. I've been bitten by this enough times that I will no longer purchase a consumer-grade laptop; I will only purchase models meant for business. They are usually 2 CPU generations behind, but importantly, everything works and works reliably.


> Starting to sound a bit more like a hardware failure

Nah, it works perfectly on Linux.

> or simply a buggy Windows driver

This I can buy, but the point stands: it's not guaranteed that Windows will support new-ish laptops any better than Linux.

> consumer-grade laptops

HP EliteBooks are pretty much "laptops meant for business", and not even particularly low-end ones at that.

They have the price and (superficially) looks of a macbook pro, but come complete with ridiculously bad displays and shoddy assembly. Mine even have a smartcard reader!

One of the good parts, though, is they seem to be one of the rare AMD laptops with no soldered RAM.


i bought a laptop from a linux-first company. a laptop designed for linux, with custom hardware and OS and all. i feel very miserable using it. my solace is that it is not my main device.

on this very day, i had to disable tap-to-click on the trackpad. so no, comments like the above are true.

i would not recommend a linux laptop to anyone. the used Thinkpad and Dell folks are the exceptions, not the norm.


Shrug the last laptop we purchased was a boring Dell Inspiron. Wiped Windows and put Arch Linux on it the day we got it without even checking any compatibility stuff. Everything worked out of the box, nothing has ever needed to be configured or crashed. This is 11th gen Intel, nothing old.


I got a windows laptop from my employer. In one week, sound stopped working. I had to follow the instructions here to fix it:

https://forums.lenovo.com/t5/ThinkCentre-A-E-M-S-Series/Fix-...

Then it stopped working on nearly every Windows Update after.

I'm not going to argue that under Linux there would be less problems or something crazy like that, but Windows has its own share of problems as well.


Maybe you have issues with the synaptics driver? In case you do, I wrote an in-depth configuration guide for it a while ago [1]. Maybe this helps?

[1] https://cookie.engineer/weblog/articles/synaptics-touchpad-o...


Added to my pinboard.in

(For everyone who thinks this is because Linux has much problems: I had no serious problems with the touchpad in my first 20 years but I hear it is a thing so I expect to see it sooner or later ;-)


I haven’t used a Linux desktop environment for many years now, so maybe there’s some nuance I’m not understanding, but virtual desktops have been a first class part of the macOS UI for many years. Swiping between them is only delayed by the default animation speed of that aspect of the window manager, and generally meant to match trackpad gestures and provide inertia consistent with other gestures.

Trying to understand how this relates to a tiling WM, I’m wondering if the virtual desktop in dedicated tiling WMs concept goes beyond multiple instances of the display and has arbitrary widths (or single dimension spaces)? That does sound nice for some ways I’d want a tiling WM, but it’s not what I’ve previously thought I’d want in one where I might have a grid with non-uniform x/y divisions.

Like it sounds very confusing to have a layout such as:

  a a b b c
  a a b b c
  a a d d e
And to treat anything besides `a` as a “desktop” even if they’re variable width.


The point why i3 / sway on Linux are used so much is not that they have a specific layouting concept.

It's because they let the user decide what layout and how many virtual desktops they need.

I usually have 10+ virtual desktops, because I use 3 screens, and each of them has a different set of virtual desktops - which are also not bound to a specific screen and can be moved to another screen just as easily. If I need a new virtual desktop on the fly, I just create one without any repercussions for the rest of the layout (or stack).

And I think that's the key concept of tiling WMs: user choice.

On MacOS and Windows, on the other hand, I don't see a chance of this working anyhow. The virtual desktops there are usually just a single stack behind the scenes, and they are not per screen, so working with those platforms and expensive window manager tools has been always a pain for me.

The fullscreen mode of Apps alone is just so botched, no way this is gonna work failsafe with a third-party window manager that is reverse engineering the unofficial, breaking, APIs.


> On MacOS and Windows [...] the virtual desktops there are usually just a single stack behind the scenes, and they are not per screen

I'm not using a mac anymore, but last time I checked, this wasn't true. You could have per-screen virtual desktops, meaning you could have screen 1's virtual desktop stay put while you switch desktops on screen 2. The setting was easily accessible, too. In Settings -> Mission Control IIRC.


As an example, afaik, fullscreen apps create something else, like a temporary virtual desktop, and you can't assign keybindings to those since they are transient.

The default animation is also a dealbraker if you plan on switching continuously desktop


I also don’t like either the animation speed or the default full screen behavior. You can configure the animations to be much faster, and use opt+click for a normal full screen window. These are design decisions I don’t prefer, but they definitely don’t suggest virtual desktops aren’t a first class consideration. They’re a first class consideration which don’t match our preferences, sure.


Only fairly recently has Linux really seen much development of tiling WMs on top of things like Gnome and KDE. I know some of them can be run on top of XFCE and have for a while, but all of them fell similarly janky to ones on MacOS. It's only once you adopt something like i3, dwm, awesome, bspwm, xmonad, etc. that you get something that works as you'd hope in terms of spaces and tiling behavior.

The problem is that those window managers (in my opinion) is that they fail to do the basics well. You have to find the individual components like the bar if the WM comes with it and write your own scripts or hopefully find one that someone else wrote to get the things that are built into Gnome and KDE and work out of the box. You gotta set up your own notifications daemon. You need to configure how to launch applications through something like rofi or by configuring keybinds in your config. You need to configure your login windows. It can be enjoyable to a point but it can also just become really frustrating to deal with.

I think PopOS' tiling WM built on top of Gnome is pretty good but Gnome itself is frustrating trying to configure. KDE is highly configurable but its base configuration/experience is worse than Gnome.

The closest I've gotten to something that does both is replacing xfce's xfwm with i3 but ultimately it can easily break since it depends on turning off xfwm in sessions and making i3 an autolaunch item.

Linux is obviously the best for tiling WMs, but they have their own set of issues that traditional WMs on popular DEs in linux don't. Windows and MacOS have even more issues when attempting to implement them. I feel like there's just no winning here, regardless of what OS you're using.


You've inadvertently described the delineation between a DE and WM. WMs manage windows and that's it -- they're lacking by design.

A DE (e.g. Gnome, KDE) is a multi-part package that bundles up a given WM with the software suite necessary for running a conventional desktop. There exist plenty of DEs that bundle up tiling WMs for convenient use (for example: Regolith[1])

[1]: https://regolith-desktop.com/


I've tried Regolith but at the time I believe it was just a ubuntu fork and you couldn't install it as a standalone package. It seems that has changed now which might warrant looking at.

> You've inadvertently described the delineation between a DE and WM.

My problem is that the competently done DEs tend to have their own WM and are not designed to allow you to run a different WM on top of it. I understand that most tiling WMs expect that the user might also want to set up their own desktop picture service, notifications, status bars, etc. I just think that there should be one that ships with something sensible that it doesn't just feel like it's piping STDOUT to an html file overlayed on top of the desktop that you then have to create custom scripts to have reasonable functionality. Polybar comes to mind as one such example.

It just feels like the tradeoffs are so massive and I simply don't have the skill to create something that matches my own wants for a linux desktop. I love tinkering but I don't want to have to tinker with everything to get a solution that works for me.


I've tried Regolith at one point (mid-2020) out of curiosity, and the experience was miserable. For some reason, everything was extremely laggy. It was on an older PC (i5-6500) so I figured the integrated GPU was too slow. Of course, my even older (2013) macbook pro worked absolutely fine with macOs's effects, but still. I was down to the point of trying to order a dedicated GPU that would fit the small form-factor case while being fanless.

Then I tried Arch with i3 and the slowness went away. It would even happily render blur effects via picom without any issue.


Generally agree, and https://magnet.crowdcafe.com/index.html is the best thing I've found for MacOS. Snap is pretty good now on Windows 11 https://support.microsoft.com/en-us/windows/snap-your-window... but AquaSnap can still do more. https://github.com/glsorre/amethystwindows looks decent and more minimal but I haven't tried it.


There's no shortage of window management apps on MacOS, though I think the limitations of the API make it hard for them to be anywhere near as fluid and snappy as Linux's tiling WMs. Amethyst and Yabai are the two automatic tiling WMs I'm aware of on MacOS, along with a hammerspoon tiling wm that I can't recall the name of. Magnet, Moom, BetterTouchTool (and BetterSnapTool), Rectangle, and countless others are all quite good if you want to manually move windows around.

A lot of it just unreliable for reasons I can't discern. I have keybindings in my hammerspoon config to switch between applications based on their position on screen relative to the active window, but sometimes it just doesn't work and even when it does it's quite slow. It feels like it should not only work but should be extremely fast given that MacOS knows exactly where every window is placed and its dimensions that can be accessed by hammerspoon, but unfortunately it's neither fast nor reliable.

I'm currently using a mix of hammerspoon and amethyst which is working okay but not great and everything is a bit slow. Changing spaces is slow, modestly improved by reduce motion settings. Yabai can get rid of the delay between switching spaces but only if you disable SIP.

Glad they exist and I'm glad that third party applications can interact with MacOS' window management, but I do wish some of it were snappier. Moving single windows is quite fast but anything more than that it feels sluggish.


The experience with the PopOS related pop shell is an honourable mention here with reasonable key defaults. You should try it if you haven't already, it's quite good.


I did mention that I tried it. The issue is less with the extension and more with dealing with Gnome. I think Gnome has sane defaults and works pretty well for a lot of people but the problem is that the second you want to change something it fights you and Gnome has gotten increasingly hostile towards user customization with each release. I think another issue might have been with setting keybinds with hyper and meh is problematic but it's been a while since I've used Gnome.


I am liking PopOS. Used i3wm for a long time but for work it's nice to be able to easily turn tiling on/off if I'm doing a presentation or something.


Anecdote: my gaming laptop from 2022 doesn't work on Windows 10/11. It keeps hard crashing when stressed.

On Linux, it's totally stable on identical workloads.

Personally, I don't see reason anymore for the existence of Windows. For a long time it held its ground as a gaming OS, but Steam/Proton has taken that final advantage from it.


Is it an Alienware? From experience they have an unstable overclock from the factory which is applied by software not in the bios.

I was pulling my hair out trying to diagnose crashes on a laptop for someone else. A bonus is if you install docker or WSL, the alienware control software could no longer turn off the overclock. So that whole time I thought there was no way it was overclocked because the option to overclock wasn't even visible in their software. it was a 2022 Alienware with a 12900k 64GB ddr5 and a 3080ti


>Is it an Alienware?

Asus Zephyr G14 with AMD insides. Could be that they are indeed overclocking it for some reason. I didn't seem to get it to be 100% stable even with removing some boosts et al.

But that doesn't matter. On Linux I don't have to tweak anything, it just works. Which is amusing.


In Windows 10 and 11, after you create another virtual desktop, you can easily move between them with built-in Win+Ctrl+Left/Right Arrow. It may not be as perfectly tuned as many would like, but it works well enough.


You can disable the switch animation, which makes it much nicer to use. Just instantly changes the content on all your monitors then. It even works with fullscreen applications on different desktops...


Yep, under Accessibility => Display => Toggle the Reduce motion button. It is much better but still not instant. The only way I'm aware of how to make it instantaneous is by disabling SIP and using Yabai [1].

[1] https://github.com/koekeishiya/yabai


Uh, they're talking about Windows; you're talking about MacOS.


How do you do that?

I've noticed animations seem to be quicker in the win11 22h2 update, which makes them much less annoying, but I still prefer the instant change of i3.


Yes, that's right, but you can't quickly jump between windows 3 & 7 by doing something simple like Win+Shift+7 / Win+Shift+3


Can you please make some sample? I was trying to imagine the use case and couldn't make great one.

My current way - I use Alt-Tab mostly and Win+<number> sometimes. In addition I have Powertoys Run (Window Walker) to search through terminals when number of terminals windows goes > 15 or 20.


In case of macbook there are probably shortcuts but trackpad is convenient.


On MacOS you can assign your own shortcuts to switch to specific desktops as well, instead of having to go through each of them individually.

Under Keyboard => Shortcuts => Mission Control it give you an option to assign hotkeys for them. I believe the default shortcuts to move left or right a space is ⌃← and ⌃→.


>Whereas on Linux, I can bind Win+Tab to "Previous Desktop", hold down the button, and watch the screen flick between almost as fast as the refresh rate of the monitor. It really makes a laptop, with a small screen and with no additional monitors, a high productivity environment.

In my opinion, you have right there concisely expressed the real differentiator of using a Linux tiling WM. While I understand that there exist numerous incentives for adding animations to graphical user interfaces, such as increased consumer appeal and furnishing the computer program with a time interval in which it can (re)load data, I would also like user interface designers to consider that for some, speed really is paramount, really is second to nothing, and then that those would like to opt out of animations. I care not if the GUI freezes for half a second when switching into a different context, as long as it's lower than the one-second baseline delay introduced by the designer. This becomes so much more important when dealing with the operating system --- it's in use all the time, and the time spent waiting in it compounds and throws one off! It's the "No Child Left Behind", but for GUIs --- let's file down peak performance in order to obtain a more uniform result.

On Linux using i3, swapping your workspace costs exactly nothing. I often find myself rapidly and repeatedly switching to-and-fro between any two of them, as if I were performing a trill on a musical instrument, whenever I want to compare the output of two applications. The WM is my personal concierge there. In Mac OS, it feels like I'm stuck waiting in a crowded queue at the post office when there's only one tired and miserable worker around.


Yes, I agree, it really does come down to the animation speed. If you could disable animations, MacOS would almost work as well as Linux, since you can natively bind hotkeys to almost everything supported in i3/bspwm type environments. But it's just slow. And there is no reason for it. In fact there is even a bug right now in MacOS where switching between desktops using 3 finger swipe is actually SLOWER using ProMotion than at 60Hz. And if you switch desktops using keyboard hotkeys, it's faster than either of those two. Completely absurd. It's been that way for at least a year and they haven't bothered to fix it.


It is surprising to me that this and some of the subsequent comments view the state of tiling WMs on Mac unfavourably. I run i3gaps on my personal GNU/Linux machine and yabai with skhd at work, and both work equally fine in my experience (of course, it may as well be that my workflow does not rely on some critical piece of functionality that is not available for yabai).


Offtopic but beautiful: komorebi is my favorite word in the category of "complex things in my language, for which other languages have a succint word", and in japanese it means the beams formed by light and shadows when sunlight shines through tree leaves


My wife chose the name for the project, she is such a beautiful soul.


We call them godrays.



That's a very poetic translation, compared to jisho.org's 'sunlight filtering through trees '. It is also worth noting that it's a compound, not a single morpheme that represents the entire thought. (木漏れ日 - 木 is tree, 漏れ is 'filtering', 日 is sun/light)


Just looked up the meaning of the word. It is absolutely exquisite!


Tried Komorebi while running Windows and liked it a lot! Got too annoyed with Windows in general and went back to PopOS with tiling enabled. Would love to see PopOS’ intuitive window swapping/stacking in Komorebi one day


The almost-recursive screenshot in the README amused me


:D Thanks for mentioning this! I hadn't noticed it and it is an amazing touch.


Very nice although I feel perfectly happy with MS FancyZones.


Been using FancyZones since the first version and as of late, I find that while basic features are great productivity boons, you still have to manage the windows and layouts manually. FancyZones needs an API to automate with, for example to switch layout when a specific window appears. Should not be too hard to add, just a bunch of command line arguments to call from AHK.


IIRC the PowerToys, incl. FancyZones, are open source so indeed it shouldn't be hard to add the things you want.


I like FancyZones too, but it's all mouse-based.

You can't even bind a shortcut to send a window to a specific zone.


Win+Arrows work in sequence for some, fyi.


Win+Arrows seemingly doesn't use custom defined zones and doesn't maintain the gapes between the windows.


Same here.

For me, Windows must be used with mouse so Fancy Zones fits me well.


Wow, this is the closest I've gotten to having i3 on not-Linux (even considering Fancy Zones/the built-in for Win11, and the MacOS tiling window managers I've tried).

After using i3, anything else for productivity just doesn't feel right for me, although I've made do. I'm excited to dig deeper into this and to make it work for me.


it’s amazing what people will do to get the tiling stuff i’ve had via an AutoHotKey script for … feels like a decade, but i don’t know how long i’ve had it. I didn’t come up with it, but i collaborated a little.

https://gist.github.com/naikrovek/b13a77d169de0e192bcf48fec0...

it’s designed for a single high res monitor (1440p or better) and multiple monitors aren’t supported at all. i haven’t added that because i don’t need that.

the Windows 11 mouseover-the-maximize/restore-button beats my thing on usability, though.


For me, one of the biggest motivations in writing komorebi was that I wanted to separate the window management from the key binding and shortcuts using a message-passing architecture similar to bspwm and yabai.

By exposing all of the functionality (aka socket messages) via a cli (komorebic), I can use whatever I want to handle my shortcuts, which in turn makes it easy to configure my shortcuts to whatever I want. An added bonus is that exposing the functionality via the cli means that I can compose multiple commands to run sequentially with a single key bind.


Read this whole page looking for this thought exactly, and it’s convinced me to try it. Can you give some insight in how maintained komorebi will be? I know you can’t predict the future, I’m just curious to what extent you prioritize it.


For the most part I consider komorebi to be pretty feature-complete as a tiling window manager.

That being said, I use it extensively every day myself so I'm constantly fixing any bugs that I come across myself in daily use, and similarly I'm always playing with new ideas and coming up with features that I have not seen present in other twms.


that is indeed a good feature.


I've been using Winsplit Revolution for years, and more recently MaxTo. Is there some reason to use this over one of those?


If your workflow ain't broke, don't fix it. ;)

Honestly, this rabbit hole goes so deep. I started using Yabai on macOS, and when I switched to Windows, the experience of trying to interface with a computer without a tiling window manager was so frustrating that I had no alternative but to write my own tiling window manager (well actually I wrote two, komorebi is the second one).


Somewhat related: If you like hotkey-driven window tiling and positioning tools like macOS Spectre/Rectangle apps, I wrote https://github.com/ahmetb/RectangleWin for Windows a while back and mostly have been personally using it to position windows to 1/2, 1/3, or 2/3 of edges/corners of the display.


I am also a Platform engineer by day and a very heavy user of kubectx, thank you for this excellent tool that has immeasurably improved my k8s workflow!


I really like qtile under Linux. I don’t use windows regularly but would highly encourage an abstraction layer such that others can implement their own manager using your tiling abstraction layer. It sounds crazy but the ability to extend a wm is something a small set of users will use, but will be a great value to those users.


Just to add one more to the conversation: I have found "FancyWM" to be a real productivity booster. For some reason it is pretty unknown, though.


FancyWM is my go-to window manager for Windows. I have look at komorebi before, but it look very complicated to set up.


Seconding this. It's seemingly unknown, but the most useable of those I've tried


If anyone has a good komorebi.ahk that sets up a sensible bunch of defaults then they should try to enhance the komorebi.sample.ahk that's in the repo. I found it had very few keys set up and some of the gists I found had errors in. This adds quite a bit of friction to starting with what looks like a pretty good workaround for the poor windows management in W10.


Does anyone know how well it handles fullscreen applications like games? Would be nice to not tab out but switch to another workspace.


I often play games on my computer with komorebi running, I just hit alt+p (my hotkey for `komorebic.exe toggle-pause` before I launch and again when I'm done.


If anyone is interested, there are a couple of features that I developed based on my own needs that I have not seen in similar tiling window managers (including on other platforms):

* Rules to automatically change the layout depending on the number of windows on the screen[1]

* A custom layout definition format with an interactive custom layout generator[2]

* A subscription service so that applications that wish to do something with komorebi's state don't have to continuously poll[3]

* A frequently updated repository which contains configuration tweaks for problematic applications so that if someone fixes it once, it is fixed for good[4]

* A code generator that is able to consume the application-specific configuration tweaks mentioned in the last point and generate a valid configuration file[5]

* A more general library generator for the main configuration format preferred by the community[6]

Most interestingly for me, I used the subscription service to write an automatic application-aware keyboard layer-switcher[7], which means that I never have to store a key binding to switch between programmable keyboard layers ever again; whichever window I switch to with my tiling window manager, if there is an application-specific keyboard layer that I have defined with custom bindings or shortcuts etc specifically for that application, they get automatically applied without me even having to think about it.

It's such a huge productivity booster, a real "the future is now" moment for me personally.

[1] https://github.com/LGUG2Z/komorebi/#dynamically-changing-lay...

[2] https://lgug2z.github.io/komorebi-custom-layout-generator/

[3] https://github.com/LGUG2Z/komorebi/#window-manager-event-sub...

[4] https://github.com/LGUG2Z/komorebi-application-specific-conf...

[5] https://github.com/LGUG2Z/komorebi/#generating-common-applic...

[6] https://github.com/LGUG2Z/komorebi/#autohotkey-helper-librar...

[7] https://github.com/LGUG2Z/komokana


Screenshot looks like a physical window except the grilles are see-through and the glass is opaque. Very weird.


Sorry, I don't use software unless it's written in Fortran. :(


Does it always just split the most recently opened window? Do you have to open them in a specific order to get the sizes you want? Browser first, terminal third, etc?


There are multiple different default layouts and you can even define your own custom layouts[1] and set rules on when to activate them[2].

In any layout, you can always use the `komorebic.exe move <OPERATION_DIRECTION>` command to place a window in the desired tile to achieve the desired size.

[1] https://lgug2z.github.io/komorebi-custom-layout-generator/

[2] https://github.com/LGUG2Z/komorebi/#dynamically-changing-lay...


Has anyone used the tiling in the new Windows 11 update? How does that compare?


Haven't found any hotkeys, but for mouse-based it's nice and simple. My favorite is still Spectacle for MacOS, haven't found a perfect equivalent for Windows yet.


In 22H2 it's fully keyboard drivable

  - Win+Z brings up the layout menu
  - number keys select the layout, then where in the chosen layout the current window should go
  - arrow keys then let you select the other windows to complete the tiling
So if I want Firefox (current window) and Slack side by side

  - Win-Z inside FF
  - 1 selects side-by-side
  - 1 again snaps FF to the left (2 would snap to right, and so on for more complex layouts)
  - Slack is the first suggested window (MRU), so Space to snap right
It's not as quick as the mouse interface yet - especially with the mouse improvements MS made - but seems like it could be easily automated with eg Autohotkey


I used to use that on MacOS too! Yeah it was great.


Is it better in anyway compared to i3?


Foobar window manager written in Rust, here is my resume, written in Rust.


Each breath I take is in Rust.*cough*


:crab emoji:




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: