151 votos

Recordar tamaños y ubicación de la ventana al desconectar y volver a conectar el segundo monitor

Aquí hay algo que es molesto:

  1. Conecta un monitor externo a la computadora portátil (en mi caso, Mac OS X Leopard).
  2. Organiza tus ventanas para tener el IDE en una pantalla y el navegador en otra. (etc, etc. Redimensionar, reorganizar, darle vueltas, darle vueltas.)
  3. Desconecta el monitor para ir a una reunión, o lo que sea.
  4. Regresa al paso 1.

Me gustaría reemplazar el paso 2 con "la computadora recuerda exactamente cómo lo tenía y simplemente lo vuelve a colocar 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 segura de que es un problema común.)

70voto

Tony Arnold Puntos 706

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

3 votos

He intentado esto. No funciona para ventanas X11 pero por lo demás parece ser como se anunció. ¡Gracias por el indicador! Puede ser que esto sea lo más cercano que tenemos a una solución para Mac en este momento.

0 votos

Las ventanas X11 no son instancias "reales" de NSWindow (al menos no lo eran la última vez que lo comprobé) así que no es una gran sorpresa que Stay no quiera tener nada que ver con ellas :) ¡Me alegro de que todo haya salido bien!

1 votos

Esto se ve bien, pero no funciona con aplicaciones en pantalla completa en Lion. Tengo Safari en modo de pantalla completa cuando tengo 1 pantalla y después de conectar la 2da pantalla, quiero salir de pantalla completa y mover Safari a la segunda pantalla. El Stay no mueve ninguna aplicación en pantalla completa.

24voto

Alex Volkov Puntos 306

Slate es una aplicación de Mac gratuita muy potente que hace exactamente lo que deseas. Cuando conectas tu monitor secundario, detecta automáticamente el nuevo monitor, y todas tus ventanas se moverán y redimensionarán exactamente como te gusta. Puedes definir posiciones y tamaños personalizados para todas tus aplicaciones, incluyendo pantalla completa, media pantalla y basada en cuadrícula.

Una de las cosas más geniales de Slate es que puedes definir diferentes diseños según cuántos monitores tengas conectados. Por ejemplo, si estás usando tu laptop solo, es posible que desees que todas tus aplicaciones ocupen toda la pantalla. Pero cuando tienes un monitor secundario más grande, es probable que desees dividir tu pantalla entre tu navegador, correo y música. Slate hace esto fácilmente.

También puedes definir atajos de teclado para diseños específicos y acciones como mover y redimensionar ventanas por un cierto porcentaje.

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 estén a media pantalla u otro tamaño:

# Monitor Aliases
alias mon-laptop    0    # variable para mi monitor de laptop
alias mon-hp        1    # mi monitor HP externo

# 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
  • Asocio de teclas para:
    • mover y/o redimensionar ventanas
    • enfocar ventanas en dirección
    • activar diseños preestablecidos
    • crear, eliminar y activar instantáneas del estado actual de las ventanas
  • Establecer diseños predeterminados para diferentes configuraciones de monitor que se activarán cuando se detecte esa configuración.
  • Pistas 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 gran tutorial sobre cómo sacarle el máximo provecho a Slate.

0 votos

¿Puede recordar cómo estaban posicionadas las ventanas desde la última vez que se conectaron monitores externos y simplemente restaurarlas? La aplicación "Stay" casi hace esto, pero sigue fallando al recordar las ventanas (especialmente Chrome), así que sigo buscando algo mejor.

0 votos

@dreeves Sí, funciona para mí. Acabo de hacerlo manualmente con éxito, usando los elementos del menú de Slate "Tomar instantánea" y "Activar instantánea"; si haces clic en ellos antes y después de poner tu computadora en suspensión, guardarás y restaurarás todas las posiciones de las ventanas. Desde la documentación, parece que Slate puede hacer "Activar instantánea" automáticamente con su directiva predeterminada. No sé si puedes automatizar la parte de "Tomar instantánea".

2 votos

Quiero señalar que para el caso de uso de los OPs, simplemente pueden hacer clic en guardar instantánea y restaurar instantánea en el menú. Si solo se desea una configuración de ventana, debería funcionar bien sin necesidad de modificar nada más.

10voto

lupdidup Puntos 1

Poniendo esto aquí para la posteridad. Una aplicación muy pequeña que hace exactamente eso y nada más: Memmon (macOS 10.10+).

2 votos

Gracias. Esta debería ser la respuesta aceptada.

1 votos

Esta es, POR MUCHO, la mejor solución moderna. Gratuita y sencilla. Ve y dale algunas estrellas en Github.

1 votos

Estoy de acuerdo, Memmon es la mejor opción: simplemente funciona, es simple, de código abierto y gratuito.

8voto

He resuelto esto con un pequeño AppleScript y la pequeña utilidad freeware Quicksilver.

  1. Guarde este pequeño AppleScript 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

`* Necesitará personalizar qué aplicaciones desea en su monitor y configurar los límites de las ventanas como prefiera. Soy programador y la configuración anterior es cómo ejecuto mi segundo monitor.

  • Instale Quicksilver.

    Elegí hacerlo no visible en el Dock, y simplemente funcionar como un pequeño demonio en la barra de tareas

  • Configure un comando clave en Quicksilver, y arrastre y suelte su AppleScript del paso 1 en la ventana como la acción a realizar. Lo asocié a CommandShiftA. ¡Funciona genial! `

6 votos

No especialmente escalable si tienes un buen número de aplicaciones para gestionar. ¡Tampoco es fácil de gestionar! Codificar límites de forma fija realmente no es divertido.

0 votos

¿Puedes establecer el escritorio en el que aparece la aplicación?

0 votos

El enlace está muerto, encontré una aplicación similar con el mismo nombre aquí.

4voto

tux0redup Puntos 116

Arreglé esto sin utilizar ninguna aplicación externa.

Lo único que tienes que hacer es asegurarte de que tu laptop sea "Escritorio 1" y tu monitor externo "Escritorio 2"

Puedes hacer esto moviendo la barra de menú blanca a la pantalla del laptop en preferencias del sistema > Pantallas > Disposición

0 votos

Lamentablemente, esto ya no parece ser el caso a partir de 10.13 (High Sierra).

0 votos

Esto funciona muy bien en macOS Monterey v12.1... las etiquetas son un poco diferentes... úsalas como "Pantalla principal" y "Extendida"... funciona muy bien. ¡Gracias!

0 votos

Estaba preguntándome por qué nunca tuve este problema, a lo largo de 10 años de MacBooks/ pantallas/ sistemas operativos. Esto lo explica.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X