Zduplikowane ikony dla ręcznie utworzonych elementów uruchamiających GNOME

46

Pobrałem Aptana Studio 3 i utworzyłem następujący element uruchamiający do używania Alacarte:

plik: alacarte-made.desktop

[Desktop Entry]
Comment=
Terminal=false
Name=Aptana Studio 3
Exec=AptanaStudio3
Type=Application
Icon=/opt/Aptana-Studio-3/icon.xpm

Następnie, gdy dodam ikonę do ulubionych i otworzę Aptana Studio 3, dostaję za nią dwie ikony, jedną do uruchamiania nowych instancji i jedną dla aktualnie uruchomionej instancji, zgodnie z poniższym zrzutem ekranu:

wprowadź opis zdjęcia tutaj

Jak zmusić aplikację do używania tej samej ikony dodanej do ulubionych?

malhobayyeb
źródło
Czy możesz podać sposób instalacji Aptana? Z oficjalnej strony widzę tylko samodzielny plik zip. (coś w rodzaju aplikacji przenośnych w systemie Windows).
hytromo
Tak, to było to.
malhobayyeb
Jak to się skończyło /opt? Czy to także na twoim $PATH? Jak podając tylko AptanaStudio3w pliku pulpitu, że można uruchomić?
hytromo
1
Zrobiłem to, dziękuję. Stworzyłem Sym Link w / usr / bin do /opt/.../aptana To był tylko problem z nazewnictwem. Musiałem nazwać .desktop i bin i link tak samo :)
malhobayyeb
3
Odpowiedz szczegółowo poniżej, w jaki sposób udało Ci się rozwiązać problem :) (Nie wiem, zadałem ci tylko kilka pytań)
hytromo

Odpowiedzi:

67

Aby zapisać przesiewanie przez wątek wspomniany przez @earthmeLon, musisz wykonać następujące czynności:

  1. Uruchom aplikację
  2. Odpal terminal i biegnij xprop WM_CLASS. Kliknij okno aplikacji.
  3. Dostaniesz trochę jak WM_CLASS(STRING) = "Navigator", "Firefox". Wybierz jedną z klas, np. FirefoxW tym przykładzie
  4. Dodaj klasę jako wartość StartupWMClassw .desktoppliku. Na przykład,StartupWMClass=Firefox
  5. Zapisz .desktopplik, zamknij aplikację i otwórz ją ponownie. W programie uruchamiającym powinna być teraz tylko 1 ikona
Erin Drummond
źródło
3
Dla tych, którzy mają ten sam problem w GNOME, możesz użyć MenuLibre: Podczas edycji odpowiedniego wpisu znajdziesz na liście pole do ustawiania StatupWMClass na liście, które pojawia się po kliknięciu przycisku „Zaawansowane”
conceptdeluxe
Jeśli ktoś próbuje poradzić sobie z problemem z mendeleyplikiem wykonywalnym, pamiętaj również o edycji .../bin/install-mendeley-link-handler.sh, ponieważ zastępuje on .desktopplik przy każdym uruchomieniu
MInner
TLDR; * .desktop nazwa pliku = WM_CLASS (STRING) ostatni element, ale małe litery. Szczegóły: Musiałem rozwiązać ten problem podczas tworzenia skrótu „Wersja dla programistów Firefox”. Nazwanie pliku „firefox.desktop” po prostu zacienia cień standardowej ikony firefox. Użycie xprop WM_CLASS i kliknięcie okna zwróciło WM_CLASS (STRING) = „Navigator”, „Firefox Developer Edition”. Na koniec zmieniłem nazwę mojego pliku .desktop w następujący sposób: mv ffde.desktop „firefox developer edition.desktop”. (Innym problemem jest to, że nie mogę kliknąć prawym przyciskiem myszy »addToFavorites na ikonie z rozszerzenia doku gnome)
Stphane
1
Jeśli nie chcesz / nie możesz zmodyfikować oryginalnego pliku .desktop w folderze / usr / share / applications, możesz skopiować plik do folderu lokalnego ~ / .local / share / applications i zmodyfikować plik tutaj. Będziesz miał więc ogólnosystemowy plik (prawdopodobnie dostarczony przez programistę / dystrybucję) i dostosowany plik, który przesłania oryginalny plik w panelu aplikacji powłoki gnome. Kopiowanie do lokalnego folderu jest pożądane, ponieważ plik do / usr / share / applications można odwrócić w następnej aktualizacji pakietu.
Vinícius A. Jorge
Kilka aplikacji nie ma WM_CLASS lub przynajmniej xprop go nie wyświetla. Czy można to zrobić z inną właściwością? Na przykład wyrażenie regularne w WM_NAME?
jws
3

StartupWMClass

Możesz użyć StartupWMClass do grupowania okien według klas.

Zobacz ten wątek, aby uzyskać dodatkowe informacje.

EarthmeLon
źródło