La aplicación iniciada no permanece en el mismo escritorio

7

¿Por qué esa aplicación con un largo tiempo de carga (NetBeans, Eclipse, etc.) hace un "salto" al escritorio actual, incluso si el proceso se inició en otro?

Si voy al escritorio 3 e inicio una aplicación y luego voy al escritorio 2 mientras espero, cuando la aplicación se haya cargado, se iniciará en el escritorio 2. ¿Hay alguna forma de cambiar esto?

Anders Metnik
fuente
2
Siempre tuve el mismo problema en Ubuntu y Mac OS X. Intenté y no pude encontrar una buena respuesta. Estoy convencido de que no hay ninguno, pero espero que alguien demuestre que estoy equivocado.
Hassan
Depende de su administrador de ventanas, puede configurar grupos para iniciar ciertas aplicaciones en ciertos escritorios predefinidos. Otra forma es usar xnest o xephyr para ejecutar un segundo servidor X anidado en 1+ de sus escritorios. Luego ejecútelo con DISPLAY =: 1 command args ... y use el argumento -display si el comando tiene uno, pero generalmente es suficiente para exportar DISPLAY. Además, si tiene varios monitores (pantallas Xinerama) puede usar: 0.0 o: 0.1. ¿Puedes dar un poco más de detalle?
technosaurus
Estoy ejecutando un Ubuntu estándar 12.04. No sé mucho sobre windowmanager o tbh. mi conocimiento sobre Linux también es muy limitado, pero estoy aprendiendo :) (es mi nuevo entorno de trabajo ;-))
Anders Metnik

Respuestas:

5

Este es un problema bastante complicado.

Se supone que el Administrador de ventanas (WM), quien habría adivinado, administra las ventanas. Esto incluye, pero no se limita a su posición, dimensiones, escritorio y si reciben decoración o no. Lo que no forma parte de WM es lanzar aplicaciones de ninguna manera, solo verá y administrará las ventanas que generará ese proceso. ¿Así que lo que sucede?

  • Cambiar al escritorio 2
  • Lanzar NetBeans
    • La pantalla de bienvenida se crea como una ventana sin decoraciones en el escritorio 2
  • Cambiar al escritorio 3
    • NetBeans-Splash-Screen permanece en el escritorio 2
  • NetBeans está hecho y finalmente crea la ventana principal, que por supuesto se envía al escritorio actual, ya que es una ventana completamente nueva.

El problema en este caso es que el Administrador de ventanas desconoce por completo (o ignora, no está seguro) a quién pertenece esa ventana. Hay dos posibilidades:

Encuentra un administrador de ventanas que ...

  1. ... admite la agrupación de ventanas por su proceso padre
  2. ... le permite definir reglas para cada ventana

O puede obtener una aplicación auxiliar como Devil's Pie que permite definir reglas de ventana.

Poli
fuente
¿Eso funciona para Ubuntu 12.04? :)
Anders Metnik
2

Si usa compiz (sí, incluso puede usar 12.04;)), podría intentar instalar el compizconfig-settings-managery luego ir al Place Windowssubmenú para agregar un nuevo Fixed Window tabdonde seleccionará la clase (nombre) de su aplicación y el escritorio.

De lo contrario, podría usar wmctrl que le permitirá iniciar sus aplicaciones y obligarlas a ir a uno de su escritorio.

Cédric Julien
fuente
+1 para wmctrl es una solución portátil en todos los sabores.
invertir