Eu estou (tentando) escrever um script python simples para o sistema operacional baseado no Ubuntu. Como parte do script, uma notificação também é mostrada. Agora, eu passei por um número de posts aqui, mas com cada um eu tenho uma pergunta de acompanhamento (e algum problema). A seguir estão maneiras diferentes, eu já tentei (e problema associado),
Usando o notify2
Isso funcionou muito bem. No entanto, com o seguinte problema,
a. Por algum motivo, o ícone não está sendo mostrado na bolha de notificação e não há erro. Uma instrução de impressão simples, print(os.path.abspath('icon.svg')
, caminho de retorno, produz caminho correto, mas ainda sem imagem.
Aqui está o código exato que estou usando,
def show_notification(title, content):
notify2.init(title)
n = notify2.Notification(title, content, os.path.abspath('icon.svg'))
n.show()
Usando a partir da importação do gi.repository Notify
Seguindo o arquivo hello-unity aqui . Eu tentei usar o Notify. Eu não consegui fazer isso funcionar! A última vez que tentei, recebi um erro ImportError: cannot import name Notify
executando o script como python test.py
.
Executar o mesmo usando python3 como em python3 test.py
resulta em um erro diferente ImportError: cannot import name Notify, introspection typelib not found
.
Para superar isso, tentei instalar python-gobject
e libnotify-bin
, mas eles já estão instalados no meu sistema (Elementary OS Loki). Os erros ainda persistem.
Usando o subprocesso
Isso funcionou sem nenhum problema, mas não tenho certeza se essa é a melhor maneira de mostrar notificações, pois pretendo mostrar notificações regulares. Este é o código que usei,
import subprocess as s
s.call(['notify-send','foo','bar'])
Questão Principal
Como esta é a primeira vez que estou tentando desenvolver para a comunidade linux (ou melhor, o Ubuntu), sou relativamente novo no desenvolvimento do Linux. Tentar pesquisar por uma implementação simples (e correta), como a de notificação, tem sido demorada e confusa. Além de sugerir o jeito certo de implementar as notificações, eu apreciaria se alguém pudesse me apontar na direção certa, algo como o guia do desenvolvedor android que mostra ou tem referências de API.
E antes que alguém pergunte sobre minhas preferências de desenvolvimento, estou mais confortável com o python. Em relação à GUI, mais uma vez não tenho certeza de qual caminho seguir, embora o GTK pareça ser mais popular.