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

A way to make all children the children of their grandparents

asked 2013-11-21 19:05:58 +0000

milkypostman gravatar image

updated 2013-11-21 21:21:06 +0000

Sometimes I have a group of windows inside a container that is in another container and I want to take all windows inside the container and make them children of their grandparent. Is this possible? Here is a visualization,

Before

    g
   / \
  p   a
 / \
c   d

After

    g
   /|\
  c d a

If you started with,

+---------+---------+
|         |         |
|    c    |         |
|         |         |
+---------|    a    |
|         |         |
|    d    |         |
|         |         |
+---------+---------+

It would end up with

+------+------+------+
|      |      |      |
|      |      |      |
|      |      |      |
|   c  |   d  |   a  |
|      |      |      |
|      |      |      |
|      |      |      |
+------+------+------+

Where c, d, and a are all in the same container.

edit retag flag offensive close merge delete

Comments

Crap. Too little space. Answer instead.

joepd gravatar imagejoepd ( 2013-11-21 20:39:58 +0000 )edit

1 answer

Sort by ยป oldest newest most voted
0

answered 2013-11-21 20:42:32 +0000

joepd gravatar image

updated 2013-11-21 23:06:13 +0000

I don't understand your question. If this is the starting situation, how should it look like after the move action?

+---------+---------+
|         |         |
|    c    |         |
|         |         |
+---------|    a    |
|         |         |
|    d    |         |
|         |         |
+---------+---------+

Thanks for the update. Now the answer: You'll first want to bring the three windows to the same level in the container hierarchy, and then do a layout change command (layout toggle split, stacking or tabbed).

Otherwise you will have to break the windows out of the container p into the container g at some moment. Moving the container as a container does not help with that.

edit flag offensive delete link more

Comments

updated main question with a visual response.

milkypostman gravatar imagemilkypostman ( 2013-11-21 21:21:26 +0000 )edit

But see, I don't want `c` and `d` to be in a container. So in your terms, I want a way to break *all* windows out of container `p`.

milkypostman gravatar imagemilkypostman ( 2013-11-21 23:27:21 +0000 )edit

In my understanding, what you want is having `a`, `c` and `d` in the same container, in a vertical split. What I say is: Move `a` into the container of `c` and `d`, and then take care of the layout. Any other way is backward.

joepd gravatar imagejoepd ( 2013-11-22 08:40:10 +0000 )edit

Then I have them in a container inside another container which is not what I want.

milkypostman gravatar imagemilkypostman ( 2013-11-24 03:38:28 +0000 )edit

It is not clear what you are talking about concretely, as the procedure that I indicated leads from starting position to end position. Are you talking about tabbed/stacked containers? Your question might be answered in this question: https://faq.i3wm.org/question/2952

joepd gravatar imagejoepd ( 2013-11-24 03:52:34 +0000 )edit

Question Tools

Stats

Asked: 2013-11-21 19:05:58 +0000

Seen: 215 times

Last updated: Nov 21 '13