Esta é a situação:
Trabalhando em (a próxima versão) de um editor da Lista Rápida do Unity, gostaria de adicionar uma maneira confiável de "reiniciar" os ícones do iniciador. Para fazer isso, preciso remover o ícone (editar configurações) e substituí-lo na mesma posição. Até agora não há problema. No entanto, se o aplicativo em questão estiver em execução, o usuário possivelmente perderá dados, pois o aplicativo será encerrado quando o ícone for removido do iniciador. O que eu preciso é de uma maneira confiável de encontrar o nome do processo de um aplicativo, permitir que o editor verifique a lista de processos em execução se o aplicativo estiver em execução e envie uma mensagem de aviso ao usuário de que o ícone não pode ser reiniciado se o aplicativo for corrida.
O que eu fiz até agora foi fazer o editor procurar no arquivo da área de trabalho, ler o comando, também ler o comando, retirado da seção de diretório e, além disso, procurar possíveis scripts remotos aos quais o comando do arquivo da área de trabalho pode se referir, procurando por seqüências iniciadas com "./"
Embora o método pareça funcionar bem com todos os aplicativos em que o testei, tenho a sensação de que deve haver uma maneira mais fácil de cobrir o problema de uma maneira "tudo em um" ...
Existe?
Também sugestões para capturar situações mais excepcionais são bem-vindas!
ps
e xprop
?
.desktop
arquivo, que não é necessariamente o WM_CLASS. O WM_CLASS pode ser definido de dentro do aplicativo.
firefox.desktop
, ele lança o Firefox com PID 1234, mas mudou WM_CLASS
para algo como 'Totally Not Firefox'. O .desktop
arquivo, no entanto, não muda. Você deseja que o nome seja anexado ao PID 1234, independentemente de WM_CLASS
. Eu acho que vejo exatamente o que precisa ser feito. Mas você não respondeu à minha primeira pergunta - tudo bem se for apenas para o Unity?