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

"Wayland to X Recording bridge" is shown as a white tiled window #1204

Open
ids1024 opened this issue Feb 5, 2025 · 0 comments
Open

"Wayland to X Recording bridge" is shown as a white tiled window #1204

ids1024 opened this issue Feb 5, 2025 · 0 comments

Comments

@ids1024
Copy link
Member

ids1024 commented Feb 5, 2025

https://invent.kde.org/system/xwaylandvideobridge autostarts through /etc/xdg/autostart. But on Cosmic-comp, instead of being hidden it shows up as a normal window, all white.

This may reflect a few Xwayland issues. So it would be good to fix this specifically, but it also seems like a nice small test case for some Xwayland things that may impact other applications.

https://invent.kde.org/system/xwaylandvideobridge/-/blob/master/src/contentswindow.cpp

Not sure why the setOpacity(0); doesn't work. I would have though XWayland just turns that into a transparent Wayland surface without the compositor needing to do anything.

KX11Extras::setState(winId(), NET::SkipTaskbar | NET::SkipPager | NET::SkipSwitcher);

This shouldn't show in things like cosmic-workspaces. Either the workspaces protocol needs to pass through these flags, or with an X window ID, clients could fetch that and other things (like the window icon) from the X server themselves. The former is probably better, though it does mean more protocol bloat.

Or the compositor could have some heuristic to decide which X windows should just be omitted from the top-level info protocol altogether, which would probably make sense at least in this case.

Presumably things like i3 and sway have some heuristic that recognizes that a window like this should not be tiled, even though it's technically visible and has a size. Maybe that's related to setFlag(Qt::Dialog);.

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

1 participant