elvissteinjr / DesktopPlus

Advanced desktop access for OpenVR
GNU General Public License v3.0
462 stars 29 forks source link

Per-window capture breaks if window is not open before Desktop+ is running #21

Closed matejdro closed 2 years ago

matejdro commented 3 years ago
  1. Start SteamVR & Desktop+
  2. Add new Overlay with capture method set to "Graphics Capture" and source set to some application (let's say Application A).
  3. Close down Steam VR
  4. Close down Application A
  5. Open SteamVR & Desktop+ again
  6. Open Application A

After performing above steps, note that overlay created in step 2 is blank. You have to go to the settings and pick Application A as a source again.

It would be very useful if overlays could remember title of the window and re-activate if window is opened after Desktop+.

elvissteinjr commented 3 years ago

This will be addressed alongside the UI redesign (which is in the works, but in early stages still). There's currently no continuous window tracking in Desktop+, which would be required for this to work well (current method is on-demand and takes a few ms, so not good to just plug as background task).

Window titles (and executable names) are remembered for overlays, but matching is only done on load. This means as a workaround you can either load a profile or restart Desktop+ to have it look for matching windows.

And yeah, it's not like it's impossible to stuff auto-restore in there, it's just that without proper window tracking it's bound to match with some other older window of the application as a false positive in some scenarios (like after an active capture window was closed) and I'll redo the code anyways, so I decided to wait until that happens.

But yeah, this will get sorted out eventually.

elvissteinjr commented 2 years ago

This should now be resolved with the NewUI Preview 2 build. Please let me know if it doesn't behave as expected, however.

matejdro commented 2 years ago

Oh wow, it works really well. Whole redesign is amazing. I've sent a couple of coffees your way, thanks a lot.