
This is a question that might have been answered already, but I can't seem to find an answer for it. I often have more than two windows on a screen, and on occasion I want to pick two of these and put them next to each other, for this reason I have TwoPane in the my layout sequence. However I often find it cumbersome to work with, because the displayed windows keep on changing when I switch focus between windows. Here's a simple example of what I mean, with the following layout: myLayout = tall12 ||| twoPane where tall12 = Tall tall12_nmaster tall12_delta tall12_ratio tall12_nmaster = 1 -- num of windows in the master pane tall12_ratio = 1/2 -- proportion of screen occupied by master pane tall12_delta = 3/100 -- percent of screen to increment by when resizing twoPane = TwoPane twoPane_delta twoPane_ratio twoPane_ratio = 1/2 -- proportion of screen occupied by master pane twoPane_delta = 3/100 -- percent of screen to increment by when resizing I start three terminals, t1, t2 and t3, I then switch to TwoPane and have a screen showing t1 and t2 (t1|t2). What I want is to have t1 next to t3, so I jump through the windows until I have t1|t3. However, if I now want to switch focus to t1 I can't seem do that without changing what windows are visible, however I do it I end up with t1|t2. What I have to do is get t3 over to the master area, then jump through until I have t3|t1. I have to redo the same steps if I after that want to switch focus to t3. Is there a way around this (except the obvious one which would be to move t2 to another workspace)? /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

Hi Magnus,
2009/10/28 Magnus Therning
I start three terminals, t1, t2 and t3, I then switch to TwoPane and
have a screen showing t1 and t2 (t1|t2). What I want is to have t1 next to t3, so I jump through the windows until I have t1|t3. However, if I now want to switch focus to t1 I can't seem do that without changing what windows are visible, however I do it I end up with t1|t2. What I have to do is get t3 over to the master area, then jump through until I have t3|t1. I have to redo the same steps if I after that want to switch focus to t3.
I'm using DragPane, but I had the same problem. What works for me is to make sure the focus is in the master area, and then use Alt-Tab until the app I want is in the other pane. Amy

On 10/28/09 at 12:39pm, Amy de Buitléir wrote:
Hi Magnus,
2009/10/28 Magnus Therning
I start three terminals, t1, t2 and t3, I then switch to TwoPane and
have a screen showing t1 and t2 (t1|t2). What I want is to have t1 next to t3, so I jump through the windows until I have t1|t3. However, if I now want to switch focus to t1 I can't seem do that without changing what windows are visible, however I do it I end up with t1|t2. What I have to do is get t3 over to the master area, then jump through until I have t3|t1. I have to redo the same steps if I after that want to switch focus to t3.
I'm using DragPane, but I had the same problem. What works for me is to make sure the focus is in the master area, and then use Alt-Tab until the app I want is in the other pane.
Amy
I use rotFucused* from X.A.CycleWindows to change the focused window of either pane independently. Works great. import XMonad.Actions.CycleWindows (rotFocusedUp, rotFocusedDown) -- note: EZConfig notation , ("M-C-k", rotFocusedUp ) -- Rotate windows up through current focus , ("M-C-j", rotFocusedDown) -- Rotate windows down through current focus HTH, Pat -- patrick brisbin

On Wed, Oct 28, 2009 at 1:18 PM, Patrick Brisbin
On 10/28/09 at 12:39pm, Amy de Buitléir wrote:
Hi Magnus,
2009/10/28 Magnus Therning
I start three terminals, t1, t2 and t3, I then switch to TwoPane and
have a screen showing t1 and t2 (t1|t2). What I want is to have t1 next to t3, so I jump through the windows until I have t1|t3. However, if I now want to switch focus to t1 I can't seem do that without changing what windows are visible, however I do it I end up with t1|t2. What I have to do is get t3 over to the master area, then jump through until I have t3|t1. I have to redo the same steps if I after that want to switch focus to t3.
I'm using DragPane, but I had the same problem. What works for me is to make sure the focus is in the master area, and then use Alt-Tab until the app I want is in the other pane.
Amy
I use rotFucused* from X.A.CycleWindows to change the focused window of either pane independently.
Works great.
import XMonad.Actions.CycleWindows (rotFocusedUp, rotFocusedDown)
-- note: EZConfig notation , ("M-C-k", rotFocusedUp ) -- Rotate windows up through current focus , ("M-C-j", rotFocusedDown) -- Rotate windows down through current focus
I'll have to look into that... though I must say I was hoping to not have to add even more keybindings. In my naïvete I assumed that my use case was exactly what TwoPane was there to solve ;-) /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

On Wed, Oct 28, 2009 at 12:39:49PM +0000, Amy de Buitléir wrote:
Hi Magnus,
2009/10/28 Magnus Therning
I start three terminals, t1, t2 and t3, I then switch to TwoPane and have a screen showing t1 and t2 (t1|t2). What I want is to have t1 next to t3, so I jump through the windows until I have t1|t3. However, if I now want to switch focus to t1 I can't seem do that without changing what windows are visible, however I do it I end up with t1|t2. What I have to do is get t3 over to the master area, then jump through until I have t3|t1. I have to redo the same steps if I after that want to switch focus to t3.
I'm using DragPane, but I had the same problem. What works for me is to make sure the focus is in the master area, and then use Alt-Tab until the app I want is in the other pane.
Amy
_______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad
Hello guys, What about XMonad.Actions.RotSlaves ?

On Wed, Oct 28, 2009 at 12:39 PM, Amy de Buitléir
Hi Magnus,
2009/10/28 Magnus Therning
I start three terminals, t1, t2 and t3, I then switch to TwoPane and have a screen showing t1 and t2 (t1|t2). What I want is to have t1 next to t3, so I jump through the windows until I have t1|t3. However, if I now want to switch focus to t1 I can't seem do that without changing what windows are visible, however I do it I end up with t1|t2. What I have to do is get t3 over to the master area, then jump through until I have t3|t1. I have to redo the same steps if I after that want to switch focus to t3.
I'm using DragPane, but I had the same problem. What works for me is to make sure the focus is in the master area, and then use Alt-Tab until the app I want is in the other pane.
(Assuming Alt-Tab is your key combo for switching focus between windows:) That's what I do too, which is exactly what I so clumsily tried to explain. That leaves one of the windows you want in the master area, and the other in the non-master area (slave?). Can you then switch back to the master area *without the window in the non-master area changing*? It's the switching back and forth between two carefully places windows that is more painful than I like. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

On 10/28/09 at 02:27pm, Magnus Therning wrote:
On Wed, Oct 28, 2009 at 12:39 PM, Amy de Buitléir
wrote: It's the switching back and forth between two carefully places windows that is more painful than I like.
I agree, I often wish M-Tab worked more like the 'normal' Alt-Tab, i.e. switching focus to the most recently focused window, rather than traversing the stack just like M-j/k does. Then, Alt-Tabbing between the Two Panes would be simple. I dunno, maybe I'm missing something here. -- patrick brisbin

(Assuming Alt-Tab is your key combo for switching focus between windows:)
Alt-Tab is my key combo for *cycling* through windows. I'm still in the habit of clicking with the mouse to give the window the focus, but there's a key combo for it that you can use instead.
That's what I do too, which is exactly what I so clumsily tried to explain. That leaves one of the windows you want in the master area, and the other in the non-master area (slave?). Can you then switch back to the master area *without the window in the non-master area changing*?
I think I explained it badly. The way I do it, you don't need to switch *back* to the master window because you're already there. 1. Click (or whatever you do to set focus) on master window. 2. Alt-tab (or whatever you do to cycle) as many times as needed to get the window you want in the non-master area. Now you can click (swap focus) between the master and non-master windows, and they will stay the same. Tonight when I'm on my normal computer, I'll try to do it entirely mouse-free so I can write better instructions. Amy

On Wed, Oct 28, 2009 at 3:59 PM, Amy de Buitléir
(Assuming Alt-Tab is your key combo for switching focus between windows:)
Alt-Tab is my key combo for *cycling* through windows. I'm still in the habit of clicking with the mouse to give the window the focus, but there's a key combo for it that you can use instead.
That's what I do too, which is exactly what I so clumsily tried to explain. That leaves one of the windows you want in the master area, and the other in the non-master area (slave?). Can you then switch back to the master area *without the window in the non-master area changing*?
I think I explained it badly. The way I do it, you don't need to switch *back* to the master window because you're already there.
1. Click (or whatever you do to set focus) on master window. 2. Alt-tab (or whatever you do to cycle) as many times as needed to get the window you want in the non-master area.
Now you can click (swap focus) between the master and non-master windows, and they will stay the same.
AFAICS your instructions are *exactly* what I wrote, i.e. place one window in master area, cycle/switch focus until the other window is in non-master area (focus is in window in non-master area). As soon as I switch focus to the window in the master area (by using the mouse) then the window in the non-master area changes. Say that (t1)|t2 means focus is on t1, t1 is in master area, and t2 is in non-master area. This is the behaviour I see: 1, Start state: (t1)|t2 2. Cycle through windows: t1|(t2) 3. Cycle again to get the two desired windows on the screen: t1|(t3) After this I can't get to the state (t1)|t3! My only option seems to perform at least 2 steps to end up with t3|(t1). I'd like to have a single step where I can go back and forth between (t1)|t3 and t1|(t3).
Tonight when I'm on my normal computer, I'll try to do it entirely mouse-free so I can write better instructions.
I hope I am misunderstanding you, and that your instructions will reduce my number of key strokes for this use case :-) /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

Hi! On Wed, Oct 28, 2009 at 05:05:45PM +0000, Magnus Therning wrote:
1, Start state: (t1)|t2 2. Cycle through windows: t1|(t2) 3. Cycle again to get the two desired windows on the screen: t1|(t3)
After this I can't get to the state (t1)|t3!
I don't use TwoPane, but what about adding a step number 4 where you bring t3 up in the window order (with Mod+Shift+k). Now you should be able to easily switch between t1 and t3 in a single step. So I'm thinking: (t1) | t2 | t3 visible: t1 | t2 -> Mod+j -> t1 | (t2) | t3 visible: t1 | t2 -> Mod+j -> t1 | t2 | (t3) visible: t1 | t3 -> Mod+Shift+k -> t1 | (t3) | t2 visible: t1 | t3 Or do you feel that's too much 'preparation work'? :-) Cheers! Jan

@Magnus - Ignore my instructions. I have the same problem, and was planning to write a post about it. Then I thought I had fixed it yesterday with the solution I described to you, but I think it was just a fluke. (Maybe the windows just happened to be in the order I wanted.) I've tried Jan's instructions, and they're working for me. (t1) | t2 | t3 visible: t1 | t2
-> Mod+j -> t1 | (t2) | t3 visible: t1 | t2 -> Mod+j -> t1 | t2 | (t3) visible: t1 | t3 -> Mod+Shift+k -> t1 | (t3) | t2 visible: t1 | t3
After that, I can use Mod+m to go to the master window, and Mod+j to go to the "slave" window. Thanks to Jan's diagram, I finally understand what's going on. Amy

On Wed, Oct 28, 2009 at 5:21 PM, Jan Vornberger
Hi!
On Wed, Oct 28, 2009 at 05:05:45PM +0000, Magnus Therning wrote:
1, Start state: (t1)|t2 2. Cycle through windows: t1|(t2) 3. Cycle again to get the two desired windows on the screen: t1|(t3)
After this I can't get to the state (t1)|t3!
I don't use TwoPane, but what about adding a step number 4 where you bring t3 up in the window order (with Mod+Shift+k). Now you should be able to easily switch between t1 and t3 in a single step. So I'm thinking:
(t1) | t2 | t3 visible: t1 | t2 -> Mod+j -> t1 | (t2) | t3 visible: t1 | t2 -> Mod+j -> t1 | t2 | (t3) visible: t1 | t3 -> Mod+Shift+k -> t1 | (t3) | t2 visible: t1 | t3
Or do you feel that's too much 'preparation work'? :-)
That would be an acceptable solution. It still isn't quite how I think TwoPane *ought* to work :-) Thanks! /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe
participants (5)
-
Amy de Buitléir
-
Jan Vornberger
-
Julien Steinhauser
-
Magnus Therning
-
Patrick Brisbin