Hyprland icon indicating copy to clipboard operation
Hyprland copied to clipboard

Missing window resize after closing group extern window

Open Dickby opened this issue 2 years ago • 8 comments

  • open 3 windows
  • group 2 of them together
  • changegroupactive to show the hidden group window
  • focus the non grouped window and close it

The group doesn't get resized to span the whole workspace

Dickby avatar Sep 21 '22 19:09 Dickby

seems like a regression. Can you please tell me when it was introduced? git bisect should help.

vaxerski avatar Sep 21 '22 20:09 vaxerski

I'll try!

Dickby avatar Sep 21 '22 20:09 Dickby

Is there a way to not rebuild the whole package every time?

Dickby avatar Sep 21 '22 20:09 Dickby

unfortunately no. However, on arch, usually you only need to rebuild Hyprland itself, not wlroots.

vaxerski avatar Sep 21 '22 20:09 vaxerski

I started doing it manually, is there a way to use makepkg for that? Everything i tried leads to makepkg checking out main again.

Dickby avatar Sep 21 '22 20:09 Dickby

dont makepkg

clone the repo, do git reset --hard <hash> && git submodule update --init and then sudo make cleaninstall

vaxerski avatar Sep 21 '22 20:09 vaxerski

This shit is older than pinned windows!

Dickby avatar Sep 21 '22 22:09 Dickby

I don't think this makes any sense: at bb90ff0 sanity check on last window the bug isn't there but the same action isn't well defined either. I doupt that doing exactly what i described above, did work at any time before, but i don't know.

Dickby avatar Sep 21 '22 22:09 Dickby

This problem is caused by CHyprDwindleLayout::applyNodeDataToWindow if no_gaps_when_only is true. Theif block starting at line 191 ends with a return statement, that bypasses the code that deals with groupMembers. If I copy the last if block of that method inside the 191 block , this particular problem is solved. But the thing is still not working properly:

If you follow the reproduction steps of this issue, now the group will resize after closing the group extern window. But after changegroupactive the group resizes back to the incorrect size. (This is the behaviour of the main branch without no_gaps_when_only, so at least now it's consistent)

I could fix that by replacing the warp() calls with assigning goalv() of the former visible group window. Now the group's size stays, but the hidden group windows are not scaled correctly.

Maybe you can make sense of this!? Or is the plan to merge https://github.com/hyprwm/Hyprland/pull/593 soon?

Dickby avatar Sep 24 '22 21:09 Dickby

#593 will not be merged any time soon. I'll try to fix this tomorrow. Thanks

vaxerski avatar Sep 24 '22 21:09 vaxerski

@vaxerski did you look into this?

Dickby avatar Sep 29 '22 03:09 Dickby

fixed in da40bf823f2f307e439f4bd85c405d9e612c2df5

vaxerski avatar Sep 29 '22 18:09 vaxerski