I feel like my eyes can only look at one thing at a time. I just have shortcuts to switch between programs.
Why do you prefer using a tiling WM and how do you use the tiling functionality in your workflow?
Web dev here.
- editor + web browser + devtools when working on frontend (workspace 3)
- editor + tests + another terminal for whatever when working backend (workspace 2)
- server terminal + lazydocker for both (workspace 1)
- web browser with work related tabs + todo list + notes app on workspace 9
- chat apps and email on workspace 10
- long-running jobs and performance monitors on workspace 8
- 4-7 are used for whatever
- music on scratchpad
Tiling (as well as stacking) make it manageable to have a bunch of windows open with a minimum of fuckery. Sure I can only read one at a time, but when coding for example I’m rapidly switching between the code and the result. I can have a text editor, browser, and devtools accessible as fast as I can think, and I spend very little effort arranging windows.
Also, a good tiling window manager replaces the need to learn a bunch of windowing features for other apps. My devtools open in a new window, I don’t use tmux or my terminal’s split features, and I generally have a bunch of browser instances open because my window management handles it all, better.
I’m also a web dev and I have a similar workflow where each workspace has its purpose. Except I never tile anything. I do have shortcuts that switch to specific windows but I never tile anything. That way my eyes are always on the center of the screen.
I very rarely need to tile windows next to eachother. So rarely that I just don’t see the point in making it the main feature of my WM/DE.
Very interesting to read though. Thanks for the thorough example.
¯\_(ツ)_/¯ whatever works for you, but that sounds painful to me. Why is only using the center of the screen so important?
I’ll clarify that I only use the more complicated layouts on my big monitor at home; when I am on a laptop it’s single window or side-by-side for the most part.
I am just a regular user but on a smaller screen ie. 13 inch 1440x900 I just have a single maximized window visible even if I have multiple apps open like web browser because I can’t see anything if I have multiple windows.
Do you have a small monitor?
In my opinion, on a >32 4k or 1440p display, the full screen is just way too big for a single window. Which isn’t a problem, because as easy as it is to switch between two windows, it’s even easier not to. Especially for things like having a web browser and dev tools, switching back and forth every time I tweak a CSS rule would be agonizing.
I like having a big window open. What annoys me with tiles is that the center of my screen which is the most natural to look at is now just a intersection of the other screens so I have to move my eyes over it just feels uncomfortable.
Sounds like your screen is too close to your face.
The main reason I use a tiling WM is because I grew tired of having to drag my mouse all over the screen to switch maximised windows, cycling through them with hotkeys or, even worse, spending a fat minute resizing windows with surgical precision in order to have them both visible.
At first I used KDE’s ability to make them transparent, which was ok enough until I tried experimenting with Sway; now I have the habit of splitting the workspace in two, and swiftly resizing the window I want my focus on.
In certain situations floating windows are more convenient, so I just Meta+F, make it a bit transparent, then drag it around.If I really do not need nor want anything else on screen, Alt+Enter forces the window to its size, and if I want to look at the time or smth I have 9 other workspaces to switch to without any delay.
The downside of tiling WMs is that no desktop PC software developer considers their existence, and most applications don’t like being forcefully resized.
Also, popups often take half the screen - I can’t even blame anyone, portable graphical libraries and frameworks do not expect that popups need special treatment for the WM to display them correctly.Don’t need the mouse. Nothing ever gets tucked behind anything else. dwm allows you to put one window on multiple tags (desktops) in multiple window arrangements. Also it’s fully scriptable. Why NOT use a tiling WM?
You really hit the nail on the head here. Never having to take take your hands off the keyboard, while always having windows take up exactly the right amount of room, is the main reason I hate having to use non-tiling WM.
And your other point is spot on, too. Any workflow that you use in a standard WM you can also do in a tiling WM, except (imo) more easily. And there are lots of workflows that are agonizing without tiling functionality.
I want to read this book full screen. Hang on, didn’t that other book say something different about this? I want to open it. This is complex, I want to compare side-by-side. Oh, I get it, I should take notes on both of these. Hang on, I need to look at both books while taking notes. Okay I’m done with the second book but I still want to take notes on the first.
Slogging a mouse around to click, drag, click, drag, double click, drag, all while repositioning your hands to type, sucks so bad.
The case is even more clear when you consider that the concept of tiling WMs is just an extension of the game-changing paradigm behind terminal multiplexers and IDE splits.
It’s just better. There’s probably a bit of an adjustment when you’re first adapting to it, especially if they’re really used to a mouse-centric, window-draggy workflow, which is likely the only reason that people think they don’t like them.
You don’t really get my point though. I am fully on board with using keybinds and using the mouse as little as possible. I just mean why tile windows at all. I just can’t focus on anything other than one window if I need the other program I have a shortcut that brings it forward. I keep my eyes mostly in the same position this way.
Anyway this is just a matter of workflow that’s what it comes down to. I may just have to accept that it’s not for me.
Yeah, definitely a matter of workflow and personal preference. Nobody wants to convert anyone else, you just ask why people use tiling WM, and people are answering.
why tile windows at all
I can answer that pretty comfortably. There are two main reasons, the first is that it’s very common to have to look at two things at once. If I’m taking notes while reading something complicated, or writing some complex code while referencing the documentation, or tweaking CSS rules while looking at the page I’m working on, it’s just way too disruptive to constantly have to switch windows.
The second main reason (for me) is that a lot of the time, the content of a single window is too small to make use of the space on your monitor. In those cases, if I have something else I’m working on and it’s also small, I’ll tile them. It might be easy to toggle between windows with a hotkey, but it’s strictly easier to not have to toggle, and just move your eyes over. Peripheral vision means that you don’t entirely lose the context of either window. When you’re ready to switch back to the one you just left, you don’t have to touch anything, and you don’t have to wait for the window to render to visually locate where you left off.
Removed by mod
Not needing to search through layers when I’m multitasking is the big thing. Having a file manager, ide and documentation all on one monitor makes things much easier.
I tend to use floating or fullscreen for general browsing but often you have to type something while frequently referring back to something else - for example when programming I will be looking at the documentation. Or maybe debugging something on the command line while looking at your code to see what’s going on. In those circumstances tilling is perfect.
at some point in my computer life, I realised that with most new window I oppened, I was dragging them to the side to tile them next to the other in order to not lost track of either the content of the other window like a webpage or a running script or to more easily drag stuff between them without having to move the first window, now behind the new one, it wasn’t that annoying or time consuming since I’m pretty fast with a mouse, but it did require me to focus on the positioning of the window to get going, tiling completely removed that aspect, no I only interract with the window to resize them or change screen, which is far less often that I use to move them around to un-obstruct them
I am always creating content on one half of my screen and browsing through documentation or specifications or chat logs on the other half. So it makes sense, and saves me lots of time, if I setup my computer to automatically place certain windows such that they fill the whole left of the screen and other windows so they fill the whole right of the screen. And this is precisely what tiling window managers are designed to do – especially ones that let you define your own rules about what windows go where.
In my tilling wm (xmonad and before that ion3) all software is always full screen and I have them in “tabs" per “desktop” aka “tag”'.
It is so nice to have everything available via keyboard, after decade of same setup I don’t even think where is what.
And xmonad is soooo good with multiple monitors, nothing comes close.
i don’t like it tbh. I prefer virtual desktops; I could see how a kiosk it might be helpful, where based on streaming data, a controller opens / closes tiles and the Wm makes it work.
For me, diff desktops for diff modes of use that auto start @ login & ability to hotkey across. This was a bigger deal when debugger and editor were separate and starting an app meant clicking and dragging the initial size (who has time for that). :)
Remember: empty RAM is wasted RAM!
“Empty RAM is wasted RAM” is only for operating system; for everyone else, it’s “Empty RAM is filesystem cache”.