Imposta un'icona dock personalizzata per un'istanza dell'applicazione tramite Terminale

5

Sto spesso aprendo più istanze di applicazioni, in particolare Emacs, poiché potrei lavorare su diversi progetti contemporaneamente e trovo questo il modo migliore per gestirlo (sì, so che ci sono molti progetti di gestione estensioni per Emacs, non ho bisogno di essere insegnato in Emacs.

Lo sto facendo con open -n -a Emacs.app che apre una nuova istanza di Emacs separata. Ma sarebbe davvero bello impostare un'icona dock personalizzata per le istanze aperte, così posso facilmente distinguerle quando faccio Cmd + Tab.

Conosci qualche trucco o modo per impostare un'icona di applicazione (Dock) personalizzata per un'istanza? Anche se è un comando di shell piuttosto complesso (potrei quindi creare uno shellscript per questo).

Ciò che voglio davvero raggiungere è creare uno shellscript per questo, così posso chiamare opennew Emacs.app x e poi forchetta l'icona di Emacs e aggiungo un badge con un x in esso.

Quindi posso chiamare opennew Emacs.app s per "scuola correlata", opennew Emacs.app p per "progetto correlato" ecc.

    
posta Knuto 04.04.2014 - 10:53
fonte

1 risposta

1

Non ho una soluzione completa per te, ma guardando attraverso le pagine man, penso di vedere come si potrebbe creare uno.

  • open (1) fornisce l'opzione --args per il passaggio degli argomenti all'applicazione richiamata.

  • emacs (1) leggerà i valori da un file .Xresources. Uno dei valori letti è emacs.iconName.

  • X consente di selezionare Xrisorse per un'app specifica impostando $ XENVIRONMENT per contenere il percorso di un file contenente i valori Xresource. Inoltre, i programmi X supporteranno le opzioni -name e -title per l'impostazione (credo) del nome di un file Xresource da caricare e / o del titolo dell'istanza dell'applicazione.

Quindi non ho provato questo, ma potresti essere in grado di fare qualcosa del tipo:

open -n -a Emacs.app --args "-name <resource-file-path> -title school"

Quindi, nel file di risorse, una riga che dice

emacs.iconName:<path-to-school-icon-file>

In un altro file di risorse, avresti iconName impostato su un'icona di lavoro, ecc.

Se ci provi, sarei interessato a sapere come funziona.

    
risposta data 23.04.2014 - 01:33
fonte

Leggi altre domande sui tag