Estou escrevendo um daemon em C ++ que precisa saber quando um evento User Switch ocorre na área de trabalho (não em um terminal específico). Gostaria de saber se existe uma API que eu possa chamar ou um arquivo que eu possa monitorar para fazer isso. O daemon precisa rodar tanto no Ubuntu quanto no Kubuntu.
Idealmente, eu gostaria de poder fazer isso sem polling, mas se essa for a única maneira possível, estou bem com isso.
Eu tentei googling mas não encontrei nada relevante. Qualquer ajuda é muito apreciada.