Establecer un icono de acoplamiento personalizado para una instancia de aplicación a través de Terminal

5

Con frecuencia, abro múltiples instancias de aplicaciones, especialmente Emacs, ya que puedo estar trabajando en diferentes proyectos al mismo tiempo, y creo que esta es la mejor manera de gestionar esto (sí, sé que hay muchos proyectos de administración de proyectos. extensiones para Emacs, no necesito que me enseñen en Emacs).

Estoy haciendo esto con open -n -a Emacs.app que abre una nueva instancia de Emacs por separado. Pero sería muy bueno establecer un icono de base personalizado para las instancias abiertas, por lo que puedo diferenciarlos fácilmente cuando hago Cmd + Tab.

¿Conoce algún truco o forma de configurar un ícono de Aplicación (Dock) personalizado para una instancia? Incluso si es un comando de shell bastante complejo (podría crear un shellscript para esto).

Lo que realmente quiero lograr es crear un shellscript para esto, de modo que pueda llamar a opennew Emacs.app x y luego se bifurque el ícono de Emacs y se agregue una insignia con una x .

Luego puedo llamar a opennew Emacs.app s para "relacionado con la escuela", opennew Emacs.app p para "relacionado con el proyecto", etc.

    
pregunta Knuto 04.04.2014 - 10:53

1 respuesta

1

No tengo una solución completa para ti, pero al mirar las páginas del manual, creo que veo cómo se puede diseñar una.

  • open (1) proporciona la opción --args para pasar argumentos a la aplicación invocada.

  • emacs (1) leerá los valores de un archivo .Xresources. Uno de los valores que lee es emacs.iconName.

  • X le permite seleccionar Xresources para una aplicación específica configurando $ XENVIRONMENT para que contenga la ruta de un archivo que contenga valores de Xresource. Además, se supone que los programas X son compatibles con las opciones -name y -title para configurar (creo) el nombre de un archivo Xresource para cargar y / o el título de la instancia de la aplicación.

Por lo tanto, no he probado esto, pero es posible que puedas hacer algo como:

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

Luego, en el archivo de recursos, una línea que dice

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

En otro archivo de recursos, habrías establecido iconName en un icono de trabajo, etc.

Si lo intentas, me interesaría saber cómo funciona.

    
respondido por el Tom Barron 23.04.2014 - 01:33

Lea otras preguntas en las etiquetas