I've noticed this problem from time to time with the Casper Suite applications, which is that they remember where their windows last appeared on-screen. This is great, because the applications start up with the windows positioned right where you left them.
At least, it's great unless you leave the Casper Admin window on a secondary display attached to your laptop, then leave the office. Or until you change the positioning of the screens relative to one another in the Displays preference pane in System Preferences.
When you get back into Casper Admin, it dutifully puts the window right back where you left it. Even when the screen isn't there. End result? Casper Admin is running, but (in the words of M.C. Hammer), "U can't touch this."
The short solution is to delete the .plist associated with the affected Casper Suite application (in this case, ~/Library/Preferences/com.jamfsoftware.admin). But by doing so, you lose all the other settings you might otherwise want to keep.
A nicer solution is a simple script which executes a series of "defaults write" commands to set the window to a known size and position on the main display.
To that end, I offer the following shell script:
echo "Setting position of Casper Admin window to main screen..."
defaults write com.jamfsoftware.admin windowHeight 461
defaults write com.jamfsoftware.admin windowLeft 16
defaults write com.jamfsoftware.admin windowTop 111
defaults write com.jamfsoftware.admin windowWidth 802
Where did I get the window position values? I set the window where I wanted it on my main display, then looked inside the com.jamfsoftware.admin plist.
If this helps just one other person, then I've done good. If not, I've just wasted bandwidth. But either way, you got to read it. :)
bkvines at wgclawfirm.com
Yeah. I actually built a launcher app (a script wrapped up with Playypus) that I use instead of launching Casper Admin directly. It checks to see if there is an external display attached and will write different values into the plist for the window position if it sees there is only one display similar to the above script. I'll use that until this gets addressed in a new version if the application.