1

The need : I am live coding using OBS. I often need to show different windows on the live stream. I also have sensible windows that I absolutely don't want to appear there by mistake, even for a second (e.g. The password manager, the live database...).

I would like to ensure that I only stream the windows I want by sandboxing them somehow.

The solution I'm looking for : A "parent" window that would integrate all the windows I want, so I just have to put this window to be captured in OBS. Something like the virtual Desktop from WINE. Ideally, it should just copy the content of the actual window and put it inside this virtual desktop, keeping the Z-index of each window, so I just need to configure it and use my desktop environment the way I'm used to.

Is that even possible ? I'm using GNOME3 on Manjaro (Arch)

A potential, not-practical solution : I thought about using a VM with the same desktop environment I'm normally using, but this means reinstalling everything and is probably going to be annoying to use. I would rather use some form of window duplication like explained above.

Any pointer is welcome ! I can code it myself directly if needed.

xurei
  • 101

3 Answers3

1

Suggestion #1:

Use a VM. The potential problems you mention:

  1. "This means reinstalling everything": Not really. You can clone your installation with Clonezilla, e.g.
  2. It "is probably going to be annoying to use": This is a very subjective point... I wouldn't see why.

I use VMs very often, and, not having another application that "groups windows", this seems to me like a very good target for a VM.

Suggestion #2:

Use a dedicated workspace, and lock your session to that workspace. I am not sure it would not interfere with your work, if you mean to go back and forth to no-show windows.

For instance, devilspie (ref). You would have to work out a little this option. YMMV.

Related.

  1. https://askubuntu.com/questions/666357/how-can-i-lock-an-application-and-all-its-new-windows-into-a-specific-workspac
  2. https://forums.linuxmint.com/viewtopic.php?t=205481
  3. https://medium.com/@mukherjeekalpan/auto-start-apps-and-fix-them-to-workspaces-on-startup-ubuntu-a1124f1af7f3
  4. https://askubuntu.com/questions/805515/how-can-i-group-windows-to-be-raised-as-one
  5. https://unix.stackexchange.com/a/624996/137608
  6. How to disable workspace switching keys (ctrl-alt-arrow) in Mate / Macro
0

The feature you are asking for doesn't seem to exist, so here are some workarounds:

  • Using Gnome Workspaces
  • Using OBS filters, and most notably the Crop filter and the Image Mask/Blend filter
  • If all fails, you may just limit the capture area using Alt. In the past I have at one time simplified my desktop by using a background image I created with lines to delimit special areas.
harrymc
  • 498,455
0

My advice here as an occasional live streamer is to just use 'Window Capture' for each window you want visible instead of 'Display Capture'. This functionality is a basic part of OBS Studio (versions newer than 23 for sure). You can further lock this down to ensure you only show the correct windows by choosing the correct window and then selecting "Window title must match" from the Window Match Priority dropdown in the properties dialog for each Window Capture source. Put all of these source in one scene and you are done. No need for VMs or "container windows" to hold anything.

At one point early in the pandemic I was using it to live stream brainstorming sessions for my gaming group campaign using a dozen or more sources for the windows I was working on during that stream.