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,

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.

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.

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