-
-
Notifications
You must be signed in to change notification settings - Fork 8.1k
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
Projector window - no titlebar (Wayland, Gnome) #6283
Comments
Is this for a projector window? |
Yes, it is projector window (sorry, my mistake in translation - I'm using pl_PL locales, I've noticed that in the en version it is called projector only after launching with LC_ALL=C). |
Cannot replicate on gnome 41 |
Sorry it looks like I hit a different issue that prevented me from loading on wayland correctly. I did replicate this issue on gnome 42. |
Upstream doesnt seem to care about supporting docks on wayland so there is not much we can do there beyond make tickets for Qt. The projector window is our own code. |
Previously OBSProjector was a subclass of OBSQTDisplay, which is intended to own the entire surface it draws on. On wayland some compositors expect the client to draw decorations (window titlebar), but because OBSQTDisplay draws on the entire surface directly the client decorations from QT are overwritten. Instead promote OBSProjector to a simple QWidget with a single layout containing the OBSQTDisplay. This allows the OBSQTDisplay to own the entire contents while OBSProjector draws the decorations. fixes obsproject#6283
Previously OBSProjector was a subclass of OBSQTDisplay, which is intended to own the entire surface it draws on. On wayland some compositors expect the client to draw decorations (window titlebar), but because OBSQTDisplay draws on the entire surface directly the client decorations from QT are overwritten. Instead promote OBSProjector to a simple QWidget with a single layout containing the OBSQTDisplay. This allows the OBSQTDisplay to own the entire contents while OBSProjector draws the decorations. fixes obsproject#6283
Previously OBSProjector was a subclass of OBSQTDisplay, which is intended to own the entire surface it draws on. On wayland some compositors expect the client to draw decorations (window titlebar), but because OBSQTDisplay draws on the entire surface directly the client decorations from QT are overwritten. Instead promote OBSProjector to a simple QWidget with a single layout containing the OBSQTDisplay. This allows the OBSQTDisplay to own the entire contents while OBSProjector draws the decorations. fixes obsproject#6283
I have the same problem on Wayland. Undocking the Scene window, cannot be redock because i cannot drag them back. The only way to re-dock them was using the "Reset Docks" menu item under the "Docks" menu. |
Just adding that I also experience this with the projection window and docks - and can replicate this issue. OBS v28.1.2 |
Screencast.from.2023-05-06.20-24-32.webmIf the title is double clicked, window decoration shows up, otherwise not. Unable to merge into main window. |
This window was previously a parent of OBSQTDisplay, however OBSQTDisplay is supposed to be completely rendered by OBS. On linux this causes issues like not having window decorations and weird rendering artifacts during resize. For wayland systems that negotiate explicit sync it also triggers protocol violations (crashes) due to QT and OBS thinking they should be rendering this window. Instead make the project a parent window owned by Qt that only contains one widget, the OBSQTDisplay. This makes the window behave like the main OBS window and preview. fixes obsproject#6283
This window was previously a parent of OBSQTDisplay, however OBSQTDisplay is supposed to be completely rendered by OBS. On linux this causes issues like not having window decorations and weird rendering artifacts during resize. For wayland systems that negotiate explicit sync it also triggers protocol violations (crashes) due to QT and OBS thinking they should be rendering this window. Instead make the project a parent window owned by Qt that only contains one widget, the OBSQTDisplay. This makes the window behave like the main OBS window and preview. fixes obsproject#6283 Co-authored-by: cg2121 <[email protected]>
This window was previously a parent of OBSQTDisplay, however OBSQTDisplay is supposed to be completely rendered by OBS. On linux this causes issues like not having window decorations and weird rendering artifacts during resize. For wayland systems that negotiate explicit sync it also triggers protocol violations (crashes) due to QT and OBS thinking they should be rendering this window. Instead make the project a parent window owned by Qt that only contains one widget, the OBSQTDisplay. This makes the window behave like the main OBS window and preview. fixes obsproject#6283 Co-authored-by: cg2121 <[email protected]>
Operating System Info
Other
Other OS
Linux
OBS Studio Version
27.2.4
OBS Studio Version (Other)
No response
OBS Studio Log URL
https://obsproject.com/logs/xV__iKzOBdld9tor
OBS Studio Crash Log URL
No response
Expected Behavior
After launching projector window it should have a titlebar with proper window controls.
Current Behavior
It opens window without decoration / controls of any sorts.
Steps to Reproduce
Anything else we should know?
No response
The text was updated successfully, but these errors were encountered: