Este es un ejemplo específico de un problema genérico para el que aún no he podido encontrar una solución.
Tengo un programa (Android Virtual Device Manager) que lanza 'subprogramas' (es decir, emuladores o dispositivos virtuales) desde dentro (también se puede iniciar desde otro lugar). Quiero que cualquier instancia de CUALQUIERA de estos programas se agrupe bajo el mismo ícono de Unity.
He creado un .desktop
archivo para intentarlo, pero no sé exactamente cómo hacerlo. El archivo de escritorio es el siguiente:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Android Virtual Device
Icon=/home/ben/.icons/android.svg
Exec=/home/ben/usr/bin/android avd
StartupWMClass=Android Virtual Device Manager
Por lo que entiendo, StartupWMClass
es lo que necesito configurar para lograr esto correctamente. He obtenido los dos nombres de clase ('Android Virtual Device Manager' y 'emulator64-arm') usando xprop WM_CLASS
en las ventanas reactivas. Ambos funcionan individualmente (el ícono del iniciador está conectado correctamente al programa sin importar de qué manera se inicie), pero no puedo hacer que funcione para ambos.
Supongo que de alguna manera necesito establecer dos valores, StartupWMClass
pero no he podido hacerlo correctamente (o saber si es una operación válida). Lo he intentado, separados por dos puntos como variables de entorno, separados por comas, comillas, etc. y no puedo encontrar ninguna pista en la documentación oficial .
¿Alguna sugerencia?
EDITAR:
Otro ejemplo más pedante, pero probablemente más identificable es con Matlab
. Estoy ejecutando 2013a y la pantalla de inicio que muestra inicialmente y el programa tiene WM_CLASS
valores completamente diferentes . Esto significa que, cuando hago clic en mi iniciador StartupWMClass=com-mathworks-util-PostVMInit
, la pantalla de bienvenida aparece con un Unity
ícono diferente (desconocido) , mientras que el resto aparece agrupado debajo de mi iniciador.
Al usar xprop WMCLASS
y hacer clic primero en la pantalla de inicio, luego repitiendo con una Matlab
sesión activa obtengo la siguiente salida de terminal:
ben@ben-OptiPlex-9010:~$ xprop WM_CLASS
WM_CLASS(STRING) = "MATLAB", "MATLAB"
ben@ben-OptiPlex-9010:~$ xprop WM_CLASS
WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "com-mathworks-util-PostVMInit"
Si pudiera especificar algo en la línea de:
StartupWMClass=com-mathworks-util-PostVMInit&&MATLAB
Eso funcionaría perfectamente (ya que ambos funcionan por separado) pero no tengo idea de la sintaxis, si es que existe. Solo sé que nada de lo que he intentado ha funcionado hasta ahora.
Cualquier ayuda o una respuesta definitiva de cualquier manera sería genial, ya que creo que este es un elemento bastante fundamental para un escritorio que funcione bien.
Drawers
ese enlace y, por lo que muestran, simplemente agrupa los enlaces, cuando haces clic en cualquier elemento secundario, todavía se crea con su propio icono en el Unity
iniciador, que es lo que estoy tratando de detener