The i3 FAQ has migrated to https://github.com/i3/i3/discussions. All content here is read-only.
Ask Your Question
0

How to have two sibling nodes with many children each

asked 2013-11-22 20:50:29 +0000

efrey gravatar image

I often find myself wanting to have two "stacks" of windows next to each other. I believe in i3's tree model, this would mean I have two sibling nodes in my tree, each with many windows in it. However, I can't seem to create a tree like this.

I know how to have many individual sibling windows, and even how to have many sibling windows with a child containing many windows, but I do not know how to make a second child of many windows.

What I want is something like this:

                         +----------------+
                         |                |
                         |                |
                         |                |
                         x----------------xxx
                       xx                   xxxxxxx
                     xxx                          xxxxxxxxx
                   xxx                                    xxx
               +---x-+                                   +--xx---+
               |     |                                   |       |
              x+-----xx                                  x----x--xxx
             xx   x   xxx                                x    x     xxxx
           xxx    x      xxx                            xx    xxx      xxxxx
          xx      x        xx                           x        xxx       xxxxxx
        xxx       x         xx                        xxx          xx           xxxx
      xxx         x           xx                      x             xx             xx
 +---xx---+    +---x----+   +--x-----+              +-x------+    +--xx------+   +--x-----+
 |        |    |        |   |        |              |        |    |          |   |        |
 |        |    |        |   |        |              |        |    |          |   |        |
 |        |    |        |   |        |              |        |    |          |   |        |
 |        |    |        |   |        |              |        |    |          |   |        |
 +--------+    +--------+   +--------+              +--------+    +----------+   +--------+

But the only thing I can seem to make is:

                                   +------------+
                                   |            |
                                   |            |
                                   +-------x----x
                                    x      xxx  xxxxx
                                  xxx        xxx    xxxxxxx
                                 xx            xxx        xxxx
                               xxx               x           xxxxxx
                            xxxx                 xx               xxxx
                         xxxx                   +-xxx-----+      +---x------+
                     +---x                      |         |      |          |
                     |   |                      |         |      |          |
                    xx-x-+                      |         |      |          |
                   xx  x xxx                    |         |      |          |
                 xx   xx   x                    +---------+      +----------+
              xxxx    x    xxx
            xxx       x      xxx
           xx         x        xxx
       +---x---+  +---x----+  +--x------+
       |       |  |        |  |         |
       |       |  |        |  |         |
       |       |  |        |  |         |
       +-------+  +--------+  +---------+
edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted
1

answered 2013-11-22 21:25:32 +0000

joepd gravatar image

updated 2013-11-23 10:48:35 +0000

I am taking a guess at what you are actually asking, but I suppose that you are talking about not being able to make a stacking/tabbed container in the right one. That is because layout tabbed|stacking works like layout splith|splitv, as opposed to split horizontal|vertical. That is: It operates on the container, rather than the current window.

Assuming you have created the windows of the left branch, and have the first and only window in the right branch focused, I would press the split horizontal shortcut. The result is a new container, which you will see if you open an extra window.

After the second window is open, you can make this new container tabbed or stacking.

If this does not answer your question, please update your question. And please describe what you actually do.

Update Correction. You don't even need to create the second window in the right branch. Just put this in my i3.conf:

bindsym $mod+Shift+W split v; layout tabbed

This will turn the current window into a tabbed container with only one window.

edit flag offensive delete link more

Comments

Oh, I see the problem now. I have only been using the `layout split(h|v)` commands, not the `split horizontal` command. After reading your comments I returned to the manual and found what you are talking about. Thanks!

efrey gravatar imageefrey ( 2013-11-22 21:38:27 +0000 )edit
1

answered 2013-11-26 21:33:16 +0000

Michael gravatar image

joepds answer is correct, but just as an addition: if you want to work with stacks primarily, maybe using workspace_layout stacked is convenient for you.

edit flag offensive delete link more

Comments

+1. I run with `workspace_layout stacked`. As soon as I move a window out of the stack (e.g. `move right`), it starts a new one.

Yuri Khan gravatar imageYuri Khan ( 2013-11-30 12:51:46 +0000 )edit

Question Tools

Stats

Asked: 2013-11-22 20:50:29 +0000

Seen: 180 times

Last updated: Nov 26 '13