it would make more sense if bitcoind only ran generation when the system was idle, and then it could run at 100%
Is this feasible at all? I guess I could write some cronjob that checks CPU activity and turns on/off the daemon... not sure)
Seti@Home was originally a screensaver application, so the entire program started and stopped like any other screensaver. But Bitcoin needs to be running all the time for the network to function.
Therefore, the screensaver could be a script that runs "bitcoind setgenerate true" as it starts. The script then stays in an idle loop, and when the screensaver turns off , it catches the termination signal and runs "bitcoind setgenerate false". Or do the equivalent using JSON-RPC, which is a little more elegant, as it does not need execute permissions for bitcoind itself. This should be easy to do in Linux, I'm not sure about other systems.