Actually.. Just locking the keyboard input and access to the toolbar buttons would be enough (oh, and the immediate mode script command). No real need to disable closing the client, the world or anything else in the client, just cut off all methods that let someone send text or run script until you 'unlock' *that* world. If you forget the password you typed in when you set it to be locked, then all you do is close the world, then reload it to reconnect. This would automatically kill the lock on that world and as long as you don't have your password to the server set to automatically log in, no problems. The advantage is you can choose anything you want when you lock it, it doesn't have to be a fixed password, just a random word you type in when you lock it. A dialog pops up, asks you for a password and locks that world. Try to unlock it and get the same password dialog.
One possibility is to add a broken lock icon to the World window, next to the close button. Click it, get the dialog and that window now shows a complete lock, like you see in IE and the like for secure pages. Unobvious, out of the way, doesn't interfer with other worlds that may be open that you want unlocked, etc.
Only suggestion would be that closing the client itself should only be allowed if no locked worlds are open. That way if someone fools with a world in the client that isn't locked, they can't close the client and lose your connected but locked world as well. This won't keep them from trying to close the worlds, but most people would hopefully minimize the client, instead of taking the trouble to close them all. |