Closed steveb-123 closed 2 years ago
Thanks for raising. We could do something like:
# Align displays on the TOP or BOTTOM edge, default TOP
LEFT_TO_RIGHT_ALIGN: BOTTOM
TOP will need to remain the default, so as not to break any existing users.
I'd be grateful if you could preview / test these changes @steveb-123 , before a 1.1.0 release.
git clone git@github.com:alex-courtis/way-displays.git
cd way-displays
git checkout 8-align-top-bottom
make
sudo make install
You can remove the installation from /usr/local when you're done via sudo make uninstall
Thanks Alex,
I checked it out it and ran it with TOP
, BOTTOM
and unset. Works exactly as expected. Rad!
I think that the the name of the parameter is a bit confusing though, it makes me assume that it wants LEFT
or RIGHT
as arguments. VERTICAL_ALIGN
would be more intuitive to me.
speculating/drifting, but is relevant...
VERTICAL_ALIGN
would leave room for a potential future
MIDDLE
/CENTER
argument...
which would play nicely with something like:
ARRANGEMENT: ROW|STACK
Because that would eventually make use of something like:
HORIZONTAL_ALIGN: CENTER|LEFT|RIGHT
ARRANGEMENT: STACK
would be useful to a lot of people because it would facilitate the commonly seen using-the-laptop-as-the-keyboard-under-the-external-monitor setup.
Thanks Alex,
I checked it out it and ran it with
TOP
,BOTTOM
and unset. Works exactly as expected. Rad!
Thank you for testing.
I think that the the name of the parameter is a bit confusing though, it makes me assume that it wants
LEFT
orRIGHT
as arguments.VERTICAL_ALIGN
would be more intuitive to me.
Yes, much better... LEFT_TO_RIGHT_ALIGN
is quite clunky.
speculating/drifting, but is relevant...
VERTICAL_ALIGN
would leave room for a potential futureMIDDLE
/CENTER
argument...
MIDDLE
doesn't feel so useful for the row arrangement however it feels very relevant for a stack arrangement. It would work well for both.
which would play nicely with something like:
ARRANGEMENT: ROW|STACK
Because that would eventually make use of something like:
HORIZONTAL_ALIGN: CENTER|LEFT|RIGHT
ARRANGEMENT: STACK
would be useful to a lot of people because it would facilitate the commonly seen using-the-laptop-as-the-keyboard-under-the-external-monitor setup.
You make a convincing argument: I had not considered that use case.
The cases to avoid are anything more complicated (and thus not opaquely automatable) such as some sort of quadrilateral or triangle. A hardcoded configuration via sway or kanshi is the solution there.
I do like the ROW
and STACK
names, as well as the aligns to go with them. Left to right is only in the descriptions/doc so we are free to use the new names in config and update the doc.
Let me think about it. Implementing the above seems quite straightforward and would be good to include in a 1.1.0
release.
Many thanks for all your ideas: so much potential!
Side note: would you be happy to include your drawing in the doc for VERTICAL_ALIGN
?
The cases to avoid are anything more complicated (and thus not opaquely automatable) such as some sort of quadrilateral or triangle. A hardcoded configuration via sway or kanshi is the solution there.
Totally agree. The simplicity of setup is what makes this appealing to begin with.
Side note: would you be happy to include your drawing in the doc for VERTICAL_ALIGN?
No problem, however it is a bit janky... in the timeless words of my mechanics.. "I make a new one"
svg source: alignment_img_svg_version.zip
That's fantastic, thank you!
I will include it in the README - finally a "screenshot".
Added all arrange and align combinations.
# Arrange displays in a ROW (default, left to right) or a COLUMN (top to bottom)
ARRANGE: ROW
# Align ROWs at the TOP (default), MIDDLE or BOTTOM
# Align COLUMNs at the LEFT (default), MIDDLE or RIGHT
ALIGN: TOP
Before updating the README etc. I would gratefully appreciate your testing as well as reviewing the language / names, @steveb-123
Many thanks for all the direction and feedback so far; these additions should be useful to many.
I think I tested every permutation, and it seemed to work nicely. I actually have monitors today with the same resolution, but differing pixel size, so I could only test it with scaling, but that worked as expected.
The names of the options make sense I think.
I updated this:
It just so happened I came to use a desk and monitor setup where I needed COLUMN
today, so your timing was perfect!
Glad to hear this is meeting your needs right now.
Preparing to release 1.1.0 right now.
Many thanks for all your ideas, contributions and testing; you have greatly increased the value of way-displays.
It's time to add a contributors section to the readme: how do you wish to be known? Some people use real name, some an alias, some include an email address.
Thanks Alex, name credit is cool for me: Stephen Barratt.
Thanks for working on the package, and implementing these suggestions. They've really improved my own setup!
Thanks for the great package!
By default dissimilar-sized displays align by the top edge which is not easy to accomplish in the physical world with a laptop on a desk with an external display. Thus, the mouse, for example, does not 'flow' properly from one display to the next.
It would be helpful if there were the ability to set the position alignment to 'Bottom', and have way-displays do the math to make it happen. I would propose that Bottom should be the default, also.