Ricorda le dimensioni e il posizionamento della finestra quando scolleghi e ricolleghi il secondo monitor

91

Ecco qualcosa che fa schifo:

  1. Collega il monitor esterno al laptop (Mac OS X Leopard nel mio caso).
  2. Disporre le finestre per avere l'IDE su uno schermo e il browser su un altro. (Ecc. Ecc. Ridimensiona, riorganizza, agitarsi, agitarsi, fare confusione.)
  3. Scollega il monitor per eseguire una riunione, o qualsiasi altra cosa.
  4. Vai a 1.

Vorrei sostituire il passaggio 2 con "il computer ricorda esattamente come l'ho avuto e lo rimette in questo modo".

(Personalmente ho bisogno solo di una soluzione per Mac ma raccogliere le soluzioni per altri sistemi qui potrebbe essere utile per gli altri. Sono sicuro che sia un problema comune.)

    
posta dreeves 10.02.2009 - 19:36
fonte

8 risposte

51

Dai un'occhiata a Stay di Cordless Dog. Credo che faccia esattamente quello che stai cercando.

    
risposta data 31.10.2010 - 12:04
fonte
13

Slate è una potente app Mac gratuita che fa esattamente ciò che vuoi. Quando si collega il monitor secondario, rileva automaticamente il nuovo monitor e tutte le finestre verranno spostate e ridimensionate nel modo desiderato. Puoi definire posizioni e dimensioni personalizzate per tutte le tue applicazioni, tra cui schermo intero, mezzo schermo e basato sulla griglia.

Una delle cose più interessanti di Slate è che puoi definire diversi layout in base al numero di monitor collegati . Ad esempio, se si utilizza il laptop da solo, è possibile che tutte le app vengano riempite su tutto lo schermo. Ma quando hai un monitor secondario più grande, potresti voler dividere lo schermo tra browser, posta e musica. Ardesia lo fa facilmente.

Puoi anche definire scorciatoie da tastiera per layout e azioni specifici, come ad esempio sgonfiare e ridimensionare le finestre di una determinata percentuale.

Di seguito è il mio file di configurazione. Conservo tutte le mie app a schermo intero su tutti i miei monitor, ma puoi cambiarli per renderli a metà o in qualche altra dimensione:

# 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

Ecco l'elenco delle funzionalità della pagina GitHub di Slate:

  • Altamente personalizzabile
  • Collega i tasti a:
    • sposta e / o ridimensiona le finestre
    • focalizza le finestre in direzione
    • attiva i layout preimpostati
    • crea, cancella e attiva istantanee dello stato corrente di windows
  • Imposta i layout predefiniti per le diverse configurazioni del monitor che si attiveranno quando viene rilevata quella configurazione.
  • Suggerimenti per la finestra: un modo intuitivo per cambiare il focus della finestra
  • [Beta] Un commutatore di applicazioni migliore, più personalizzabile.

Ecco un ottimo tutorial su come ottenere il massimo da Slate.

    
risposta data 29.07.2014 - 22:04
fonte
8

Ho risolto questo problema con un piccolo AppleScript e la piccola utility gratuita Quicksilver.

  1. Salva questo piccolo AppleScript in una posizione che non cambierà sul tuo computer:

    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. Sarà necessario personalizzare le applicazioni che si desidera sul monitor e i limiti della finestra nel modo desiderato. Sono un programmatore e la configurazione di cui sopra è come eseguo il mio secondo monitor.

  3. Installa Quicksilver .

    Ho scelto di renderlo non visibile nel Dock e di eseguirlo come un piccolo demone della barra delle applicazioni

  4. Imposta un comando chiave in Quicksilver e trascina e rilascia il tuo AppleScript dal passaggio 1 nella finestra come azione da eseguire. L'ho associato a Comando Shift A . Funziona alla grande!

risposta data 31.01.2012 - 18:32
fonte
3

Prima di scollegare il monitor, chiudere tutto ciò che non è interamente sul monitor principale. Le applicazioni in genere salvano il loro stato (incluso il posizionamento della finestra) quando si chiudono e lo leggono quando si aprono, quindi se il secondo monitor è presente in entrambe le volte dovresti stare bene.

È possibile sfruttare le applicazioni che consentono di aprire più istanze alla volta, ma solo salvare lo stato alla chiusura. Chiudere l'istanza multi-monitor (che provoca il salvataggio dello stato). Scollegare il secondo monitor. Se hai una seconda istanza in esecuzione, dovrebbe essere riposizionata sul monitor principale, oppure puoi avviare un'altra istanza. Non chiudere questa istanza prima di collegare nuovamente il secondo monitor e avviare un'altra istanza (che quindi leggerebbe la configurazione multi-monitor all'avvio). Quindi è possibile uscire dall'istanza di monitoraggio singolo (salvataggio di quello stato) e quindi dall'istanza multi-monitor (sovrascrivendo lo stato di monitor singolo).

Un'opzione più complessa potrebbe comprendere capire dove viene salvato lo stato, eseguirne il backup e scrivere un file batch / script per ripristinarlo prima di aprire l'applicazione, il che ti consentirebbe di creare un collegamento per farlo automaticamente quando avvia l'applicazione.

Infine, potrebbe esserci una tale utilità per la tua piattaforma, o la scrittura di uno potrebbe non essere troppo complessa. Per Windows, esiste un programma chiamato ShiftWindow che può riposizionare Windows all'avvio dell'applicazione o su un tasto di scelta rapida. Temo di non conoscere abbastanza bene la MACOS per dire se esiste un'utilità simile. Questa è probabilmente la soluzione ideale, seconda solo al fatto che il sistema operativo supporta direttamente una cosa del genere.

    
risposta data 13.02.2009 - 10:47
fonte
2

link

L'ho trovato tramite Lifehacker, e funziona benissimo per me. Sto usando la versione pro di SizeUp in contrasto con quella di TwoUp, ed è perfetta.

    
risposta data 21.07.2009 - 23:45
fonte
2

Ho appena seguito link , funziona benissimo per me, con un po 'di ritardo però

Una volta installato sul tuo Mac, puoi avviarlo e memorizzare le finestre come preferisci. Quindi, ogni volta che disconnetti i tuoi schermi e ricolleghi, avrai ripristinato tutte le finestre.

Potrebbe essere necessario aggiungere rimanere come applicazione di avvio, poiché sarà necessario avviarlo ogni volta che si riavvia il Mac.

    
risposta data 28.02.2015 - 01:04
fonte
1

Almeno su Windows, molte app si ripristineranno se le ingrandisci prima di cambiare monitor. Lasciali in pace mentre sei in riunione, quindi ripristinali dopo aver ricollegato.

È ancora una correzione incompleta (e senza problemi) ma è l'unica cosa che so fare se voglio qualche possibilità di far risorgere la mia finestra posizionata con attenzione. ShiftWindow sembra intrigante però ...

E se passi da due monitor fino a uno, Alt + Barra spaziatrice + M quindi i tasti freccia sono un salvataggiente (di nuovo Windows, mi dispiace) se "perdi" la tua finestra.

    
risposta data 15.02.2009 - 23:01
fonte
1

Sono un utente di Windows e stavo cercando come disattivare la nuova funzionalità di Windows 7 per spostare tutte le finestre dal monitor esterno non scollegato. Ho trovato la ricevuta (per schede video ATI) per impostare tutti i valori DMMEnableDDCPolling nel Registro di sistema su 0. Disattiva il controllo automatico se il monitor è spento. Ora se il monitor è scollegato e ricollegato, tutte le finestre rimangono nella stessa posizione.

Ecco la risposta che mi ha aiutato: link (risposta di Alex)

    
risposta data 23.08.2010 - 20:46
fonte

Leggi altre domande sui tag