You do not mention the OS
In unix/linux most times the response is around the use of the "ps" command.
Additionally you can link this to a "promon" that can take "piped" commands and produce output that you can read and react as necessary.
Mfg/Pro's "idle" setting in the control file only considers users sitting in the menu (inquiries and reports also, I think) but will never close a session when the user has an open transaction.
On the other hand, there are some reports that take long (e.g. GL or Inv Valuation) and you do not want to kill a session that seems to be idle.
Just as you can use the promon to check activity for a certain user, you can create a file (keyfile) with all the selections you will make (e.g. disconnect a user) and do something like this:
promon DBNAME < keyfile > myoutput