Eu não sei se são as melhores práticas ou não, mas eu fiz um indicador em python (que retorna para um ícone de bandeja quando nenhum indicador é suportado) here .
É um programa muito simples, ele apenas verifica um site e muda de cor (opcionalmente, mostra uma mensagem) quando há atualizações nele, então espero que seja simples o suficiente para dar um bom exemplo. Ele usa por padrão lib-indicator, mas cai de volta para puro gtk ou qt se não estiver presente ou o uso direto de algumas dessas bibliotecas for melhor (ele usa qt como sua primeira opção se detectar que está sendo executado no KDE ou no Windows ).
Espero que seja algo útil.