Main reason for me is because I don’t have to manage the position or size of apps I open.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Idk I just keep everything fullscreen except small things like my password manager. Use virtual desktops to switch between major functionality. One for work, one for Slack, one for email.
The only thing I split is my IDE to compare code.
Many tiling WMs can do “everything fullscreen” too, and they're better at it since you don't have to manually press the maximize button for every window you open.
Same. I've tried to use tiling WMs before, but simply can't get used to it. I usually have a three monitor setup. Left monitor is a browser full screened with just two tabs: my work emails (Outlook 365) and MS Teams. That is a 27" 1440p monitor, and I've tried splitting this to show two browser windows side-by-side to have teams and outlook at the same time, but both end up too narrow. I just switch tabs to see the one I need at any given time.
Middle monitor is my primary. It is another 27" and it has my IDE fullscreen, it can switch between all the projects im working on, and if I want to view two source files side by side, I use the split-tabs feature in my IDE.
Right monitor is my browser. It is a 23" 1080p screen and it has Firefox fullscreen with usually 20-30 tabs open to reference pages, documentation, etc. I very rarely want to look at two webpages side by side at the same time. If I do, I open a second Firefox instance and use KDE's built-in left-right split screen feature.
I actually usually also use my laptop's 14" screen as a 4th monitor, I have my notes app (Trilium) and my password manager (KeePassXC) on there and switch between them as needed.
Most of my work happens in browser, some of it happens in terminal, other parts happen in vscode. I have very little method to the madness but I’m hoping at some point in the not so distant future to consolidate my desk to a triple monitor setup. I currently have two connected to the work laptop and two for my personal desktop. It’s a bit chaotic
Honestly, if you’re using 3 monitors, you’re kind of using a single display split into a minimum of 3 tiles.
Tiling window managers support a workflow with one large monitor that you can split into n tiles whichever way you want without touching your mouse.
I’m not saying it’s objectively better or anything, but once you get past the learning curve, having to manually size all of your windows is a chore. I love having my browser window open full screen, pressing a hotkey, and having a text editor open next to it taking up 1/3rd of the screen, with the browser resized to fit.
Mostly, things are full screen, and I love that my WM launches apps in full screen automatically, unless there’s another window open on the workspace I’m targeting.
And when they’re not in full screen, it’s all handled smoothly without me ever having to take my hands off the keyboard.
Sometimes I want the file manager alongside the document I watch. Bspwm give them all the space available automatically.
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.
It's basically the same as a stacking WM, except you can't lose windows under others. And it automates the window handling with freely sizeable ones like terminals, not hiding them on top of each other, while eg. Steam can get its own Workspace.
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.
I've configured my entire interface to provide the most amount of input bandwidth for me so that I never have to wait for the computer to do what I want. I3 vim and vimmium solve my problems
I like vimium, but qutebrowser is way faster for me. It’s my go-to for research or reading documentation.
Even on Windows I've always used a "split" desktop. Windows has pretty okay tiling features (for the drag-and-drop folks). I found it pretty efficient being able to look at two browser tab windows or having a PDF file on one side and Word/Docs on the other.
When I was venturing into Linux and found out about i3wm, I pretty much fell in love. It does the same tiling thing on Windows but better. Now I can have four windows without it feeling too cramped and it's reallly easy to move around with workspaces. I think it's really great for students and researchers.
I prefer a tiling WM for programming work. On my personal PC I actually use GNOME or KDE or something. But on my old study machine and my current work machines it's i3 all the way. Being able to quickly tile 4 terminals together makes my work much easier. Often I have many terminals open, each with a bash history specific to what I'm doing there. Workspaces then act as a sort of bundle of applications with the same general purpose. For instance, one workspace for installing and copying stuff to a machine, another for VNC related stuff, etc. If I'd have to alt+tab between 8 terminals I'd never know which one is which. But now I can remember them by location which is way easier mentally. Similarly I sometimes have multiple projects open in an IDE, and I usually remember which workspace is for which project.
It's even better on 4K monitors, where having 4 1080p terminals open is amazing. I can see everything and I only need to move my eyes. No keypress to switch terminal, everything is right there.
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.
I don't use an exclusive tiling WM, but prefer a hybrid stacked/tiled approach.
So my argument for the stacked approach (or why I prefer floating windows sometimes) is because sometimes, some of my windows don't really work well as a small tiled space - remote desktop windows for instance. Or sometimes, there's too much white space in a window and resizing it into a tile may make it look weird, like a web page (especially web apps). So tiling doesn't always work for me, so for the most part I prefer floating/stacked windows.
As for tiling, it's great when you've got multiple things you need to refer to, or keep an eye out on. For instance, in my typical tiled work setup, I would have one tile for emails, one for chat, one for my browser, and one is a terminal or IDE. The terminal or IDE would be my main work area, I need the browser open at the same time to look at help or other reference material and maybe copy-paste code, and the emails and chat I need them open to keep an eye on things. I might make use of other monitors or workspaces for other things, like full-screen windows such as remote desktop sessions, or other monitoring stuff.
So for me, both floating and tiling windows are useful, so I prefer a general stacked WM that can also do tiling.
How big is your monitor that you can havel 5 windows open at once and you can still see everything sufficiently? Also whats a stacked WM?
I usually have 4 windows on my 34" QHD monitor (16:10 aspect ratio), the fifth window is usually a full-screen window on a different workspace or monitor.
A stacking WM is a "normal" WM that most people use, like Mutter (Gnome) or kwin (KDE). Also called as floating WM. It's called stacking because windows are organized in a layered stack, one on top of the other, similar to pieces of paper on a desk. They have a "z order", and can be "above" or "below" each other, along the Z axis in the stack.
Usually it's just one program per virtual desktop, and maybe a second (briefly) for one-off terminal commands, etc.
The whole point for me is to avoid wasting time moving a mouse around or manually manipulating anything.
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".
I really enjoy it because everything is automatically maximized, but I can always easily put programs next to each other (f.e. my school uses Discord, so I have to have it open next to Matrix). The window rules are also very useful, as I can make Firefox always be on the first workspace, or my terminal always on the third. You can also make certain apps always float so password managers and such still work the same way.
I'm using tiling WM mostly to have shortcuts and more controls about window switching but I rarely have multiple windows visible at once, but when I do - tiling is more convenient. When it doesn't - you can always make that particular window floating.
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 don't like it. Changing one element is not supposed to influence all others. I put windows into predefined positions and sizes via hotkeys (and I set a font sizes to get specific line lengths) and I would violently rip every peace of code out of my system, that dares to override my orders.
I'm with you. My eyes can only look one place at a time, I don't even understand the draw of multi monitor. Alt-tab is your friend.
The only objections to that which I find convincing is the difficulty of managing switching tasks between complex sets of windows and tabs that way. But that just tells me that someone needs to invest in better controls for managing a full-screen switching workflow as a third alternative to tiling vs overlapping.
If you’re only actively using one window at a time, that makes sense, but alt+tabbing through a stack of 8 open applications to go back and forth between something you’re working on and something you’re closely referencing sucks. If your primary workflow for a computer involves that, I honestly don’t understand how someone can live without tiling.
That's why I said "someone needs to invest in ...". It's not ideal, and besides alt tab, I do select from taskbar icons (often cascading) which is not ideal either. But I do want most of these windows maximized so tiling is not really the right solution.
I really think there is something that both the tiling people and the overlapping people are missing. There is perhaps something basic in the windowing paradigm that none of us can see past to be able to get to something better.
BTW though, it's not as bad as you seem to imply with the stack of 8 windows because alt tab goes to the last used window, at least in the Plasma desktop I use. It's really only the more complicated sequences which get awkward (which for me is pretty common anyway).
Someone has invested, the solution is tiling window managers.
As 217 people have told you in this thread, tiling window managers allow you keep all your windows full screen if you want.
217 people have certainly not told me anything. Maybe you're confusing me with OP, I think you're the only one who has replied to my 2 comments.
However I just looked at the rest of the comments to see if I was missing something, but no, no one has addressed what I'm saying. Maybe there is some property of a tiling wm that I don't get, but to me if a window is maximized, that means it occupies the whole screen and there are no other tiles visible. Whether the other non visible windows are tiled or layered is moot. I think what I want is a way to organize and select windows that has nothing to do with how they are layered in the Z axis, or tiled in X and Y. It's a logical problem, not a physical space problem.
Again, I'm selecting between a bunch of maximized windows 95% of the time. I don't deny the use cases for wanting multiple windows to be visible at once, and tiling is a good solution for that, but those use cases are rare for me. I spend a trivial amount of time rearranging and resizing windows. This is the only thing I hear people say tiling solves. This is a non problem for me.
However I've never used a timing wm. So I'm all ears if there is something I'm missing.
Oh yikes sorry for the hostility, I definitely did mix you up with OP.
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.
The ‘tiling’ in tiling window-managers is only half-truth. It distinguishes them from stacking window-mamagers, which would be equal to only looking at one thing at the time.
They all can also do stacking and tabbing, the term means they can do tiling as well. Most users some form of stacking even more than tiling in itself.
Most also can do floating windows, usually on per-app basis. This is achieving what most fully fledged desktop users do: have one fullscreen window per workspace, and have small things like pacucontrol as small floating window.
In no way are you limited to tiling. If you were, tiling window managers wouldn’t be very popular. They’d be like stacking window managers are today.
My most often use half-and-half layout: browser and emacs, emacs and console, emacs and emacs, and so on. If I want to have two consoles and emacs, I instead of tiling, make a stack for the two consoles. This way I always have emacs showing, and switch between the consoles, no matter how many there are. This is kind of like a “sub-workspace”.
The main advantage is ease of configuration, assuming familiarity with config-files. That enables quick, keyboard based navigation, in a very personal and fine-tuned manner. Modern tiling window-managers can also be configured on trackpad or touchscreen gestures, and work intuitively with mouse pointer. So while many users do specifically keyboard centric configuration, the key point in my opinion is that you as a user need, and get to, choose.
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.
The only thing I tile is windows on the secondary vertical monitor, simple stack of two windows on top of each other. There it works well, as that monitor mostly gets used for monitoring long running processes, webcam for the 3d printer and stuff like that. It's not windows I actively engage with, but just something running at the side to keep an eye on.
For my main monitor I never quite saw the point. I don't like windows being off to the side, creates too much perspective distortion on a big monitor to be comfortable to look at, I like them in the center. When I put a window in the center, there isn't enough space left to the sides to do much useful with, even a simple shell starts line breaking in ugly ways.
I do tile inside Emacs, but even there it's mostly just a simple vertical tile (code at the top, compiler output at the bottom).