You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A desktop app with a Window that is undecorated, transparent, and not focusable was capturable in OBS (software for streaming on services like Twitch or YouTube) using at least Compose 1.3.1, 1.4.x, and 1.5.x up to 1.5.12.
The same application with Compose upgraded to 1.6.x (starting with 1.6.0 for sure) is not capturable in OBS any more.
Affected platforms
Desktop - Only tested on Windows
Versions
Libraries:
[versions]
kotlin = "1.9.22"
compose = "1.6.0"
[plugins]
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
jetbrains-compose = { id = "org.jetbrains.compose", version.ref = "compose" }
[libraries]
androidx-annotations = { group = "androidx.annotation", name = "annotation", version = "1.7.1" }
Kotlin version: 1.9.22
OS version(s) (required for Desktop and iOS issues): Windows 11
OS architecture (x86 or arm64): x86
Device (model or simulator for iOS issues):
JDK (for desktop issues): 19 (Amazon Corretto)
To Reproduce
Steps to reproduce the behavior:
Create a window in your application that is undecorated, transparent, and not focusable
Add that window to a scene in OBS
With 1.5.12 the window will show up, from 1.6.0 it will not show up
I have created a minimal project that reproduces the issue, along with screenshots. The only relevant change between the two branches on the repo is the Compose version in libs.versions.toml.
Expected behavior
I would expect a window that was capturable by OBS with Compose 1.5.12 would continue to be capturable when upgrading to Compose 1.6.0.
Screenshots
Here's how OBS looks for 1.5.12:
Here's the same window in OBS for 1.6.0:
Additional context
No additional context, please see the linked repo for a repro case.
The text was updated successfully, but these errors were encountered:
@terrakok Thanks for that. I pulled the UI stuff out to a post-main function, set the property before calling it, and it seems to do the trick.
Was there documentation that I missed? The closest relevant thing I see in the release notes for 1.6.0 is this PR to do with transparency on desktop. It doesn't mention the property you mentioned above.
This property isn't new and you're right about that change - it fixes transparent window support on D3D (previously it failed on init and used OpenGL as fallback).
So you can use OpenGL if it works better in your case, hovewer I'd recommend to set this property only for WIndows.
Describe the bug
A desktop app with a
Window
that isundecorated
,transparent
, and notfocusable
was capturable in OBS (software for streaming on services like Twitch or YouTube) using at least Compose 1.3.1, 1.4.x, and 1.5.x up to 1.5.12.The same application with Compose upgraded to 1.6.x (starting with 1.6.0 for sure) is not capturable in OBS any more.
Affected platforms
Versions
To Reproduce
Steps to reproduce the behavior:
undecorated
,transparent
, and notfocusable
I have created a minimal project that reproduces the issue, along with screenshots. The only relevant change between the two branches on the repo is the Compose version in
libs.versions.toml
.Expected behavior
I would expect a window that was capturable by OBS with Compose 1.5.12 would continue to be capturable when upgrading to Compose 1.6.0.
Screenshots
Here's how OBS looks for 1.5.12:
Here's the same window in OBS for 1.6.0:
Additional context
No additional context, please see the linked repo for a repro case.
The text was updated successfully, but these errors were encountered: