An indexing system in a computer system may include applications, a
capture processor, a queue, a search engine, and a display processor. The
indexing system captures events of user interactions with the
applications. Events are queued and if indexable, indexed and stored for
user access through the search engine. Capture components in the capture
processor can include a keyboard capture component that processes user
keystrokes to determine events. A display capture component captures
event data from windows associated with the applications. Display event
data can be captured on a polling schedule or based on state changes of
window elements. To determine target applications and window applications
of interest application profiles and window profiles can be used.