Hacker News new | ask | show | jobs
by krs_ 9 days ago
qimgv uses libmpv for video playback support for example. I'm guessing that's not what you mean, but I'm struggling to think of how one might "embed" one application inside of another on xorg.
2 comments

x11 supports foreign window embedding. You can embed window from other application into your own window. That's why lots of mpv/vlc based players/editors don't work probably on wayland. The only way to achieve this on wayland is writing a custom compositor for the foreign window.
I worked at a company that had a powerful legacy software that was meant to be configured once and run full screen.

At some point it needed a custom interface and the ability to reconfigure itself on the fly.

Adding in a GUI was not a reasonable option.

We ended up writing a GUI (in gtk) then using Xembed to embed the other process and communicate via a Unix socket.

What would have been a major rewrite (and likely a port to a different language) ended up being a few a days project and worked beautifully.

It really showed me how powerful X11 really was.

On Windows it's trivial, just reparent[1] the main window of the subprocess to a window in your process. Technically you should clear a couple of window flags as well, but that's trivial too.

[1]: https://learn.microsoft.com/en-us/windows/win32/api/winuser/...