The i3 FAQ has migrated to https://www.reddit.com/r/i3wm/. All content here is read-only.

# workspaces as grid

hi, Firstly, I want to say I love i3. I enjoy it's lightness, it's speed it's easy configurability that makes my work fast and efficient.

The one thing that keeps me looking elsewhere is the lack of the ability to create workspaces as a grid. A simple 3x3 grid gives me a clean visual map of where everything is... (ie 9 workspaces in a 3 x 3 grid) Not unlike being able to tile windows in a visually appealing and effective way.

Is there any way this is (or could be made) possible in i3?

thx!

edit retag close merge delete

This question may be a duplicate to [How to arrange workspaces in a bidimensional manner](https://faq.i3wm.org/question/3591/how-to-arrange-workspaces-in-a-bidimensional-manner/).

( 2015-03-31 11:14:52 +0000 )edit

Ah great! I have just started playing with bbpager. I hadn't got it working as I wanted yet so maybe this is the answer. Thanks again.

( 2015-03-31 19:37:36 +0000 )edit

Sort by » oldest newest most voted

I have a picture to show, but I have no karma... thus i can't publish links zzzz

It's simply 9 terminals created, then you set up one terminal as a vertical group and pulled 2 more into it, and then do that again and one more time. That's it. Easy as

more

thanks.. tho that sounds more like a 3 x 3 grid in a workspace... not a 3 x 3 workspace grid as I want... (maybe i wasn't clear enough.. i've edited my question to make more so)

( 2015-03-17 00:41:03 +0000 )edit

i3 handles workpaces a different than some other (non-tiling) window managers like kwin (from KDE) for example.

i3 creates workspaces dynamically when you switch to them or a window is created on them. They are also removed dynamically when there are no windows on them and they are not visible. Usually i3 will start up with only as many workspaces as you have displays, unless you assign and automatically start programs on other workspaces.

Other than on the i3bar workspaces in i3 do not really have a positional relation to each other. The only time a floating window that is pushed outside of the screenspace will apear on another workspace is if you have multiple displays and you move it from one display to the other. Otherwise if you move a window to the right out of a workpace it will not appear on another workpace that is right of your current one on the i3bar.

So at least internally, there is no way to get i3 to order workspaces in a 3x3 grid. (Other than actually hooking up 9 displays set up in a 3x3 grid)

That being said, i3 does not prevent you from thinking of the workspaces being ordered in a 3x3 grid. You could for example use the numpad keys for key bindings related to workspaces instead of the number row:

bindsym $mod+KP_1 workspace 1: SW bindsym$mod+KP_2 workspace 2: S
bindsym $mod+KP_3 workspace 3: SE bindsym$mod+KP_4 workspace 4: W
bindsym $mod+KP_5 workspace 5: M bindsym$mod+KP_6 workspace 6: E
bindsym $mod+KP_7 workspace 7: NW bindsym$mod+KP_8 workspace 8: N
bindsym $mod+KP_9 workspace 9: NE bindsym$mod+Shift+KP_1 move workspace 1: SW
# [...] and so on


You could even use the i3 IPC interface to set up some scripts that allow to move to another workspace by giving a direction. For example workspace_right would go from 7: NW to 8: N or 5: M to 6: E.

more

thanks for your full response! While I like your workaround, (and I'll try it) there is something about seeing the representation of the grid that serves as a kind of map for me. hmmm...!

( 2015-03-27 22:10:21 +0000 )edit

Maybe you could just try some pager program used for other WMs. I once tried bbpager, It did show the workspaces and one could configure how many rows or columns should be shown. Back then it was not possible to switch WS, but maybe it works now, or some other pager works better.

( 2015-03-28 07:25:59 +0000 )edit