Ajuda de integração do indicador de som

2

Estou tentando adicionar meu aplicativo ao menu Indicador de som no Unity há cerca de uma semana. A falta de documentação sobre o assunto é honestamente chocante. Quaisquer links que eu possa encontrar que dizem ser documentação estão mortos.

Aqui é onde eu estou: Eu usei a fonte mopidy-mpris como um guia para como construir um serviço DBus que esteja em conformidade com a especificação MPRIS. Eu posso executar este serviço, e comunicar com / controlá-lo usando um cliente MPRIS Python bacana ( link ). Eu sou capaz de consultar todas as propriedades com qdbus e tudo parece estar trabalhando para especificação, tanto quanto o MPRIS vai.

Eu li em alguns posts que para adicionar um aplicativo ao Indicador de som, você deve adicioná-lo à chave /com/canonical/indicator/sound/interested-media-players no dconf (ele também precisava de um arquivo .desktop em ~/.local/share/applications ). Eu fiz isso e meu aplicativo apareceu no indicador de som ao fazer login / logout. Isso parecia ótimo, mas quando eu cliquei no meu aplicativo, ele simplesmente começou a girar sobre o botão play. Meu aplicativo começa, mas não consigo interagir com ele através do menu. Eu usei dbus-monitor para ver as mensagens dbus sendo enviadas / recebidas e não obtive nada. Enviei alguns manuais usando o cliente MPRIS acima, e pude vê-los no dbus-monitor e eles controlaram com sucesso o player, então pelo menos isso estava funcionando.

Analisei mais uma vez a origem do mopidy e descobri que eles mencionam o envio de uma notificação de lançamento para o indicador de som, criando um serviço indicador. Claro, eles usaram um antigo módulo indicativo, mas eu usei gi.repository.Indicate , e basicamente ele se encaixou. Eu inicializo um servidor indicado assim:

from gi.repository import Indicate
indicate_server = Indicate.Server()
indicate_server.set_type('music.myapp')
indicate_server.set_desktop_file(os.path.abspath('myapp.desktop'))
indicate_server.show()

Isso não fez nada. Eu ainda recebo uma animação presa / girando / carregando no botão de reprodução e não tenho controle.

Qualquer ajuda é muito apreciada. Melhor caso: um link para a documentação real seria ótimo.

    
por Caleb1994 06.03.2016 / 06:34

0 respostas