Por que escrever a configuração do miniaplicativo para dbus?

Por que escrever a configuração do miniaplicativo para dbus?

Existe um tutorialhttp://wiki.mate-desktop.org/matecorba_to_dbus#d-bus_service_fileque diz como criar o arquivo de configuração DBus.

Mas não entendi por que isso é necessário. O serviço é registrado pelo próprio miniaplicativo durante a inicialização do miniaplicativo. E a inicialização do miniaplicativo é descrita em outra configuração (na configuração do mate-panel).

Então, quando o DBus inicia o miniaplicativo independentemente do mate-panel?

Responder1

Se isso ainda for um problema: AFAIK DBUS é usado para criar ou iniciar um miniaplicativo, quando um usuário clica com o botão direito no painel de posicionamento, escolhe 'Adicionar ao painel...' e então adiciona o miniaplicativo ao painel.

Você pode olhar https://github.com/mate-desktop/mate-university se você quiser fazer um miniaplicativo. Vou tentar atualizá-lo.

Editar: OK, deixe-me tentar ser preciso. - Embora eu seja novo nisso.
Por que o arquivo de configuração DBus é necessário?
Se você instalar um miniaplicativo, o arquivo de configuração será copiado para /usr/share/dbus-1/services - pelo menos é o que penso. Isso inicia o serviço DBus para o miniaplicativo.
Mate-panel assume a propriedade do serviço de fábrica em:
mate-panel-applet-factory.c mate_panel_applet_factory_register_service() chamando
g_bus_own_name().

Portanto, a afirmação 'O serviço é registrado pelo próprio miniaplicativo durante a inicialização do miniaplicativo' parece um pouco falsa para mim. Não é que o applet registe o serviço, apenas aponta para ele.
Se eu remover o serviço e reiniciar o painel, posso adicionar o miniaplicativo, mas nada acontece.
O serviço executa o miniaplicativo.
O serviço provavelmente é chamado de panel-addto.c, mas não consegui encontrar exatamente onde.

Quando o DBus inicia o miniaplicativo independentemente do mate-panel?
Provavelmente nunca. Suspeito que o DBus seja apenas uma interface, através da qual o mate-panel pode analisar uma lista de todas as fábricas de miniaplicativos e depois chamá-las, se necessário.

Observe que sou muito novo no código do painel mate, então não consigo explicar por que alguém escreveu algo há mais de 3 anos.

Também não é relevante. Se alguém quiser escrever um miniaplicativo, acho que posso ajudar, caso contrário, escreva diretamente para os desenvolvedores originais ou navegue no código, assim como fiz na última hora ...

informação relacionada