I recently finally managed to get rqt_embed_window to work. As the name suggests, it’s a rqt plugin that allows to embed any window into a rqt plugin.
It does so by ‘stealing’ the window and putting it into an rqt widget via Qt method ‘fromWinId’. You give the plugin the command to execute, e.g.
rviz --splash-screen None -d myconfig.rviz, and it captures the window and adds it into rqt.
I’d like to note that this tool allows to use Rviz in rqt (without crashing, like the rqt_rviz plugin). It also allows to use PlotJuggler, rosbag_editor, vlc, firefox… and others, inside of a rqt widget. There is a caveat: drag-and-drop sometimes stops working on some apps.
I’m still doing a couple of little improvements before I aim to make a release, but it does work and I welcome feedback.
More info in the README!