Eu escrevi um pequeno script em perl para fazer o que você pergunta: link
Ele funciona obtendo todos os IDs de janela atuais do X11 usando o comando "xlsclients -l", recebendo, por sua vez, o PID da janela com xprop. Em seguida, ele usa xprop -root para obter a janela focada no momento e, em seguida, percorre todos os PIDs para alterar seu valor agradável para 5 (mantendo o valor atualmente focalizado em 0).
Em seguida, ele insere um loop infinito que verifica novamente a janela focalizada a cada dois segundos. Se o foco da janela mudou, o valor antigo do antigo é alterado para 5 e o novo para 0. Além disso, a cada 40 segundos, ele refaz o que fez no primeiro parágrafo para que novos processos possam ser priorizados.
Esse script tem várias falhas, a mais óbvia delas é o fato de que xprop às vezes não consegue encontrar a janela atualmente focada (isso parece acontecer apenas se você estiver alternando entre as janelas muito rápido). executando uma janela a partir de um local de rede, o PID pode não estar correlacionado ao PID real em seu sistema. Dito isso, em média, o script funcionará (o perl pode lidar com alguns erros e ainda ser executado)
Eu também acho que seria mais rápido se eu escrevesse isso em c, mas eu não tenho habilidade em usar a biblioteca X11, então o perl cheio de frases é!