¿Por qué escribir la configuración del subprograma para dbus?

¿Por qué escribir la configuración del subprograma para dbus?

hay un tutorialhttp://wiki.mate-desktop.org/matecorba_to_dbus#d-bus_service_fileque dice cómo crear un archivo de configuración DBus.

Pero no entendí por qué es necesario. El servicio es registrado por el propio subprograma durante el inicio del subprograma. Y el inicio del subprograma se describe en otra configuración (en la configuración de mate-panel).

Entonces, ¿cuándo DBus inicia el subprograma independientemente del panel mate?

Respuesta1

Si esto sigue siendo un problema: AFAIK DBUS se usa para crear o iniciar un subprograma, cuando un usuario hace clic derecho en el panel mate, elige 'Agregar al panel...' y luego agrega el subprograma al panel.

Puedes mirar https://github.com/mate-desktop/mate-university si quieres hacer un subprograma. Voy a intentar actualizarlo.

Editar: OK, déjame intentar ser preciso. - Aunque soy nuevo en esto.
¿Por qué se requiere el archivo de configuración DBus?
Si instala un subprograma, el archivo de configuración se copia en /usr/share/dbus-1/services, al menos eso es lo que creo. Esto inicia el servicio DBus para el subprograma.
Mate-panel toma posesión del servicio de fábrica en:
mate-panel-applet-factory.c mate_panel_applet_factory_register_service() llamando
a g_bus_own_name().

Entonces, la afirmación "El servicio es registrado por el propio subprograma durante el inicio del subprograma" me parece un poco falsa. No es que el subprograma registre el servicio, simplemente lo señala.
Si elimino el servicio y reinicio el panel, puedo agregar el subprograma, pero no pasa nada.
El servicio ejecuta el subprograma.
Probablemente el servicio se llame desde panel-addto.c, pero no pude encontrar dónde exactamente.

¿Cuándo inicia DBus el subprograma independientemente del panel mate?
Probablemente nunca. Sospecho que DBus es solo una interfaz, a través de la cual mate-panel puede analizar una lista de todas las fábricas de subprogramas y luego llamarlas si es necesario.

Tenga en cuenta que soy muy nuevo en el código del panel Mate, por lo que realmente no puedo explicar por qué hace más de 3 años alguien escribió algo.

Tampoco es relevante. Si alguien quiere escribir un subprograma, creo que puedo ayudar; de lo contrario, escriba directamente a los desarrolladores originales o explore el código, tal como lo he hecho durante la última hora...

información relacionada