-
Notifications
You must be signed in to change notification settings - Fork 48
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
Add RFC: Window Capture Rewrite (Windows) #1
Conversation
For me, the desired behaviour of window capture would be to have options to specify the window desired as clearly and unambiguously as possible, and have the defaults OBS uses if you don't specify something be to not show anything unless it is 100% sure that it is what you want. ie: never fall back to some other window that is not what you asked for, as that can leak all kinds of personal information, etc. I watched a stream once where an OBS window capture failed and switched to a copy of Notepad.exe with a list of 50 or so game keys used for giveaways for example, even though the window capture was set to some video game EXE. The streamer was mortified. |
I agree with everything except the drawbacks: As for user confusion, that's easily solved by explicitly telling them to select a window. Some applications tell the user "I need your inputs here" by highlighting the button that needs pressing, I think this should solve any confusion. |
Is this actually the best sort? For example, if I have a bunch of Chrome windows open, alphabetizing by window name means those chrome windows are scattered all over the list (since each website has its own title)... sorting by exe name at least makes all my chrome windows group together... Or perhaps an alternate view where you select a running exe name and it lists all the windows of that particular exe?
Similar to this, there should also be a "capture foreground window on keypress" option, similar to what game capture does. "I'm using this window, I just want to capture it"
I think part of the "sane default" should be never, ever pick a window running from a different exe than the window that just lost, since I can't imagine any use case where that would be sane. (Perhaps overridable (explicitly) when using a title/regex match or something. Not sure what makes the most sense) |
Let's keep the name constant.
In the future, combine the "problem" and "solution" of each item if possible to keep things more readable. Now on to the issues:
This was fixed. I think. If not, it's a good suggestion, and I say someone should just make a pull request to fix it. It should probably mimic what game capture does for window selection.
What do you really do when you have something that has the window name change constantly? It'd be annoying. Anyway all this would require is changing the default for "Window Match Priority" to "Window title must match". It would require a v2 if it was changed because it changes default behavior. Are you really sure we should do that when so many windows change their title? I made it auto-select windows of the same type way back when in OBS classic because people complained about their window titles changing. Should probably ask other people to comment on this one for consensus on this.
This should have been fixed already. Probably could have created a PR for this without even mentioning it in an RFC, but almost totally positive I fixed this.
The reason I did this originally is because people sort of expect it to start capturing something, and when it's minimized it can't capture. And games that are fullscreen won't capture especially, which I think was the biggest reason. We could do it, it's fine with me, but just get ready for support messages about it. Should probably ask for consensus on this.
This is a good suggestion, but refreshing the properties is kind of a convoluted process because the
I don't mind sorting, it's a good suggestion. But it'd have to have a multi-tiered sorting, like executable first, then by title. But anyway, do people usually have that many windows open that it becomes a problem otherwise? Currently I'm pretty sure it's just sorted by Z-order. Anyway, we can't do this without custom Qt properties (i.e. not using the automatically generated properties). Unless we want a load of pain and more exceptions to that thing.
Feels more like a bug report. It's not supposed to uncapture once it's found a window handle to start capturing. You'd have to provide reproduction steps. Once it has the window it shouldn't be searching for new windows. It just keeps capturing the current window handle until the window has been closed/destroyed, and then and only then should it start searching again. In general, most of these are fine. Two require custom Qt properties. Two you should probably have consensus on (indicated above) and be very sure you want to be ready for support messages about them. One was already fixed, first one should have a PR created to fix, and the others are probably fine. |
Closing this as most issues mentioned have since been fixed, and the rest can be smaller PRs and therefore a rewrite isn't necessary. |
Description
Rewrite Window Capture on Windows to be 1) more consistent 2) more user friendly 3) don’t capture a random window as a fallback 4) better support for strange windows
Motivation and Context
Window Capture is one of the core capabilities of OBS, and yet its behaviour can be wildly unpredictable (and sometimes even downright dangerous). It has a number of flaws. Check the RFC for full details.
View the RFC