Oto sytuacja:
Pracując nad (kolejną wersją) edytora Unity Quick List, chciałbym dodać niezawodny sposób „restartowania” ikon programu uruchamiającego. Aby to zrobić, muszę usunąć ikonę (edycję ustawień) i zastąpić ją w tej samej pozycji. Jak dotąd nie ma problemu. Jeśli jednak aplikacja jest uruchomiona, użytkownik prawdopodobnie utraci dane, ponieważ aplikacja zostanie zamknięta po usunięciu jej ikony z programu uruchamiającego. Potrzebuję niezawodnego sposobu na znalezienie nazwy procesu aplikacji, aby pozwolić edytorowi sprawdzić listę uruchomionych procesów, jeśli aplikacja jest uruchomiona, i wysłać użytkownikowi komunikat ostrzegawczy, że ikona nie może zostać ponownie uruchomiona, jeśli aplikacja jest bieganie.
Do tej pory sprawiłem, że edytor zajrzał do pliku pulpitu, przeczytał polecenie, przeczytał również polecenie, usunął go z sekcji katalogu, a ponadto zajrzał do możliwych skryptów zdalnych, do których może odwoływać się polecenie pliku pulpitu, szukając ciągów rozpoczynających się z "./"
Chociaż metoda wydaje się działać dobrze ze wszystkimi aplikacjami, na których ją testowałem, mam wrażenie, że musi istnieć łatwiejszy sposób na rozwiązanie problemu w sposób „wszystko w jednym” ...
Jest tu?
Mile widziane są również sugestie dotyczące złapania bardziej wyjątkowych sytuacji!
ps
i xprop
?
.desktop
pliku, która niekoniecznie jest WM_CLASS. WM_CLASS można ustawić z poziomu aplikacji.
firefox.desktop
, że uruchamia WM_CLASS
Firefoksa z PID 1234, ale zmienił się na coś w stylu „Totally Not Firefox”. .desktop
Plik jednak nie zmienia. Chcesz, aby nazwa była dołączona do PID 1234 niezależnie od WM_CLASS
. Myślę, że dokładnie widzę, co trzeba zrobić. Ale nie odpowiedziałeś na moje pierwsze pytanie - czy to w porządku, jeśli dotyczy tylko Unity?