Time Sink de Many Tricks faz isso. Ele registra os nomes dos aplicativos em execução e frontmost, bem como os títulos das janelas da primeira janela de cada aplicativo.
Uma desvantagem dessa abordagem que descobri é que muitas vezes eu leio um documento em uma janela de plano de fundo porque posso percorrê-lo de qualquer maneira. Eu não acho que há uma maneira de contornar esse problema, além de disciplina.
Geralmente não é possível registrar a interação de arquivos, pois muitos aplicativos fecham seus identificadores de arquivo, embora o usuário esteja editando ou visualizando o arquivo no aplicativo, abrindo-o apenas para salvá-lo ou carregar mais dados.