Tiling vs Stacking - Desktop Customization & Workflow
venam
Hello fellow nixers,
In this thread we're going to discuss two prominent ways of laying windows on the screen: tiling and stacking.

There was a long thread on reddit that inspired me to open this for further discussion.

I thought the pros and cons were not as developed as they could be and rotated around the "It works for me why wouldn't it work for you too".

Let's also dismiss in this argument the hybrid window manager, tiling but that allows floating. Because why not make the opposite too, floating but that allows some tiling.

Also it needs to be said that tiling strictly refers to the windows not overlapping and not the management in itself.

Here are some of the arguments:
  • Tiling WMs: The aspect ratio of windows might not be respected (not always true if you add gaps in the equation)
  • Tiling WMs: When you resize one terminal it will send SIGWINCH to all other terminals because they'll also be resized.
  • Tiling WMs: It is hard, when there are many windows open, to manipulate the tree and replace the windows in the order wanted or find the wanted window (not always true)
  • Stacking WMs: Is the desktop metaphor (maybe?)
  • Tiling WMs: allows you to see all the windows on a workspace at the same time (but what about the windows on different workspaces?)
  • Stacking WMs: Allows you to overlay windows and thus gain space on the screen when it gets cluttered (see desktop metaphor)


And here are the arguments related to the management and so that are not true arguments (AKA misconceptions):
  • Tiling WMs: Places all the windows at the right position and with the right size for you
  • Stacking WMs: You have to spend all your time thinking about how to place windows and resize them
  • Tiling WMs: Are keyboard driven
  • Stacking WMs: Are mouse driven
  • Tiling WMs: Need a lot of time to configure
  • Stacking WMs: Are resources heavy
  • Tiling WMs: have better workspace management (or do they? why? Stacking has workspaces too)
  • Stacking WMs: Need to have decoration so that you can drag them around with the mouse
  • Tiling WMs: Allow better grouping of windows

Overall, it's hard to find a lot of *valid* arguments just for the concepts of tiling and stacking themselves without bringing the management part into it.

Please bump this thread with more pros and cons.
mrtn
Before giving arguments or try to decide what to use, you should be aware of your usage of your computer.

For me, it's either a fullscreen-program or some windows side-by-side. In addition, i don't really 'stack' windows. If the space is running out, i move windows to different workspaces anyway. So, the discovery of tiling wm's were actually a great improvement. Before i3, I used gnome, and to place windows side-by-side, i had to arrange them in an additional step... Now i just open another window on the same workspace and i'm good to go.

So, for me is the biggest pro of using a tiling-wm the reduction of steps to arrange my windows in a way i like them.
jkl
Another pro for Tiling WMs: It is the standard as of UNIX v8.

However, for me (personally), neither Tiling nor Stacking WMs are the way to go. I mostly work on laptops with little screen space, so my abilities to arrange windows without losing information are limited. I tend to use my systems (both Windows and BSD) in monocle mode, having one full-screen window per screen all the time. Humans can't multi-task anyway.
venam
(02-07-2017, 10:53 AM)jkl Wrote: I mostly work on laptops with little screen space, so my abilities to arrange windows without losing information are limited. I tend to use my systems (both Windows and BSD) in monocle mode, having one full-screen window per screen all the time. Humans can't multi-task anyway.

(02-07-2017, 08:54 AM)mrtn Wrote: For me, it's either a fullscreen-program or some windows side-by-side.

Same for me, I think most of us end up converging to monotasking.

(02-07-2017, 10:53 AM)jkl Wrote: Another pro for Tiling WMs: It is the standard as of UNIX v8.
So it used Blit apparently. Are you sure it was strictly tiling because it looks like it's stacking ( http://doc.cat-v.org/bell_labs/blit/blit.pdf )?
Quote:The screen is not big enough (no matter how big it might be). Therefore, windows must overlap. The desires for overlap and asynchronism led to the development of layers, an implementation of overlapping, asynchronously updated windows.
Also, this is probably more like terminal multiplexing than X window management.
jkl
(02-07-2017, 11:16 AM)venam Wrote: Are you sure it was strictly tiling because it looks like it's stacking ( http://doc.cat-v.org/bell_labs/blit/blit.pdf )?

Whoops! Sorry, I retract my claim.

(02-07-2017, 11:16 AM)venam Wrote: Also, this is probably more like terminal multiplexing than X window management.

There was no X when Blit was designed, so of course it did not revolve around X windows. It was not Blit's fault that there were not many other graphical applications available though. Blit could also show (e.g.) a clock, so it was technically not limited to pure terminals.
venam
(02-07-2017, 11:26 AM)jkl Wrote: Blit could also show (e.g.) a clock, so it was technically not limited to pure terminals.
Definitely, I agree with that.

Still mentioning that because V8 used Blit, which was stacking, as a default graphical environment doesn't make a good argument, that's more of a genetic fallacy than anything else.
mrtn
(02-07-2017, 11:16 AM)venam Wrote: mrtn Wrote:
For me, it's either a fullscreen-program or some windows side-by-side.

Same for me, I think most of us end up converging to monotasking.

It is actually monotasking for me. The only case i use it that way, is reading documentation/tutorials/etc when coding...
pyratebeard
I tend to have most windows fullscreen as well. As others have mentioned it is handy when you want to read along side working to have two windows side by side, and this is easily accomplished with tiling.

The big thing that brought me on to tiling WMs is the keyboard driven element.
*Edit - and the minimalism

With regards to the argument about manipulating the windows to suit your needs, this comes with time. Each WM is slightly different but with a bit of perseverance it becomes easier. It took me a while to get use to herbstluftwm after awesome for example.

I also organise my workspaces so that I know which one to switch to in order to find a window. Does anybody else do something similar?
mrtn
(03-07-2017, 09:49 AM)pyratebeard Wrote: I also organise my workspaces so that I know which one to switch to in order to find a window. Does anybody else do something similar?

Same here. Browser is on Workspace 1, Programming happens on 2 and my terminal emulator is open on 3. IRC is always on 0 - for all other workspaces, it's simply chaos.
acg
(03-07-2017, 04:12 AM)mrtn Wrote: It is actually monotasking for me. The only case i use it that way, is reading documentation/tutorials/etc when coding...
This is what I do too, I don't have any issues arranging them side by side using keybindings on a stacking WM.

At home I use dual monitor with my tmux session on the second one and sometimes a little video on top of everything, at the corner. But lets be real I'm not always looking at my second monitor and most of the time my focus is on the primary monitor; even when I have to do something heavy on tmux, I switch it to the main display.

Of course when I need to open something different like GIMP, Spotify or similar, I run them on a different workspace. On single monitor my Tmux session goes to the first and browser to the second; that's how I'm used to arrange them.




Members  |  Stats  |  Night Mode  |  Help