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

Need to directly commit the wl_surface in some cases #143

Open
Tamaranch opened this issue Dec 10, 2022 · 4 comments
Open

Need to directly commit the wl_surface in some cases #143

Tamaranch opened this issue Dec 10, 2022 · 4 comments
Labels
bug Something isn't working

Comments

@Tamaranch
Copy link

Since #52 the wl_surface is not committed directly but it is left to GTK to do it if necessary.

However, it seems that in some cases, like when negative (or large enough) margins are set so that the surface leaves the screen, a direct commit is needed to make it come back. See WayfireWM/wayfire#1656.

Forcing a direct commit also solves a similar problem I reported for Labwc a little while ago: labwc/labwc#499.

@wmww
Copy link
Owner

wmww commented Dec 14, 2022

Yes, what's happening is the surface isn't getting a .frame wayland event, so GTK isn't committing. I think setting _GdkWindowImplWayland::pending_commit to TRUE (via the system we already have to access private GTK internals) might fix the problem, need to investigate more.

@wmww wmww added the bug Something isn't working label Dec 14, 2022
@RossComputerGuy
Copy link

I think I'm experiencing this issue. I am using Flutter with gtk-layer-shell to make a virtual keyboard and after the initial render, the surface isn't updating. Any updates on this?

@wmww
Copy link
Owner

wmww commented Jun 7, 2023

@RossComputerGuy does the workaround in #167 help?

@RossComputerGuy
Copy link

I don't think I'm able to test that out since I am using the bitsdojo_window library which overrides certain things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants