22

Como usuario de dos monitores en el trabajo, he notado que las aplicaciones se comportan de manera diferente con respecto a qué monitor abren (monitor principal o secundario, el último monitor en el que se abrió la aplicación, y así sucesivamente). Para ser sincero, algunas aplicaciones me molestan porque quiero que se abran en mi monitor principal y las moveré a mi secundario si las quiero allí. Sin embargo, estas aplicaciones están hechas y fuera de mi control, por lo que quiero preguntar sobre mis propias aplicaciones que pueden ser ejecutadas por personas que usan dos monitores.¿Cómo controlas en qué monitor se abre la aplicación?

Qué tipos de controles hay disponibles para permitir que las personas especifiquen en qué monitor se abre la aplicación, permitir que una aplicación "recuerde" el monitor cuando estaba cerrado y vuelva a abrir allí, y forzar el inicio de la aplicación en un monitor específico?

Estoy buscando soluciones en todos los sistemas operativos y lenguajes de programación, aunque supongo que diferentes sistemas operativos e idiomas tendrán diferentes controles.

preguntas relacionadas

  • What determines the monitor my app runs on? Esta pregunta se analizan las aplicaciones existentes y cómo deciden qué vigilar que se ejecuta. La respuesta actualmente aceptada proporciona funciones de Windows que se pueden usar para controlar el posicionamiento de una aplicación en la puesta en marcha.
  • Start program on second monitor? proporciona algunas soluciones Delphi para forzar el inicio de una aplicación en un monitor en particular.
+0

Identifiqué dos preguntas similares que están orientadas a Windows. Sin embargo, me interesan los conceptos generales de usabilidad sobre cómo determinar dónde iniciar la aplicación y las soluciones multiplataforma (o cualquier otra que no sea de Windows) para el problema. –

Respuesta

9

Como programador de ventanas, controlo el monitor inicial de las ventanas creadas por mis aplicaciones por a. almacenando la última posición de mis aplicaciones en el registro y restaurando eso, y b. sin información almacenada, estableciendo la posición inicial de los valores de indicador mágico que usa Windows para posicionar la aplicación usando su lógica predeterminada. La lógica predeterminada cambia de sistema operativo a sistema operativo, ya que MS mejora la experiencia del usuario, pero tiende a garantizar que la aplicación se abra en el monitor que el usuario tenga más probabilidades de mirar.

Como usuario con un sistema Windows XP/Vista de múltiples monitores, utilizaría el administrador de escritorio nVidia que tiene la capacidad de establecer posiciones de inicio para las aplicaciones, de lo contrario no tiene el comportamiento adecuado.

+0

Vi comentarios en las otras preguntas sobre el registro. Parece que es un lugar común, pero no estoy seguro si el registro es apropiado para eso. Pero parece ser una práctica común, por lo que es algo a considerar. –

+0

El registro, o un archivo tipo .ini o .config. –

+1

Estaba teniendo un problema similar con RSA SecureID en Windows 7. Cuando cambié la configuración de mi monitor, la aplicación se abriría en un monitor inexistente hasta que borre las configuraciones xpos e ypos en hkcu \ software \ rsa \ software token \ desktop . Gracias por el consejo. – ewilan

2

Desde la perspectiva tradicional del administrador de ventanas de Unix y Linux, no tiene control. El administrador de ventanas maneja el posicionamiento de la ventana.

Es posible que pueda dar pistas al administrador de ventanas, pero debería ser posible configurar el administrador de ventanas para ignorar tales cosas. Mover o colocar la ventana del programa fácilmente puede causar dolor cuando un gran escritorio virtual está en uso.

Ver: http://standards.freedesktop.org/wm-spec/wm-spec-latest.html

+0

¿No hay forma de decirle o sugerirle al administrador de ventanas dónde o cómo abrir su aplicación? Nunca antes había hecho programación de GUI en Unix o Linux. –

+0

Agregué algo sobre las sugerencias del administrador de ventanas. – iny

2

Una cosa a considerar es que la configuración del monitor podría haber cambiado entre medio de invocaciones de la aplicación (por ejemplo, que se ejecuta en un ordenador portátil que a veces podría ser acoplado y utiliza un monitor externo). Asegúrese de que su aplicación esté en el rango visible.

En cuanto a las API, existe la clase System.Windows.Forms.Screen que le proporciona parte de esa información.

-1

Tuve un problema similar. Encontrado lo siguiente:

Derecha Haga clic en la barra de título de la ventana y seleccione "Más acciones" -> "Configuración del Administrador de ventanas". Elija "Enfocar" en la columna a la izquierda. Opción de alternar "La pantalla activa sigue al mouse".

Si no se especifican otros valores predeterminados, las ventanas aparecen en la pantalla actualmente activa. Con el procedimiento descrito anteriormente, la posición del mouse define esta pantalla activa.

Espero que ayude,

mejor, Bb

0

En KDE 4.13.3 (mayby ​​en algunos olders y newers usted puede hacer esto (traducción puede ser inacurrate - Yo uso la versión de uñas):

  1. ejecutar el programa deseado
  2. haga clic derecho en la barra de título
  3. elegir "más acciones" -> "configuración de la ventana adicionales ..." (aún más opciones están bajo "una ajustes adicionales Se programa ... ")
  4. ir a la pestaña 'tamaño & diseño' casilla de verificación
  5. Marca 'pantalla' y elegir la opción 'Fuerza' y elija el número de pantalla. La ventana de este programa se abrirá siempre en esa pantalla.
Cuestiones relacionadas