Hola. Me gustaría ver un comando que pudiera mover una ventana en relación con el tamaño de visualización. Es decir, si quiero mover una ventana al centro de mi pantalla, el comando podría verse así:
win << Move Window Relative(0.5, 0.5)
Si el usuario tiene varias pantallas, el comando asumirá que se está utilizando la pantalla actual.
Actualmente, si quiero que mi script centre una ventana:
1. Cree una ventana ficticia que se suponga que es más grande que cualquier pantalla (10k x 10k).
2. Obtenga el tamaño real de la ventana resultante. Se supone que este es el tamaño de la pantalla del usuario.
3. Cierre esta ventana.
4. Ahora cree la ventana deseada y obtenga su tamaño.
5. Calcule las coordenadas de la esquina superior izquierda de la nueva ventana deseada utilizando el tamaño de visualización y el tamaño de la ventana.
6. Mueva la nueva ventana usando el comando << Mover ventana.
Creo que ayuda a mejorar las experiencias de los usuarios con las herramientas que estoy desarrollando si mis ventanas siempre aparecen en el mismo lugar cuando las usan, en lugar de cambiar de ubicación cada vez. Sin embargo, no poder predecir los tamaños de visualización de los usuarios requiere seguir los pasos anteriores.
Hola @nikles , ¡Gracias por su sugerencia! Hemos capturado su solicitud y la tomaremos en consideración.
@nikles, esa es una forma inteligente de obtener el tamaño de la pantalla. Solo agregaría a esto que sería bueno tener un comando para conocer el tamaño de la pantalla y también que puede resultar complicado si el usuario tiene más de una pantalla. La capacidad de aprender la información relevante sobre cualquier pantalla y usarla para localizar una ventana sería excelente.
@hardner ¡ Gracias! Descubrí que mi método encuentra el tamaño de la pantalla en la que se abrió inicialmente JMP. Entonces, si el usuario tiene varias pantallas (como yo) y mueve las ventanas a la otra pantalla, mi método aún asume la pantalla original. Esto es una molestia, pero manejable. Sí, estoy de acuerdo en que sería bueno tener un comando integrado para hacer esto automáticamente.