Aquí hay algo que apesta:
Me gustaría reemplazar el paso 2 con "la computadora recuerda exactamente cómo lo tenía y simplemente lo vuelve a poner de esa manera".
(Personalmente, solo necesito una solución para Mac, pero recopilar soluciones para otros sistemas aquí podría ser útil para otros. Estoy seguro de que es un problema común).
Slate es una aplicación gratuita para Mac muy poderosaque hace exactamente lo que quieres. Cuando conecta su monitor secundario, detecta automáticamente el nuevo monitor , y todas sus ventanas se moverán y cambiarán de tamaño tal como le gusta. Puede definir posiciones y tamaños personalizados para todas sus aplicaciones, incluidas pantalla completa, media pantalla y cuadrícula.
Una de las mejores cosas de Slate es que puede definir diferentes diseños según la cantidad de monitores que haya conectado . Por ejemplo, si está usando su computadora portátil sola, es posible que desee que todas sus aplicaciones llenen toda la pantalla. Pero cuando tiene un monitor secundario más grande, es posible que desee dividir su pantalla entre su navegador, correo y música. Slate hace esto fácilmente.
También puede definir métodos abreviados de teclado para diseños y acciones específicos, como empujar y cambiar el tamaño de las ventanas en un porcentaje determinado.
A continuación se muestra mi archivo de configuración. Mantengo todas mis aplicaciones en pantalla completa en todos mis monitores, pero puedes cambiarlo para que sean de la mitad o de otro tamaño:
# Monitor Aliases
alias mon-laptop 0 # variable for my laptop monitor
alias mon-hp 1 # my external HP monitor
# Window Position Regions
alias hp-full move screenOriginX;screenOriginY screenSizeX;screenSizeY ${mon-hp}
alias hp-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-hp}
alias hp-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-hp}
alias laptop-full move screenOriginX;screenOriginY screenSizeX;screenSizeY ${mon-laptop}
alias laptop-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-laptop}
alias laptop-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-laptop}
alias laptop-righttop move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2 ${mon-laptop}
alias laptop-rightbottom move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 ${mon-laptop}
# Window layouts for when I have 2 monitors
layout 2monitor 'Google Chrome':REPEAT ${hp-full}
layout 2monitor 'iCal':REPEAT ${hp-full}
layout 2monitor 'Coda':REPEAT ${hp-full}
layout 2monitor 'Mail':REPEAT ${laptop-full}
layout 2monitor 'Rdio':REPEAT ${laptop-full}
layout 2monitor 'Spotify':REPEAT ${laptop-full}
layout 2monitor 'Evernote':REPEAT ${laptop-full}
# Single monitor window layouts
layout 1monitor 'Google Chrome':REPEAT ${laptop-full}
layout 1monitor 'iCal':REPEAT ${laptop-full}
layout 1monitor 'Coda':REPEAT ${laptop-full}
layout 1monitor 'Mail':REPEAT ${laptop-full}
layout 1monitor 'Rdio':REPEAT ${laptop-full}
layout 1monitor 'Spotify':REPEAT ${laptop-full}
layout 1monitor 'Evernote':REPEAT ${laptop-full}
# Keyboard shortcuts for each layout
bind l:shift;ctrl layout 2monitor
bind g:shift;ctrl grid padding:5 0:2,1 1:2,2
# Auto-detect when a monitor is plugged in or out
default 2monitor count:2
default 1monitor count:1
Aquí está la lista de características de la página GitHub de Slate:
Aquí hay un excelente tutorial sobre cómo aprovechar al máximo Slate.
default
directiva . No sé si puede automatizar la parte "Tomar instantánea".He resuelto esto con un pequeño AppleScript y la pequeña utilidad gratuita Quicksilver.
Guarde este pequeño AppleScript en una ubicación que no cambiará en su computadora:
try
tell application "Adium"
activate
tell window "contacts"
set the bounds to {1281, 200, 1460, 850}
end tell
tell chat windows
set the bounds to {1281, 800, 1800, 1200}
end tell
end tell
end try
try
tell application "iTunes"
activate
set the bounds of the first window to {1750, 520, 2700, 1150}
end tell
end try
try
tell application "Terminal"
activate
set the bounds of the first window to {2450, 320, 3180, 950}
end tell
end try
try
tell application "Firefox"
activate
set the bounds of the first window to {1460, 20, 2800, 950}
end tell
end try
Deberá personalizar qué aplicaciones desea en su monitor y los límites de la ventana de la forma que desee. Soy programador y la configuración anterior es cómo ejecuto mi segundo monitor.
Instala Quicksilver .
Elegí que no fuera visible en el Dock y simplemente lo ejecuté como un pequeño demonio de la barra de tareas.
Configure un comando de teclado en Quicksilver y arrastre y suelte su AppleScript del paso 1 en la ventana como la acción a realizar. Lo vinculé a CommandShiftA. ¡Funciona genial!
Pongo esto aquí para la posteridad. Una aplicación muy pequeña que hace exactamente eso y nada más: Memmon (macOS 10.10+).
Acabo de seguir http://cordlessdog.com/stay/ , funciona muy bien para mí, aunque con un poco de retraso
Una vez que haya permanecido instalado en su Mac, puede iniciarlo y almacenar las ventanas como desee. Entonces, cada vez que desconecte sus pantallas y vuelva a conectarse, tendrá todas las ventanas restauradas.
Es posible que deba agregar Stay como su aplicación de inicio, ya que tendrá que iniciarla cada vez que reinicie su Mac.
Lo arreglé sin ninguna aplicación externa.
Todo lo que tiene que hacer es asegurarse de que su computadora portátil sea "Escritorio 1" y su Monitor externo "Escritorio 2"
puede hacer esto moviendo la barra de menú blanca a la pantalla de la computadora portátil en preferencias del sistema> Pantallas> Disposición
Antes de desconectar el monitor, cierre todo lo que no esté completamente en el monitor principal. Las aplicaciones generalmente guardan su estado (incluida la ubicación de la ventana) cuando se cierran y lo leen cuando se abren, por lo que si el segundo monitor está presente en ambos momentos, debería estar bien.
Puede aprovechar las aplicaciones que permiten abrir más de una instancia a la vez, pero solo guardan el estado al cerrar. Cierre la instancia de varios monitores (lo que hace que se guarde el estado). Desconecte el segundo monitor. Si tiene una segunda instancia ejecutándose, debe reubicarse en el monitor principal o puede iniciar otra instancia. No cierre esta instancia antes de volver a enchufar el segundo monitor e iniciar otra instancia (que luego leería la configuración de varios monitores al inicio). Luego puede salir de la instancia de un solo monitor (guardando ese estado) y luego la instancia de varios monitores (sobrescribiendo el estado de un solo monitor).
Una opción más compleja podría incluir averiguar dónde se guarda el estado, hacer una copia de seguridad y escribir un archivo/secuencia de comandos por lotes para restaurarlo antes de abrir la aplicación, lo que le permitiría crear un enlace para hacer esto automáticamente cuando inicie la aplicación. .
Finalmente, puede haber una utilidad de este tipo para su plataforma, o escribir una puede no ser demasiado complejo. Para Windows, hay un programa llamado ShiftWindow que puede cambiar la posición de las ventanas al iniciar la aplicación o en una determinada tecla de acceso directo. Me temo que no conozco MacOS lo suficientemente bien como para decir si existe una utilidad similar. Esta es probablemente la solución ideal, después de que el sistema operativo admita tal cosa directamente.
En Reddit , algunos usuarios sugirieron Display Maid . Lo estoy usando en MB Air (M1) conectado a la base Display Link con un monitor 4K y un monitor Full HD conectado a través de TB y hasta ahora es excelente.
Encontré una respuesta en macrumors que funciona para mí sin necesidad de otro software.
Preferences
-> General
-> DesmarcarClose windows when quitting an app
La descripción de lo que está haciendo esta configuración tiene sentido:
Cuando se selecciona, los documentos abiertos y las ventanas no se restaurarán cuando vuelva a abrir una aplicación
No sé por qué desconectar y conectar una pantalla cuenta como "reabrir una aplicación", pero funcionó para mí.
Al menos en Windows, muchas aplicaciones se restaurarán solas si las maximiza antes de cambiar de monitor. Déjelos solos mientras está en la reunión, luego restáurelos después de volver a conectarse.
Todavía es una solución incompleta (y una molestia), pero es lo único que sé hacer si quiero tener alguna posibilidad de resucitar mis ventanas cuidadosamente colocadas. Aunque ShiftWindow suena intrigante...
Y si pasa de dos monitores a uno, Alt+Barra espaciadora+M, entonces las teclas de flecha son un salvavidas (Windows de nuevo, lo siento) si "pierde" sus ventanas.
http://www.softwareirradiado.com/twoup/index.html
Encontré esto a través de Lifehacker, y funciona muy bien para mí. Estoy usando la versión pro SizeUp en lugar de la TwoUp gratuita, y es perfecta.
Soy usuario de Windows y buscaba cómo desactivar la nueva función de Windows 7 para alejar todas las ventanas del monitor externo desenchufado. Encontré el recibo (para tarjetas de video ATI) para configurar todos los valores DMMEnableDDCPolling en el registro a 0. Deshabilita la verificación automática si el monitor está apagado. Ahora, si el monitor se desenchufa y se vuelve a enchufar, todas las ventanas se mantienen en la misma posición.
Aquí está la respuesta que me ayudó: https://superuser.com/questions/120983/how-to-disable-monitor-auto-detection-in-windows-7 (respuesta de Alex)
Desenchufe y enchufe los monitores en el mismo orden.
Secuencia de desconexión: Monitor1 -> Monitor2 Secuencia de conexión: Monitor2 -> Monitor1
vestidos
tony arnold
vasco
Ernesto Roberto