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

Window rectangle isn't updated when swallowed. #4075

Open
izzel opened this issue May 10, 2020 · 3 comments · May be fixed by #4448
Open

Window rectangle isn't updated when swallowed. #4075

izzel opened this issue May 10, 2020 · 3 comments · May be fixed by #4448
Labels
missing-log Read the CONTRIBUTING.md file for instructions missing-version

Comments

@izzel
Copy link
Contributor

izzel commented May 10, 2020

I get some very strange bugs when restoring multiple windows in a 4x4 grid by appending a layout and then opening terminal windows whose titles adjust are changed after initial window creation. When I use the old workaround of unmapping all the windows in the workspace, appending the layout, then remapping the windows, it works fine as it always has.

How it should look (and how it does look when I restore it in the old way):
img-2020-04-25-1750

How it looks when the windows are swallowed after a title change:
img-2020-04-25-1751

These are not mere graphical artifiacts, because if I keep pressing enter you can see that the prompt never goes below the top of the "artifact", so the window must actually be ending there, and the tiling has completely broken.

Also thanks @izzel for your work on this, it's a great improvement to have. In most situations it has worked perfectly for me, and I'm not sure if this weird bug is directly related to this change or if this change is bringing to light a bug somewhere else in the codebase.

Originally posted by @JonnyHaystack in #1668 (comment)

I misunderstood the variable needs_reshape in x_reparent_window. x_reparent_window fairly assumes that the window rect won't change because it was designed with floating stickies in mind. Copying the window_rect state in x_reparent_window fixes the problem, but I worry that other data needs to be copied.
@stapelberg Would child_mapped need to be copied as well? Is there anything else I'm missing in con_state that would need to be copied?

@i3bot
Copy link

i3bot commented May 10, 2020

I don’t see a link to logs.i3wm.org. Did you follow https://i3wm.org/docs/debugging.html? (In case you actually provided a link to a logfile, please ignore me.)

@i3bot i3bot added the missing-log Read the CONTRIBUTING.md file for instructions label May 10, 2020
@i3bot
Copy link

i3bot commented May 10, 2020

I don’t see a version number. Could you please copy & paste the output of i3 --version into this issue?

@stapelberg
Copy link
Member

@stapelberg Would child_mapped need to be copied as well? Is there anything else I'm missing in con_state that would need to be copied?

Sorry, I have no idea. It’s been a while since I worked on this. I’m afraid you’ll need to figure it out on your own.

@izzel izzel linked a pull request Jun 17, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
missing-log Read the CONTRIBUTING.md file for instructions missing-version
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants