Need shelf to be behind app window

I’ve added the parameter logname to the tinit call in sysinit so that photon runs without displaying the logon screen.
Put my application into phapps so that it runs when photon runs.
But I’m damned if I can get it to stop overlaying the two shelf bars.
I’ve added the parameter to the tinit call to stop shelf being run but then I have a hidden option in my application
to kill it for development purposes so would need shelf back again at this point but running system(“shelf”) or any such variation causes the application to hang waiting for system to return (if i run shelf -e followed by shelf -r in a terminal window this does the same thing as I assume that shelf has taken over). You can’t spawn shelf as it’s a command not a program.
I’ve also tried capturing various window events in the main window of the application and moving it to front but that has no effect on the shelf.
Any suggestions as to how I can prevent shelf overlaying my application at start up (it’s maximised but underneath the shelf) and then access shelf again once I terminate it ?

I’m not really sure what you are trying to do here.

Is this a development or desktop system for your own use, or is this a deployable system?

I don’t know why overlaying the shelf is a problem but, when you start the app, you can specify position and size of the window using command line parameters -x -y -w -h.

shelf is a program. You can slay it and restart it.

System for my own use with QNX ? the mind boggles.
No this is an embedded control system where I don’t want the customer to access anything bar the application so the shelf must not be visible.
On the other hand when developing the system I may want to access the shelf preferably without having to edit the sysinit file to remove the switch that turns it off.
As noted in the original post restarting from within the application fails and without access to a terminal window I can’t restart the shelf after exiting the application.
Seems I may have to edit the sysinit file instead which is a pain if I need to check something without a reboot.
Since I’m developing on windows (developing for a number of different embedded OS so Linux would be out of the question) I assume I would need to run some sort of console programme to communicate with the target system which doesn’t duplicate the display on the target system. Any suggestions ?

Like a lot of QNX developers I use the system self hosted. It’s much nicer in my opinion.

Well I couldn’t make a better argument for developing self-hosted.

As to your problem, I’m surprised. I can slay and restart shelf to my hearts content, and it does what I expect.

Does Right-Click/Terminal not work?

Right click that is.
Didn’t occur to me and the qnx help is somewhat obtuse at times.