[i3-discuss] Re: workspaces in containers (was Re: open new windows in opposite pane)

  • From: "Heimo Stranner" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "i3" for DMARC)
  • To: i3-discuss@xxxxxxxxxxxxx
  • Date: Thu, 5 Dec 2019 23:26:02 +0100

You may want to experiment with fake-outputs.
Personally I have not used it but read from several people with similar ideas.

For example 
https://www.reddit.com/r/i3wm/comments/7oa7iw/use_i3_on_large_monitor_4k_how_to_use_multiple/
Or 
https://i3-discuss.i3.zekjur.narkive.com/SMejPlIO/i3-i3bar-multi-monitor-setup

I believe it is meant for debugging purposes and there is no real support.

Best regards,
Heimo

On 05/12/2019 22.40, frederik@xxxxxxx wrote:

This is what I've come up with so far, two bindings useful for horizontal 
splits:

   # switch to the "other" split container
   bindsym $mod+Tab focus parent, focus right
   # move current window to the "other" split container (derived from
   # copy-paste bindings)
   bindsym $mod+Mod4+Tab mark _cur, focus parent, focus right, mark _new, 
[con_mark=_cur] move to mark _new, [con_mark=_cur] focus

But I would like to be able to generalize the concept of a "workspace" so 
that a workspace can be confined to a container, rather than always being 
full screen. Otherwise people end up buying extra monitors just so they can 
get two workspaces side-by-side...

My main complaint at this point is that after I create the desired split 
container layout, using terminal windows, if I close the last terminal in a 
split container then it collapses and the other side becomes full-width 
again. So I was looking at i3-persist (https://github.com/Igrom/i3-persist/
to keep me from accidentally closing a window; however it is laggy and 
besides I'm not sure if I want to designate one window on each split 
container as "special". Maybe a Python script which just prevents me from 
closing the last window on any split container, or which replaces it with a 
"ghost" window 
(https://gist.github.com/budRich/d09cbfd07ffdc57680fbc51ffff3687b). If 
workspaces could be generalized then I think they would not respond to 
"kill", it would be a special command like "kill_workspace", and this would 
fix my problem too.

Frederick

On Tue, Dec 03, 2019 at 11:48:28AM -0800, frederik@xxxxxxx wrote:
Dear i3 people,

I've been using i3 on a laptop where due to the small screen size, it made 
sense for most of my windows to be full screen, and for the layout to always 
be tabbed.

Now I have a large monitor and I've been trying to make better use of the 
real estate.

I often have my workspace split horizontally in two, with tabbed layout 
within each pane. I introduced some key bindings which help me navigate 
between the two panes:

  bindsym $mod+Mod4+b focus parent, focus left
  bindsym $mod+Mod4+f focus parent, focus right
  ...

This makes it a little more like I'm looking at two workspaces side-by-side, 
since now it only takes one keystroke to move between them. In some ways 
what I want to achieve is similar to having "two monitors in one". However 
it is a bit brittle, because for example if I accidentally "focus parent" 
then I have to "focus child" again before I can use these bindings to switch 
to the other pane.

I'm wondering if other users have a better way of doing this.

Also, since the purpose of having two side-by-side panes is so that I can 
refer to one of them while typing in the other one, I'm also wondering if 
there is an easy way to configure i3 to always open a window in the "other" 
pane - the one that doesn't have the focus. In other words if I open a 
series of windows, they should appear alternately on the right and left half 
of the screen. Presumably there should also be a way to turn this behavior 
on and off, or to configure it only for a given container.

I'd be grateful if anyone has any thoughts or advice on how I can implement 
this behavior, or if there is a better way of using i3 which would help with 
the scenarios I described.

I am of course in debt to the authors and contributors of this excellent 
software.

Best wishes,

Frederick Eaton



Other related posts: