Recuerde los tamaños de las ventanas y la ubicación al desconectar y volver a conectar el segundo monitor

91

Aquí hay algo que apesta:

  1. Conecte el monitor externo a la computadora portátil (Mac OS X Leopard en mi caso).
  2. Organice sus ventanas para tener el IDE en una pantalla y el navegador en otra. (Etc, etc. Redimensionar, reorganizar, alboroto, alboroto, alboroto.)
  3. Desenchufe el monitor para ejecutarlo en una reunión, o lo que sea.
  4. Goto 1.

Me gustaría reemplazar el paso 2 con "la computadora recuerda exactamente cómo la tenía y la 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).

    
pregunta dreeves 10.02.2009 - 19:36

8 respuestas

51

Echa un vistazo a Stay de Cordless Dog. Creo que hace exactamente lo que estás buscando.

    
respondido por el Tony Arnold 31.10.2010 - 12:04
13

Slate es una muy poderosa aplicación gratuita para Mac que funciona exactamente Lo que quieras. Cuando conecte su monitor secundario, detectará automáticamente el nuevo monitor , y todas las ventanas se moverán y cambiarán de tamaño de la forma que desee. Puede definir posiciones y tamaños personalizados para todas sus aplicaciones, incluida la pantalla completa, la media pantalla y la 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á utilizando su computadora portátil por sí sola, es posible que desee que todas sus aplicaciones llenen toda la pantalla. Pero cuando tiene un monitor secundario más grande, puede dividir su pantalla entre su navegador, correo y música. La pizarra 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 determinado porcentaje.

Debajo está mi archivo de configuración. Mantengo todas mis aplicaciones a pantalla completa en todos mis monitores, pero puedes cambiarlas 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 de GitHub de Slate:

  • Altamente personalizable
  • Enlazar pulsaciones de teclas para:
    • mover y / o cambiar el tamaño de las ventanas
    • enfocar direccionalmente las ventanas
    • activar diseños preestablecidos
    • crear, eliminar y activar instantáneas del estado actual de windows
  • Establezca diseños predeterminados para diferentes configuraciones de monitores que se activarán cuando se detecte esa configuración.
  • Sugerencias de ventana: una forma intuitiva de cambiar el enfoque de la ventana
  • [Beta] Un conmutador de aplicaciones mejor y más personalizable.

Aquí hay un excelente tutorial sobre cómo sacar el máximo provecho de Slate.

    
respondido por el Ben 29.07.2014 - 22:04
8

Resolví esto con un pequeño AppleScript y la pequeña utilidad de software gratuito Quicksilver.

  1. Guarde este AppleScript pequeño en una ubicación que no cambie 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
    
  2. Deberá personalizar las aplicaciones que desea en su monitor y la ventana limita la forma en que lo desea. Soy programador y la configuración anterior es la forma en que ejecuto mi segundo monitor.

  3. Instala Quicksilver .

    Elegí hacer que no se vea en el Dock, y simplemente ejecutarlo como un pequeño demonio de la barra de tareas

  4. Configure un comando de teclado en Quicksilver, y arrastre y suelte su AppleScript desde el paso 1 en la ventana como la acción a realizar. Lo limité a Command Shift A . Funciona muy bien!

respondido por el Shawn 31.01.2012 - 18:32
3

Antes de desconectar el monitor, cierre todo lo que no esté completamente en el monitor principal. Las aplicaciones generalmente guardan su estado (incluida la colocación de la ventana) cuando se cierran y lo leen cuando se abren, por lo que si el segundo monitor está presente en esos dos momentos, debería estar bien.

Puede aprovechar las aplicaciones que permiten abrir más de una instancia a la vez, pero solo guardar el estado al cerrar. Cierre la instancia de varios monitores (lo que hace que se guarde el estado). Desenchufe el segundo monitor. Si tiene una segunda instancia en ejecución, debe volver a colocarla en el monitor principal, o puede iniciar otra instancia. No cierre esta instancia antes de volver a conectar el segundo monitor e iniciar otra instancia (que luego leerá la configuración de varios monitores en el inicio). Luego puede salir de la instancia de un solo monitor (guardar ese estado), y luego la instancia de múltiples monitores (sobrescribir 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 / script por lotes para restaurarlo antes de abrir la aplicación, lo que le permitiría crear un enlace para hacerlo automáticamente cuando iniciar la aplicación.

Finalmente, puede haber una utilidad de este tipo para su plataforma, o escribir una puede no ser demasiado compleja. Para Windows, hay un programa llamado ShiftWindow que puede reposicionar las ventanas en el inicio de la aplicación o en una determinada tecla de acceso rápido. Me temo que no conozco a MacOS lo suficiente como para decir si existe una utilidad similar. Probablemente, esta sea la solución ideal, en segundo lugar solo para que el sistema operativo sea compatible directamente con tal cosa.

    
respondido por el Jason Owen 13.02.2009 - 10:47
2

enlace

Encontré esto a través de Lifehacker, y funciona muy bien para mí. Estoy usando la versión pro SizeUp en lugar de la versión gratuita TwoUp, y es perfecta.

    
respondido por el Christopher 21.07.2009 - 23:45
2

Acabo de seguir enlace , funciona muy bien para mí, con un poco de retraso

Una vez que haya permanecido instalado en su mac, puede iniciarlo y almacenar las ventanas como desee. Así que cada vez que desconecte sus pantallas y vuelva a conectarse, tendrá todas las ventanas restauradas.

Es posible que tengas que agregar permanecer como tu aplicación de inicio, ya que tendrás que iniciarlo cada vez que reinicies tu mac.

    
respondido por el kvm006 28.02.2015 - 01:04
1

Al menos en Windows, muchas aplicaciones se restaurarán si las maximiza antes de cambiar de monitor. Déjelos en paz mientras está en la reunión, luego recupérelos después de reconectarse.

Todavía es una solución incompleta (y una molestia) pero es lo único que sé si quiero tener alguna oportunidad de resucitar mis ventanas cuidadosamente colocadas. ShiftWindow suena intrigante aunque ...

Y si pasas de dos monitores a uno, Alt + Barra espaciadora + M, entonces las teclas de flecha son un salvavidas (nuevamente Windows, lo siento) si "pierdes" tus ventanas.

    
respondido por el rshdev 15.02.2009 - 23:01
1

Soy un usuario de Windows y buscaba cómo apagar 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 de DMMEnableDDCPolling en el registro en 0. Desactiva la verificación automática si el monitor está apagado. Ahora, si el monitor se desconecta y se vuelve a enchufar, todas las ventanas se mantienen en la misma posición.

Aquí está la respuesta que me ayudó: enlace (respuesta por Alex)

    
respondido por el Vladson 23.08.2010 - 20:46

Lea otras preguntas en las etiquetas