[HN Gopher] Show HN: Komorebi - A tiling window manager for Wind...
       ___________________________________________________________________
        
       Show HN: Komorebi - A tiling window manager for Windows 10/11
       written in Rust
        
       Author : bsnnkv
       Score  : 67 points
       Date   : 2022-10-11 19:42 UTC (3 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | extr wrote:
       | 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.
        
         | orev wrote:
         | 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.
        
         | least wrote:
         | 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.
        
           | bbertelsen wrote:
           | 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.
        
             | least wrote:
             | 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.
        
         | bsnnkv wrote:
         | 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
        
       | qwerty456127 wrote:
       | Very nice although I feel perfectly happy with MS FancyZones.
        
         | brokenmachine wrote:
         | 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.
        
       | swapsCAPS wrote:
       | 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
        
       | raggi wrote:
       | The almost-recursive screenshot in the README amused me
        
         | zan2434 wrote:
         | :D Thanks for mentioning this! I hadn't noticed it and it is an
         | amazing touch.
        
       | bsnnkv wrote:
       | 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/#window-manager-event-
       | sub...
       | 
       | [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
        
       | sonovice wrote:
       | 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.
        
       | NaturalPhallacy wrote:
       | I've been using Winsplit Revolution for years, and more recently
       | MaxTo. Is there some reason to use this over one of those?
        
         | bsnnkv wrote:
         | 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).
        
       ___________________________________________________________________
       (page generated 2022-10-11 23:00 UTC)