quicksilver/Quicksilver — pull request #575 by tiennou (2011-11-13 21:09:04+00:00)
Title: Process monitor updates

This is major surgery on QSProcessMonitor ;-).

I made it always keep the list of process up-to-date by building the full list in -reloadProcesses (aka the first scan on startup), and then the appLaunched/Terminated notifications ensure that the list is always up to date.

The responsibility of indexing background apps has been moved to QSProcessSource, and this last one had been made to observe QSProcessMonitor -allProcesses array (instant reindex when something launches/quits !). Also, the necessity to restart QS when you fiddle with the "Show Background Application" checkbox is gone (its observed by QSProcessSource).

A few things to note :
- I #define'd QSActiveApplication to be the same as the new set of notifications introduced.
- I dropped a @"processesChanged" notification. It only seemed to be used internally (no others reference in the main source code), and KVO is much nicer than notifications for that. Plugins should be checked, and updated to 1) either use the new notifications or 2) observe either -allProcesses, -visibleProcesses, or -backgroundProcesses.
- I'm also planning to kill the beginning of the -appChanged notification (where switching applications hides all others, so called kiosk mode), since it has absolutely nothing to do with process monitoring. Maybe move it in QSController ?

This is related to #453, and another one which I can't find anymore (related to background apps only getting scanned once at startup).