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

Build failure with wlroots12 (1.17) #4

Open
lukefromdc opened this issue Mar 20, 2024 · 3 comments
Open

Build failure with wlroots12 (1.17) #4

lukefromdc opened this issue Mar 20, 2024 · 3 comments

Comments

@lukefromdc
Copy link
Contributor

Using Debian's libwlroots12_0.17.1-2_amd64.deb and wayfire_0.8.0+git20240110-1_amd64.deb on Debian Unstable, I got a build failure in wf-external-decor.cpp on
if (wlr_surface_is_xwayland_surface(view->get_wlr_surface()))
which is only ever found at one line in this file so presumably comes in from wlroots. I was able to comment out the offending code with


@@ -840,11 +840,11 @@ class external_decoration_plugin : publi
                     if (deco->decoration->first == 0)
                     {
                         auto view = wf::find_view_for_toplevel(toplevel);
-                        if (wlr_surface_is_xwayland_surface(view->get_wlr_surface()))
+                        /*if (wlr_surface_is_xwayland_surface(view->get_wlr_surface()))
                         {
                             // this is needed for xwayland views, dunno why
                             pending.geometry = wf::expand_geometry_by_margins(pending.geometry, pending.margins);
-                        }
+                        }*/
                         deco->decoration->first = 1;
                     }
                     ev->tx->add_object(deco->decoration);

and the build finished and runs. I am playing with this for potential future use in MATE's wayland session.

@marcof-nikogo
Copy link
Owner

Yes, the project was built against wayfire 0.8.x as installed by wf-install script.
Without this check on wlroots 1.17, opening a application using xwayland do you get the decoration properly sized ?

@lukefromdc
Copy link
Contributor Author

No I do not, but I was unable to get the build to finish without commenting that out, so I have to put up with wrong-size xwayland decorations until the an xwayland window has been moved or otherwise forced to re-render once.

@lukefromdc
Copy link
Contributor Author

I found that comenting out only the check for xwayland and applying
pending.geometry = wf::expand_geometry_by_margins(pending.geometry, pending.margins);
not only let the build finish and let xwayland borders render properly, it also fixed some border issues with dialogs that rendered wrong-size decorations momentarily

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