Which Tiling Window Managers do you like, and why?
feel free to list other window managers you've used.
I have been happy with bspwm, but considering trying something else. I love its simplicity and immense customizability. I like that it is shell scriptable, but it is not a deal breaker feature for me.
I like how the binary split model makes any custom partition possible.
Sway is more of an i3 clone. I used to use xmonad, but recently I have been using river with wayland. It has similar defaults to xmonad, also being a dwm clone
I haven't used XMonad in a long time, but it was my go-to for a few years. It was solid. The main issue is that you configure it in Haskell, and I don't know Haskell.
Edit: Why? Because I love how easy it is to get working, it's a nice balance between features and simplicity for me, and IPC features are great for some QoL plugins. Its configuration file format is simple enough, I like lua with wezterm and neovim but I don't really see the point with a WM, I just need to see my windows when I want, the way I want, and to switch to others.
tdrop: the same as kitti3, but I moved to wezterm due to kitty's design choice and tdrop fits the bill, it's also wm agnostic.
i3-volume: integrates with dunst for me to pop up volume status when I change volume via keybinds.
autotiling: A must have in my opinion. I seldom have more than 2 windows on a monitor, since I have two monitors and utilize other workspace, but there are times when I temporarily have multiple windows open and too lazy to group them into stacks or tabs.
i3expo: I heard people have success with this as an alt-tabber with visualization. I just use dmenu and have scripts for window switching.
wmfocus: quite useful if you have multiple monitors and multiple windows on each, instead of doing Super + h a few times to move to the left most window, I just use wmfocus and hop to it immediately.
i3-extras: I just found this, perhaps it's of use.
Regarding your gripe #1, I don't quite understand? Do you mean you don't know the command of a program to type into your terminal to launch?
And gripe #2, if you mean i3lock, I'm okay with that, I like that i3 follows UNIX philosophy of doing one thing and doing it well, and because of that good i3lock forks exist! If it was baked into i3 then this might not be the case.
For i3-lock, I currently use i3lock-fancy-rapid, it's a weird name lol, but it is still dependent on the i3lock-color binary, which itself is a fork of i3lock.
Not sure if this counts as a tiling window manager, but I spend most of my time in emacs in full screen mode. I can create, delete, resize, and swap my windows.
I'm not sure my solution counts either - I just use quicktile with default KDE, because it has the tiling bits that I need and the config file was simple enough that I didn't have to spend a whole day setting it up. I need working memory for other things besides keyboard shortcuts.
Starting with i3 as my first, i tried a bunch of different ones. Xmonad and Qtile were the ones i liked the most but Qtile was buggy and Xmonad while working was super confusing to configure with haskell.
Also tried AwesomeWM, it felt a bit buggy to me in terms of window handling and DWM was just too complicated to patch and even with patches it was too basic
Ended up going back to i3, and then moved over to Sway.
i3 is what I've been using the past few years. I've tried others, but I always end back up with i3 as I've found nothing else to be as simple and efficient for my workflow, with 12 workspaces across 2 monitors.
I really like dwm. It doesn't seem too popular so maybe the other ones are better but it was the first one I tried so the others feel weird to me. I like the idea behind suckless in general though.
I've only tried i3 and it just works, so I stuck with it. After learning the hotkeys it never seems to get in the way (at least for my usage). Riced it a bit. Then some polybar sparkled in there. A wallpaper. What more can a guy want?
I used StumpWM for many years. It was great for most of my workflow and, being written in Common Lisp, you can recompile parts of it while it's running (I didn't do this often but it was a cool feature).
My heart still belongs to enlightenment/e17 but I've been using i3 for the past few years, and then hyprland for the last 4 months or so. It's working out well.
Ahhh, e17 - I've got memories of building it from either cvs or svn at the time as soon as it was announced by rasterman on Slashdot.
e17 was my daily driver for a long time. It looked very pretty, before compositing was even a thing on the desktop, all without sacrificing performance. The biggest downside was that it wrote its configs as binary blobs which frequently broke as new development releases came out.
EXWM. I am a longtime Emacs user so merging the concepts of Emacs buffers and X windows is a huge benefit. Only one set of keybindings to worry about, all of my Emacs window management stuff works for X windows too. One less external dependency to worry about too. In a new environment (like when starting a new job etc) as long as I have my Emacs config I am good to go.
I'll have to give it a try again. I played with it a while back, but I was happy with GNOME at the time. What underlying version of emacs are you using? native comp?
EXWM is not particularly picky about Emacs versions or performance. I used to run with nativecomp but ended up turning it off since I value stability over performance. (nativecomp was pretty stable but I had some occasional issues)
The biggest caveat is that you must be very comfortable with whatever Emacs buffer/window management setup you use since you will be relying on that even more.
Currently, I am using DWL and it is pretty nice. After moving to Wayland, I tried to use Sway for a while, but it does not really fit into my workflow well. But to be honest, even DWL is missing some things I want, and I am not really a fan of that it is written and configured in C. I am planning on trying to write my own tiling window manager in Rust when I have some time.
Sway with autotiling and a few nifty scripts (launch or focus and such) and Waybar. The combination of having scratchpads, sensible autotiling along with titlebars and the wonderful world of wayland is supreme.
I'm on Hyprland (wayland compositer, wl-roots based). Prior to the wayland transition I was on dwm. Hyprland offers a dynamic tiling layout just like dwm, which was my main selling point. The dev is very active and hyprland is gaining maturity rapidly (more than alternatives like dwl or river did at the time I checked it out). I also tried i3 and sway, but they don't quite cut it for me as they don't do dynamic tiling out of the box.
When I was using it, I LOVED Hyprland. It was my most flawless experience with Wayland on an Nvidia GPU. I switched off of it however, because I primarily game on my PC and a lot of games just didn't work and I did not want to have to figure out how to get them working all the time.
I use i3, but to say that I like it is a bit overstated. It's fine, does what I expect the very basic of a tiling window manager to do. I used Nimdow for a while and it's pretty good, the default bar is way better than i3 (supports ANSI colour coding, mouse presses, etc.), but I could never quite get to grips with the tiling algorithm.
I'm working on my own WM though, it's not tiling per-se, I choose to call in non-overlapping and I'm trying to solve my gripes with i3. Basically windows should not be forcefully expanded if they don't want to. Try open galculator under i3 and watch the horror. And when expanded the size should be split based on their initial sizes. So if I have Firefox open and want to do something in a quick terminal window the terminal won't get 1/2 of the screen. Firefox wanted more space than the terminal initially, so the terminal gets to take up a smaller share of the space.
Had the same problem, would like a middle ground between sway and Hyprland. Give me the option to be like Hyprland and some features and fancynes it has, but don't force me.