Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can we warp diagonally? #48

Closed
hooliowobbits opened this issue Aug 28, 2023 · 5 comments
Closed

Can we warp diagonally? #48

hooliowobbits opened this issue Aug 28, 2023 · 5 comments

Comments

@hooliowobbits
Copy link

I have DP-1 (3440x1440) sitting above eDP-1 (1920x1080).

I run xedgewarp -m relative -t horizontal

When hitting the vertical edge of eDP1 i'd like it to warp proportionally to the horizontal bottom of DP-1.

I hope that makes sense. If not i'll try and make a pretty ascii picture :)

@Airblader
Copy link
Owner

Airblader commented Aug 28, 2023

I'll take a stab at the ASCII.

+-----+
|     |
|  A  |
|     |
+---*-+
|     |
|  B  |
|    >|
+-----+

You want > to warp to *, do I understand that correctly? My first reaction here is that this seems rather odd, but hey, everyone has their own workflows, I suppose.

Even if we considered adding this (and I'm not yet saying yes), do you have a more formalized proposal on how this would work? It likely has to be mutually exclusive with torus mode at least, but there's all kinds of question marks here. For example, where does this go?

+-----+
|     |
|  A  |
|     |
+-----+
|     |
|  B  |
|    >|
+-----+
|     |
|  C  |
|     |
+-----+

What about this?

+-----+-----+
|  A  |  B  |
+-----+-----+
   |     |
   |  C  |
   |    >|
   +-----+

Or this?

+-----+
|     |
|  A  |-----+
|     |     |
+-----+  B  |
      |     |
   +--+--+--+
   |     |
   |  C  |
   |    >|
   +-----+

@hooliowobbits
Copy link
Author

Yeah, I should have included the ascii ;)

+---------------------------------------+
|                                       |
|                                       |
|                   A                   |
|                                       |
|                                       |
|                                       |
+--*--------+-------------+-------------+
            |             |
            |      B      |
            |<            |
            +-------------+

I'd like to warp from > to * etc. It would be in effect a diagonal mouse move instead of the current up then over.

@Airblader
Copy link
Owner

Airblader commented Aug 29, 2023

OK, so the difference to what I wrote would be that the left hand border only maps to the "exposed" part of the other output's bottom border, ie

+---------------------------------------+
|                                       |
|                                       |
|                   A                   |
|                                       |
|                                       |
|                                       |
+----------*+-------------+-------------+
            |<            |
            |      B      |
            |             |
            +-------------+

Correct? What about my other questions? I think this feature is significant complexity so we'll need a much better definition of it and a set of test cases to discuss.

For example, there's also

+---------------------------------------+
|                                       |
|                                       |
|                   A                   |
|                                       |
|                                       |
|                                       |
+-----?-----+-------------+-------------+
            |             |
            |<     B      |
            |             |
+-----?-----+-------------+-------------+
|                                       |
|                                       |
|                   C                   |
|                                       |
|                                       |
|                                       |
+---------------------------------------+

I can probably think of a bunch of additional situations that require clarification, plus we need a more formalized definition of what the feature is intended to do — ideally an algorithmic description to test cases against. I'm happy to supply test cases if you provide that.

@hooliowobbits
Copy link
Author

+---------------------------------------+
|                                       |
|                                       |
|                                       |
|                                       |
|                 A                     |
|                                       |
|                                       |
|                                       |
+-----1-----+-----2-------+------3------+
            |             |
            |             |
            1      B     3
            |             |
            +-------------+

not exactly sure what you need but in my mind the height B and widths of A1 and A3 are relevant.

  1. warps along the B2/A2 boundary would not be adjusted at all.
  2. a warp starting at N% up B1 would result in an exit 100-N% along (left to right) of A1
  3. a warp starting at N% up B3 would result in an exit 100-N% along (left to right) of A3

However handling different screen orientations, i am sorry I don't have any answers for that.

@Airblader
Copy link
Owner

I unfortunately don't have obvious good answers either. So if it's not clear how to design this feature and there's no one to drive doing so, I'll have to reject it. I hope you understand.

@Airblader Airblader closed this as not planned Won't fix, can't repro, duplicate, stale Aug 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants