Esta es la situación:
Trabajando en (la próxima versión de) un editor de Lista rápida de Unity, me gustaría agregar una forma confiable de "reiniciar" los iconos de inicio. Para hacerlo, necesito eliminar el ícono (editar ajustes) y reemplazarlo en la misma posición. Hasta ahora no hay problema. Sin embargo, si la aplicación en cuestión se está ejecutando, el usuario posiblemente perderá datos, ya que la aplicación se cerrará cuando se elimine su icono del iniciador. Lo que necesito es una forma confiable de encontrar el nombre del proceso de una aplicación, para permitir que el editor verifique en la lista de procesos en ejecución si la aplicación se está ejecutando, y envíe un mensaje de advertencia al usuario de que el icono no se puede reiniciar si la aplicación está corriendo.
Lo que hice hasta ahora es hacer que el editor revise el archivo de escritorio, lea el comando, también lea el comando, se elimine de la sección del directorio y, además, busque posibles scripts remotos a los que el comando del archivo de escritorio pueda referirse, buscando cadenas que comiencen con "./"
Aunque el método parece funcionar bien con todas las aplicaciones en las que lo probé, tengo la sensación de que debe haber una manera más fácil de resolver el problema de una manera "todo en uno" ...
¿Esta ahí?
¡También se aceptan sugerencias para atrapar situaciones más excepcionales!
ps
y xprop
de salida?
.desktop
archivo, que no es necesariamente el WM_CLASS. El WM_CLASS se puede configurar desde la aplicación.
firefox.desktop
, lanza WM_CLASS
Firefox con PID 1234, pero cambió a algo como 'Totally Not Firefox'. Sin .desktop
embargo, el archivo no cambia. Desea obtener el nombre adjunto al PID 1234 independientemente de WM_CLASS
. Creo que veo exactamente lo que hay que hacer. Pero no respondiste mi primera pregunta: ¿está bien si es solo para Unity?