You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Originally reported by tassilo@…]
(I like the default_orientation auto config option, which splits workspaces either horizontal or vertical depending on if it's wider than high. However, for my daily use (and habits), that option doesn't go far enough. I'd love if that applies to any container. I.e., when a new window appears, the current focused container is split horizontally or vertically depending on it's width/height.
Here's an example what I'd like to have starting with a fresh workspace and hitting Mod-RET 4 times in a row opening 4 terminals, when the focus is always on the container whose window was mapped last:
Right now, my current habit is to directly hit Mod-v (which is split v) after the second container has been created, which is pretty inconvenient.
I tried to follow the code from handling new windows thru mapping them until starting the rendering, but I'm not too proficient in C in general and i3 in particular to implement that myself. But I'm happy to try if someone gives me a pointer.
The text was updated successfully, but these errors were encountered:
Actually, now that I think of it, what you describe is how automatic tiling WMs work (like DWM, awesome, etc.). If you really need that, you might be better off using one of these. i3 is (and will stay) a manual tiling WM.
If you frequently require such a layout (not the algorithm, but a fixed layout), maybe layout restoring will provide a mechanism for doing that. That’s not quite there yet, though.
In conclusion: closing as wontfix. Either future features will provide that, or you need to switch to a different WM :).
Sorry, Michael, I won't settle to that argument that quickly. ;-)
I've already used dynamic/automatic tiling WMs, and as I result I can say that I want to be the master of my tiles, i.e., I want manual tiling. The main difference is that in a dynamic tiling WM, new windows are automatically handled by the layout algorithm, whereas in a manual tiling WM like i3, I can be sure that creating a new window will split the currently focused container. That's a very important point to me.
But that doesn't mean that a manual tiling WM isn't allowed to have (optional) sane (non-surprising) defaults. In my opinion default_orientation auto is what most users would expect, and it's the i3 default, so it seems you agree.
But why are workspaces that special that they deserve such a special behavior while other containers don't? I mean, on the monitor I'm sitting in front of right now, every of the 2 tiles on my current workspace is more than twice as large than the resolution on a usual netbook.
WRT the layout restoring: That wouldn't help me. My usual mostly-static layout is half-half split horizontally (SomeApp|Terminal). However, frequently I fire up another terminal to do some quick operation and close it instantly afterwards. Or SomeApp spawns some new temporary window. In those cases, I always want that the focused container is split depending on its height/width ratio. Now, I work around that by doing split v on both containers created by spawning the 2 initial apps on a workspace. Or if I forgot that, I have to shuffle windows. Both are one-time operations, but still...
Long story short: IMO, applying default_orientation auto to any kind of container would probably DTRT for most users (how about a poll on the list?). Of course, if that feature totally doesn't fit into i3's implementation, then I'll shut up immediately.
[Originally reported by tassilo@…]
(I like the
default_orientation auto
config option, which splits workspaces either horizontal or vertical depending on if it's wider than high. However, for my daily use (and habits), that option doesn't go far enough. I'd love if that applies to any container. I.e., when a new window appears, the current focused container is split horizontally or vertically depending on it's width/height.Here's an example what I'd like to have starting with a fresh workspace and hitting Mod-RET 4 times in a row opening 4 terminals, when the focus is always on the container whose window was mapped last:
Right now, the
default_orientation auto
configuration applies to workspaces only, so I get this layout instead:Right now, my current habit is to directly hit Mod-v (which is
split v
) after the second container has been created, which is pretty inconvenient.I tried to follow the code from handling new windows thru mapping them until starting the rendering, but I'm not too proficient in C in general and i3 in particular to implement that myself. But I'm happy to try if someone gives me a pointer.
The text was updated successfully, but these errors were encountered: