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 no longer move containers laterally between halves of screen #28

Open
ourigen opened this issue Apr 30, 2021 · 13 comments
Open

Can no longer move containers laterally between halves of screen #28

ourigen opened this issue Apr 30, 2021 · 13 comments

Comments

@ourigen
Copy link

ourigen commented Apr 30, 2021

If I have my splits like so and try to move the bottom right container leftward,

|     |     |
|     |_____|
|     |\\\\\|
|     |\\\\\|

I get this and the container becomes stuck and can't be moved leftward any further

|   |\\\|   |
|   |\\\|   |         (Actual)
|   |\\\|   |
|   |\\\|   |


|     |     |
|_____|     |         (Desired)
|\\\\\|     |
|\\\\\|     |

I'm using sway 1.6, wlroots 0.13, and the autotiling script manually copied from repo

@ErikReider
Copy link
Contributor

The active indicator flashes right? I'm experiencing the same issue

@nwg-piotr
Copy link
Owner

Please read this. There are pros and cons of this script, but we can't do much to change it.

BTW: if you focus another container, and back the one that got stuck, it gets movable again.

@ErikReider
Copy link
Contributor

Please read this. There are pros and cons of this script, but we can't do much to change it.

BTW: if you focus another container, and back the one that got stuck, it gets movable again.

Yeah. That's been my solution for the past month

@ErikReider
Copy link
Contributor

ErikReider commented Oct 15, 2021

I've tried autotiling-rs and it seems to have fixed the issue

@nwg-piotr
Copy link
Owner

I've tried autotiling-rs and it seems to have fixed the issue

Just checked. Behaves exactly the same way.

@ErikReider
Copy link
Contributor

ErikReider commented Oct 15, 2021

Oh sorry. Wrong issue... I was half asleep when I posted that.

The issue that the rust version has fixed is that changing the layout indicator now works as expected. Sometimes with this version the indicator doesn't change

@nwg-piotr
Copy link
Owner

What layout indicator do you mean?

@ErikReider
Copy link
Contributor

image
This one

@nwg-piotr
Copy link
Owner

LOL, I forgot the even existed, as I always look at the layout icon on the taskbar. Anyway, they seem to behave perfectly well for me.

obraz

@ErikReider
Copy link
Contributor

Here's what I mean.

recording.mp4

Does this deserve its own issue?

@Syphdias
Copy link
Contributor

Syphdias commented Mar 26, 2024

I think I understand how this happens and have an idea how to maybe fix it. I would like some feedback if this is something that has been tried before. I suspect is has (unwanted) side effects.

How to work around it currently:

  1. Go to new workspace (running autotiling, ofc)
  2. Open 3 new tiling windows/container
|     |     |
|     |_____|
|     |\\\\\|
|     |\\\\\|
  1. Focus the left container (this will trigger a splitv)
|\\\\\|     |
|\\\\\|_____|
|\\\\\|     |
|\\\\\|     |
  1. Focus back on the right container
|     |     |
|     |_____|
|     |\\\\\|
|     |\\\\\|
  1. Move container to left
|     |     |
|_____|     |
|\\\\\|     |
|\\\\\|     |

What if when checking for the split in the current window, the script also checks the neighbor and splits it (with the same logic, no action on tabbed/stacked, etc.).
I think you would need to go to the sibling containers but I am not sure if it can be done consistently.

Also I am wondering if you send splitv/splith to a specific container with i3ipc. I did not find anything.
Edit: yes, something like: i3.get_tree().find_focused().parent.parent.parent.nodes[0].nodes[0].command("splitv")

@nwg-piotr
Copy link
Owner

The logic of this script is quite simple, and this will make it much more complicated. No idea if it's going to work.

@Syphdias
Copy link
Contributor

I'll sleep over it and give it a try on my next free weekend :)

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

4 participants