Start by copying the following code and saving it as a .plist file in the ~/Library/LaunchAgents/ directory. I generally just name the file whatever I put in for the label string.
Now simply reboot for the LaunchAgent to start.
I am now trying to keep OmniFocus fullscreen so it has its own desktop all the time. If it accidentally closes, Launchd will automatically open it right back up, in its fullscreen desktop, without me even knowing.
The benefits of this also includes always having the menubar item as a constant reminder that I still have remaining tasks to complete. If I have no tasks, then it serves as quick access to perspectives. Another benefit is that now the Quick Entry and Clipping features are always available with no scripting work-arounds. If you know me, then you know how much I love solving problems by writing my own scripts. It is the reason I wrote OmniFocusCLI. But honestly, I am recreating the wheel. I can only aspire to make it as feature rich as Quick Entry, when really I should be finding a way to make Quick Entry as accessible as possible.
I am going to give this setup a go for a few weeks and see if it sticks. It may prove to be a distraction having it open all the time but so far I like it.