Yes, but it's not simple. Basically, you have to use an OnTimer script to check a "last action" timestamp periodically. This timestamp would be set via a script, which you would have to embed in any script or action you wanted to count as "activity". (You can leverage Script Triggers if you like.) Once the allowable time has elapsed, you simply tell the solution to close.
However, it's not a perfect solution, since some actions you might want captured (like maybe moving the mouse) wouldn't be captured. And it's a real pain in the rear to put in place - lots of repetitive scripting to insert. But if you really want to do that, you can.
You can also increase the amount of time needed to disconnect on the server. Idle time might not be what you think it is. I believe it is the time from the last commit, so if a user works for an hour in the same record and they never do something that commits the record, they will get bumped off if the idle time is set for 1 hour. Even though they were working, the server thought they were idle due to the lack of a commit.
I've set up the timer so a user is logged out after 30 minutes of inactivity. The script to set the current time added to all scripts. Then a script is triggered using the timer to check the time elapsed. When the elapsed time is greater that 30 minutes it closes the application. So this is working well. Now they get the message something like "jjones200 you have been logged out successfully".
That's a much better message, but it leaves the user in a screen with a Filemaker Webdirect headline. I would like to hide the underlying software for security purposes but that may not be possible. I've tried to open a different URL but that triggers the browser popup blocker.