I am trying to run an H3D process on my second screen under Ubuntu. Previously, I was using python to handle this in Windows through the win32process library. This library does not exist under Linux, and the subprocess library in python doesn’t seem to have this functionality, at least not under Linux.
Basically, what I need is for H3D to always run in fullscreen on my second monitor when it’s called.
In my x3d file, I currently have:
This gets called in python through:
[code]subprocess.Popen([‘H3DLoad’, process_name], stdout=PIPE, stderr=PIPE)[/code]
where process_name is the path to the x3d file.
From my understanding of the H3DWindowNode documentation, there doesn’t seem to be an option to ‘select a screen’ or to set the pixel position of one of the window corners, unless it’s a field/option I’m not seeing. What is the way to achieve this under Linux?
We have a task in our backlog (not the public one) about unifying the command line options for H3DLoad/H3DViewer.
For H3DViewer you can set the position/size (at least if you build the latest trunk).
For H3DLoad I am afraid it looks like only size can be set. If you are not opposed to modifying this yourself you could just add a similar option to your H3DLoad as the one that is in H3DViewer.
Reporting on the solution for this (not perfect, but a good fix for my needs)
When calling H3D, I’m now running it as a bash script with H3DLoad calling the x3d visual scene file. I’m using the –deviceinfo argument to specify my robot, and -f for full screen. I’m running the bash script from a terminal that I had moved to the second monitor, and that seems to do the trick.