Discussion:
[xmonad] Controlling Window Location with XMonad.Layout.ThreeColumns
Eyal Erez
2016-10-17 22:02:41 UTC
Permalink
Hi,

I have an ultrawide monitor and so I use ThreeColumns most of the
time. I create it like so:

ThreeColMid 1 (3/100) (1/3)

This works fine, however, I'm getting some strange behavior when
creating an closing windows. I hope I can explain this with a small
diagram which shows window location as I create and close apps:

CREATE
1 [ a ]
2 [b][ a ]
3 [a][c][b]

CLOSE
1 [a][c][b]
2 [b][ a ]
3 [ a ]

So, when going from 2 to 3 open windows, window "a" and "b" switch
location for some reason. in step #2 "b" is on the left and "a" is on
the right, but when a third window is added (or removed) they swap
locations. This is very confusing.

Is there anyway I can cause this to stop happening? It would also be
nice if window "b" was created into the active location, but that's
more of a nitpick.

Thank you
--
There are 10 types of people, those who know binary and those who don't.
Daniel Wagner
2016-10-23 10:32:15 UTC
Permalink
I think I'd consider that a bug, and it's probably easy enough to fix it.
This is a guess based on reading the source, so you should verify for
yourself whether this changes things appropriately, but...

In XMonad.Layout.ThreeColumns.split3HorizontallyBy, swap the second two
elements of the triple in the True branch, so that it reads:

then ( Rectangle (sx + fromIntegral r3w) sy r1w sh
, Rectangle sx sy r3w sh
, Rectangle (sx + fromIntegral r3w + fromIntegral r1w) sy r2w sh )

~d
Post by Eyal Erez
Hi,
I have an ultrawide monitor and so I use ThreeColumns most of the
ThreeColMid 1 (3/100) (1/3)
This works fine, however, I'm getting some strange behavior when
creating an closing windows. I hope I can explain this with a small
CREATE
1 [ a ]
2 [b][ a ]
3 [a][c][b]
CLOSE
1 [a][c][b]
2 [b][ a ]
3 [ a ]
So, when going from 2 to 3 open windows, window "a" and "b" switch
location for some reason. in step #2 "b" is on the left and "a" is on
the right, but when a third window is added (or removed) they swap
locations. This is very confusing.
Is there anyway I can cause this to stop happening? It would also be
nice if window "b" was created into the active location, but that's
more of a nitpick.
Thank you
--
There are 10 types of people, those who know binary and those who don't.
_______________________________________________
xmonad mailing list
http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad
Eyal Erez
2016-11-09 22:38:04 UTC
Permalink
Hi Daniel,

Thank you for your response. I've spent the last few days trying to
compile and run xmonad locally without much success.
Would there be any chance you could make this change so that it might get
into 0.13 before it gets released?

Otherwise, I'll continue to try and get xmonad to run locally.
Post by Daniel Wagner
I think I'd consider that a bug, and it's probably easy enough to fix it.
This is a guess based on reading the source, so you should verify for
yourself whether this changes things appropriately, but...
In XMonad.Layout.ThreeColumns.split3HorizontallyBy, swap the second two
then ( Rectangle (sx + fromIntegral r3w) sy r1w sh
, Rectangle sx sy r3w sh
, Rectangle (sx + fromIntegral r3w + fromIntegral r1w) sy r2w sh )
~d
Post by Eyal Erez
Hi,
I have an ultrawide monitor and so I use ThreeColumns most of the
ThreeColMid 1 (3/100) (1/3)
This works fine, however, I'm getting some strange behavior when
creating an closing windows. I hope I can explain this with a small
CREATE
1 [ a ]
2 [b][ a ]
3 [a][c][b]
CLOSE
1 [a][c][b]
2 [b][ a ]
3 [ a ]
So, when going from 2 to 3 open windows, window "a" and "b" switch
location for some reason. in step #2 "b" is on the left and "a" is on
the right, but when a third window is added (or removed) they swap
locations. This is very confusing.
Is there anyway I can cause this to stop happening? It would also be
nice if window "b" was created into the active location, but that's
more of a nitpick.
Thank you
--
There are 10 types of people, those who know binary and those who don't.
_______________________________________________
xmonad mailing list
http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad
--
*Eyal Erez <*****@gmail.com* <***@gmail.com>*>*

There are 10 types of people, those who know binary and those who don't.
Brent Yorgey
2017-01-06 22:20:27 UTC
Permalink
Hi Eyal,

I'm just going back through old xmonad emails trying to make sure nothing
falls through the cracks. Would you mind creating an issue for this at
https://github.com/xmonad/xmonad-contrib/issues ? I am not yet confident I
understand what is going on here well enough to know what the right fix is,
but if a ticket is created then it becomes easier for others to look at it,
and it won't accidentally be forgotten. Thanks!

-Brent
Post by Eyal Erez
Hi Daniel,
Thank you for your response. I've spent the last few days trying to
compile and run xmonad locally without much success.
Would there be any chance you could make this change so that it might get
into 0.13 before it gets released?
Otherwise, I'll continue to try and get xmonad to run locally.
I think I'd consider that a bug, and it's probably easy enough to fix it.
This is a guess based on reading the source, so you should verify for
yourself whether this changes things appropriately, but...
In XMonad.Layout.ThreeColumns.split3HorizontallyBy, swap the second two
then ( Rectangle (sx + fromIntegral r3w) sy r1w sh
, Rectangle sx sy r3w sh
, Rectangle (sx + fromIntegral r3w + fromIntegral r1w) sy r2w sh )
~d
Hi,
I have an ultrawide monitor and so I use ThreeColumns most of the
ThreeColMid 1 (3/100) (1/3)
This works fine, however, I'm getting some strange behavior when
creating an closing windows. I hope I can explain this with a small
CREATE
1 [ a ]
2 [b][ a ]
3 [a][c][b]
CLOSE
1 [a][c][b]
2 [b][ a ]
3 [ a ]
So, when going from 2 to 3 open windows, window "a" and "b" switch
location for some reason. in step #2 "b" is on the left and "a" is on
the right, but when a third window is added (or removed) they swap
locations. This is very confusing.
Is there anyway I can cause this to stop happening? It would also be
nice if window "b" was created into the active location, but that's
more of a nitpick.
Thank you
--
There are 10 types of people, those who know binary and those who don't.
_______________________________________________
xmonad mailing list
http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad
--
There are 10 types of people, those who know binary and those who don't.
_______________________________________________
xmonad mailing list
http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad
Eyal Erez
2017-01-13 02:33:20 UTC
Permalink
Definitely,

Thank you very much for following up.
Post by Brent Yorgey
Hi Eyal,
I'm just going back through old xmonad emails trying to make sure nothing
falls through the cracks. Would you mind creating an issue for this at
https://github.com/xmonad/xmonad-contrib/issues ? I am not yet confident
I understand what is going on here well enough to know what the right fix
is, but if a ticket is created then it becomes easier for others to look at
it, and it won't accidentally be forgotten. Thanks!
-Brent
Post by Eyal Erez
Hi Daniel,
Thank you for your response. I've spent the last few days trying to
compile and run xmonad locally without much success.
Would there be any chance you could make this change so that it might get
into 0.13 before it gets released?
Otherwise, I'll continue to try and get xmonad to run locally.
I think I'd consider that a bug, and it's probably easy enough to fix it.
This is a guess based on reading the source, so you should verify for
yourself whether this changes things appropriately, but...
In XMonad.Layout.ThreeColumns.split3HorizontallyBy, swap the second two
then ( Rectangle (sx + fromIntegral r3w) sy r1w sh
, Rectangle sx sy r3w sh
, Rectangle (sx + fromIntegral r3w + fromIntegral r1w) sy r2w sh )
~d
Hi,
I have an ultrawide monitor and so I use ThreeColumns most of the
ThreeColMid 1 (3/100) (1/3)
This works fine, however, I'm getting some strange behavior when
creating an closing windows. I hope I can explain this with a small
CREATE
1 [ a ]
2 [b][ a ]
3 [a][c][b]
CLOSE
1 [a][c][b]
2 [b][ a ]
3 [ a ]
So, when going from 2 to 3 open windows, window "a" and "b" switch
location for some reason. in step #2 "b" is on the left and "a" is on
the right, but when a third window is added (or removed) they swap
locations. This is very confusing.
Is there anyway I can cause this to stop happening? It would also be
nice if window "b" was created into the active location, but that's
more of a nitpick.
Thank you
--
There are 10 types of people, those who know binary and those who don't.
_______________________________________________
xmonad mailing list
http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad
--
There are 10 types of people, those who know binary and those who don't.
_______________________________________________
xmonad mailing list
http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad
--
*Eyal Erez <*****@gmail.com* <***@gmail.com>*>*

There are 10 types of people, those who know binary and those who don't.
Loading...