Frustration with capturing menus/popups in recording

getify

New Member
I am aware that OBS doesn't currently capture "sub windows" (like menus and popups) when you're doing app-window (or game) capture. However, I'm confused as to why that's the case, when several other screen recording apps I've tried (like NCH Debut) support "app recording capture" that ARE able to capture these popups/menus in the recording?

Is there a way that OBS could offer some sort of similar composite-app recording mode where it does captures of the app window (regardless of what display its on, or if it's even visible) and captures the sub-windows as well?

----

Using display-based capturing is not really a workable/practical solution for me, for the following reasons:

1. The recordings I'm trying to do involve capturing multiple apps at once, like my code editor, my console, and my browser. I have each one laid out in a tiled fashion within the recording canvas in OBS, and different scenes that move them around, making the one I'm actively on larger and the others a little smaller on the side.

2. I have different apps organized on different virtual desktops. When you select a different app, it switches to the virtual desktop that app is on, which then moves away from the virtual desktop that other app is on. So if I was doing display-based capturing, now that app is "missing" from the recording.

3. I only have one monitor, so typically I have OBS running in the background and I start/stop recordings with hotkeys. The foreground of my single display shows whichever app I'm currently working on. So during a recording session, I would switch to a different app (like from editor to browser), hit the hotkey to switch the OBS scene, and then interact in the browser, then back to the editor doing the reverse. The effect is that all of this is "live" to the recording, and could in theory also be "live" streamed out exactly the same. All of that works fine EXCEPT for the fact that sub windows aren't being captured. :(

Since I don't have 3 monitors, I can't put each of these apps on its own display to do display-based capturing on each simultaneously. So, basically, what I kinda try to do, which is much more brittle to set up (because this setup only kinda works for recording, it doesn't work well for "normal work computing"), is:

* maximize each app on a single virtual desktop, stacked on top of each other

* for each scene, do a "display" capture for the "main active app" for that scene (cropping out taskbar/etc), and an window-capture for each of the other two apps that will be "hidden" behind the main one

The reason this only partially works is that you have to completely synchronize switching app focus and switching the OBS scene (which I guess I have to probably add some sort of special hotkey macro to do). Otherwise, in the recording, you'd see one of the apps "double" (where it was both in its app capture box and in the display-capture box) for that brief moment between switching app focus and switching the scene.

If these 3 apps were left on separate virtual desktops (the way I typically work when not recording), the recording would show the "swipe" animation (for the display-capture box) that windows does when switching virtual desktops (and as far as I can tell, can't be turned off), which looks ugly and shows your wallpaper below (unless you also switch wallpaper to like solid black).

Also, though it's rarer, if one of the non-active apps is trying to display something with a sub-window (like an alert() in a browser, for example), that isn't shown since at that moment the app is being window-captured instead of display-captured. And finally, a display-based capture is more susceptible to a recording being ruined by some OS (or other app) popping up some visible alert than app-based capture. When that happens unexpectedly, you just have to throw away the recording and start over. :/

So again, there are elaborate, brittle, and imperfect work-arounds here. But I reiterate my above question: is there some way that OBS could just do a composite app-window recording so all of this nonsense could be avoided?
 
Top