Sorry, I sent this reply to John instead of Ed. Try again . . .
-Dwight
I understand that once you have applied a context to a task you no longer want to see it in your inbox. That's easily taken care of. Just creat a new view with a different name (for example, Ed'sInbox) and define it as anything that's still in the inbox and does not yet have a context. (If it was for me, I would also want to exclude anything that's completed as well as any folder. You might want to exclude other things as well.
The advanced filter for this is
((TopLevelFolderName contains '<inbox>') AND (not(complete)) AND (not(IsFolder)) AND (Contexts is empty))
You can probably find a tutorial on how to use advanced filters. Any other questions, come back here.
Once this is set up, stop looking in the INBOX view and always use Ed'sInbox instead. As soon as anything in the inbox gets a context it will no longer appear in your view.
The thing that controls context for a new task has nothing to do
with what view you are in. Some task somewhere in your profile is
currently selected. it's highlighted and the cursor
currently points there. Your new task will be the child (or maybe
sibling) of the selected task and, unless inherited contexts is
inhibited, your new task will inherit the context of its parent.
If you are using a view that shows all the tasks with context
"@office" it's likely (but not necessarily true) that your
selected task has context office and therefore the new task will
have the context @office. But the context is not there because of
the view, it's there because of the selected task. Does this make
sense to you?