Często otwieram wiele wystąpień aplikacji, zwłaszcza Emacsa, ponieważ mogę jednocześnie pracować nad różnymi projektami i uważam, że to najlepszy sposób na zarządzanie tym (tak, wiem, że istnieje wiele rozszerzeń zarządzania projektami dla Emacsa , Nie muszę się uczyć w Emacsie).
Robię to, dzięki open -n -a Emacs.app
czemu otwiera się nowa osobna instancja Emacsa. Ale byłoby naprawdę miło ustawić niestandardową ikonę dokowania dla otwartych instancji, dzięki czemu mogę łatwo je rozróżnić, wykonując Cmd + Tab.
Czy znasz jakiś hack lub sposób na ustawienie niestandardowej ikony aplikacji (Dock) dla instancji? Nawet jeśli jest to dość złożone polecenie powłoki (mógłbym wtedy utworzyć skrypt powłoki dla tego).
To, co naprawdę chcę osiągnąć, to utworzyć skrypt powłoki, aby móc zadzwonić, opennew Emacs.app x
a następnie rozwinie ikonę Emacsa i doda odznakę z x .
Następnie mogę wezwać opennew Emacs.app s
do „związanych ze szkołą”, opennew Emacs.app p
„związanych z projektem” itp.
Odpowiedzi:
Nie mam dla ciebie kompletnego rozwiązania, ale patrząc na strony podręcznika, myślę, że widzę, jak można je stworzyć.
open (1) udostępnia opcję --args do przekazywania argumentów do wywoływanej aplikacji.
emacs (1) odczyta wartości z pliku .Xresources. Jedną z wartości, które czyta, jest emacs.iconName.
X pozwala wybrać Xresources dla konkretnej aplikacji poprzez ustawienie $ XENVIRONMENT tak, aby zawierała ścieżkę do pliku zawierającego wartości Xresource. Ponadto programy X powinny obsługiwać opcje -name i -title do ustawiania (myślę) nazwy pliku Xresource do załadowania i / lub tytułu instancji aplikacji.
Nie testowałem tego, ale możesz zrobić coś takiego:
Następnie w pliku zasobów pojawia się wiersz z napisem
W innym pliku zasobów ustawisz iconName na ikonę pracy itp.
Jeśli spróbujesz tego, chciałbym wiedzieć, jak to działa.
źródło