With wxPython, how does one trigger an event whenever the whole window goes into/out of focus?  
To elaborate, I'm building a serial terminal GUI and would like to close down the connection whenever the user doesn't have my application selected, and re-open the connection whenever the user brings my app back into the foreground.  My application is just a single window derived from wx.Frame.
The correct answer for this case is to use an EVT_ACTIVATE handler bound to the frame.  There will be an event whenever the frame is activated (brought into the foreground relative to other windows currently open) or deactivated.  You can use the event object's GetActive method to tell which just happened.
wxPython Whole Window Focus Event