Come recuperare le finestre che sono state spostate "fuori schermo"


49

A volte ho questo problema con la mia configurazione a doppio schermo, specialmente quando mi destreggio con molte cose in giro.

A volte mi sembra di poter spostare una finestra completamente fuori dallo schermo (non sono del tutto sicuro di come) e non riesco a riaverla. Se faccio un "nascondi tutto" nel menu dell'applicazione (di solito è Mail.app, quindi atteniamoci a quello per l'esempio), tutto scompare e Mail sembra pensare di avere una finestra "Posta in arrivo" nel menu di Windows, ma non c'è niente di visibile. Chiudere e riavviare l'app non sembra aiutare (poiché l'app sta ricordando utile dove si trovava la mia finestra in precedenza) e tutto ciò che finisco per fare è spegnere il Mac, scollegare il secondo monitor e riavviarlo, riaprire l'applicazione e questo sembra convincere il Mac a ripensare la posizione della finestra principale, e tutto va bene. Posso quindi riavviare il secondo monitor, ecc.

C'è un modo migliore? Esiste un modo per eseguire il marshalling di Windows su un monitor specifico o un'utilità per spostare le finestre "aperte" / in esecuzione? Sto davvero facendo qualcosa di sbagliato ? :-)

A proposito, non sto usando Spaces, quindi sono abbastanza sicuro che questo non sia uno strano problema di Spaces. :-)

Risposte:


43

Chealion ha risposto a questo su SuperUser .

Non copierò e incollerò la sua risposta qui, dato che ha ottenuto il merito non io.

Ma fondamentalmente, ciò che potresti fare è (citato dalla risposta di Chealion):

Un secondo metodo per disporre le finestre in modo da poterle vedere (se per qualche ragione non stanno sullo schermo) è passare all'applicazione proprietaria della finestra in questione, tenere premuto il tasto Opzione e scegliere "Disponi in primo piano" da il menu Finestra. Quindi sistemerà tutte le finestre di quell'applicazione in una cascata dalla parte superiore sinistra dello schermo.


Oh, geniale - grazie! Ho votato qui la sua risposta e ti ho dato un po 'di credito per avermi indicato il posto giusto. Ci sono alcuni buoni suggerimenti lì, e quasi non vedo l'ora che il problema si ripeta adesso. :-)
robsoft,

3
Questa soluzione non funziona in Yosemite, puoi accedere al menu Finestra solo dal display in cui è attiva la finestra in Yosemite.
ShemSeger

5
L'opzione di menu non viene visualizzata per XQuartz
Mead,

Apple sembra aver rimosso questa funzione a partire da MacOS 10.13.5. È quasi come essere in grado di ottenere finestre che si sono spostate fuori dallo schermo è considerato un bug, invece del fatto che possono essere spostate fuori dallo schermo.
Getta via l'account

15

Per completezza:

Dalla mia risposta originariamente alla domanda di errore del server 7237 :

Quando un monitor viene scollegato (compreso anche l'adattatore, se applicabile - lasciando l'adattatore lascia OS X pensando che il monitor sia ancora collegato) tutte le finestre dovrebbero spostarsi nella schermata principale. A volte alcune finestre (ad es. Firefox) manterranno la loro posizione sull'estrema destra dello schermo lasciandoti lo spazio sufficiente per afferrare la barra del titolo e spostarla dove desideri.

Un metodo è prima di scollegare il monitor esterno (o prima di scollegare il dongle) è quello di aprire il pannello Preferenze display in Preferenze di Sistema e fare clic sul pulsante "Raccogli Windows". Questo dovrebbe portare tutte le finestre nella schermata principale e l'opzione non appare se non hai un secondo monitor collegato.

Un secondo metodo per disporre le finestre in modo da poterle vedere (se per qualche ragione non stanno sullo schermo) è passare all'applicazione proprietaria della finestra in questione, tenere premuto il tasto Opzione e scegliere "Disponi in primo piano" da il menu Finestra. Quindi sistemerà tutte le finestre di quell'applicazione in una cascata dalla parte superiore sinistra dello schermo.

Infine, ci sono diversi AppleScript disponibili (ad esempio questo su Snipplr ) che afferrerà anche ogni finestra dallo schermo e lo sposterà sullo schermo per te.

C'è anche un'app elegante shareware chiamata Stay che ti aiuterà ad automatizzare molto di questo per te, mentre c'è anche MarcoPolo che farà molto di più che notare se un monitor è disconnesso e ti permette di eseguire script (nel caso tu voglia fare di più che ridisporre le finestre).


11

Ho pensato di dover dare una risposta a questo che descrive soluzioni specifiche per XQuartz. Molte delle soluzioni qui non funzionano per XQuartz. Da questo biglietto: https://xquartz.macosforge.org/trac/ticket/796 , ho trovato due soluzioni che funzionano e penso che sarebbe utile dichiararle qui.

  1. Se è possibile scollegare / collegare facilmente il monitor, quindi scollegare il monitor in modo che la finestra appaia in un punto accessibile. Quindi, con il mouse, fai clic sulla finestra e tieni premuto il pulsante del mouse come se volessi trascinarlo. Senza lasciare andare il mouse o la finestra, collega il monitor. La finestra di XQuartz dovrebbe rimanere dove si trova il mouse.

  2. Questo pacchetto ShiftIt funziona molto bene per ottenere finestre scomparse dallo schermo: https://github.com/fikovnik/ShiftIt/downloads Potrebbero esserci altri pacchetti simili, ma questo è pulito ed efficace.

Spero che questo aiuti qualcuno!


Shiftlt funziona quasi con XQuartz. In realtà centra nuovamente la finestra principale di (ad es.) Inkscape ma non la finestra secondaria (finestra di dialogo delle proprietà). Uno strumento carino da sapere comunque. +1
lauhub,

6

Ho due schermi e il caricamento di Inkscape di solito lo mette da qualche parte inaccessibile. Posso vederlo usando "mostra tutte le finestre", ma se lo seleziono da lì va e scompare di nuovo. La soluzione che ho trovato è venuta da questo commento alla mailing list .

Quando scollego la seconda schermata, vedo Inkscape. Ma anche dopo averlo spostato un po ', se ricollego l'altro schermo scompare di nuovo dal bordo. La soluzione è:

  1. Scollegare la seconda schermata
  2. Usa il mouse per prendere la barra del titolo della finestra (fai clic e mantieni premuto)
  3. Mentre tieni ancora premuto sulla barra del titolo, ricollega il monitor

Aggiungerò che ricevo molti sguardi da altre persone in ufficio durante l'esecuzione di questo compito.
tremby,

4

Ho trovato una soluzione davvero semplice per questo.

Mi è successo su Powerpoint. Sono andato al menu Powerpoint nella parte superiore dello schermo. Fare clic su "Finestra", quindi fare clic su "Ingrandisci finestra". Fatto


Questa è l'unica risposta che ha funzionato per il 10.11.5 (nome in codice El Capitan).
pzulw,

In alternativa, Finestra> Zoom ha funzionato per me (Zoom in Window non era un'opzione).
Thomas McCabe,

3

Qualcosa che ho provato e ha funzionato per me sta cambiando la risoluzione a una più bassa e poi riportandola su. E mette magicamente al centro dell'applicazione. Saluti.


3

Ho trovato questa applicazione: WindowWrangler

Permette di usare le scorciatoie da tastiera per spostare la finestra.

Sfortunatamente, non funziona per l'unica finestra di cui ho bisogno: Inkscape in un ambiente XQuartz.


2
Hai trovato una soluzione per xquartz?
gebirgsbärbel,

La soluzione che ho trovato è stata quella di collegare un monitor esterno: in tal caso, la finestra modificata è la posizione in modo da poterla spostare. Lo sposto in modo che, dopo aver disconnesso lo schermo, la barra superiore della finestra sia "accessibile".
lauhub,

@ gebirgsbärbel Vedi la risposta che ho appena pubblicato di seguito. Penso che potresti trovarlo utile.
nukeguy,

@ gebirgsbärbel Vedi la [nuova risposta] ( apple.stackexchange.com/a/238975/31154 ) che ho postato di seguito, usando l' xdotoolutilità, che ha finalmente risolto tutti i miei problemi
lauhub

3

Per il problema specifico di X11 / XQuartz, ecco una soluzione che ho trovato.

Pre-requisito

Innanzitutto, avrai bisogno di xdotool . Si può installarlo usandobrew install xdotool

Le basi

Puoi spostare una finestra a sinistra usando il seguente script:

xdotool getactivewindow windowmove --relative -- -100 -44

-44 è un valore che credo sia la somma dell'altezza della barra del titolo e dell'altezza della barra dei menu. Se non impostato qui, la finestra scenderà invece di mantenere la posizione y.

Per la mossa giusta:

xdotool getactivewindow windowmove --relative -- 100 -44

Per salire:

xdotool getactivewindow windowmove --relative -- x -100

Per spostarti verso il basso:

xdotool getactivewindow windowmove --relative -- x 100

Quindi ora puoi spostare la finestra attualmente selezionata (a cui puoi accedere usando Esponi facendo clic su di essa se è fuori schermo).

Esporre vista

È quindi possibile aprire il terminale e ripetere i comandi finché non viene visualizzata la finestra.

Accedi tramite scorciatoia

Per spostare la finestra utilizzando la scorciatoia da tastiera, è possibile utilizzare la spiegazione fornita qui

In realtà ho aggiunto questi collegamenti usando BetterTouchTool.

  1. BetterTouchPreferences> Tastiera
  2. Aggiungi nuovo collegamento
  3. Seleziona il campo di testo Scorciatoia da tastiera e premi (es.) shift+ ^+ cmd+
  4. Seleziona Attiva azione predefinita : controllo di altre applicazioni> Esegui comando terminale
  5. Immettere il comando per (es.) Spostare a destra con il percorso completo di xdotool (è possibile ottenerlo utilizzando il which xdotoolcomando)

    /usr/local/bin/xdotool getactivewindow windowmove --relative -- 100 -44

  6. Fai clic sul pulsante Salva.

Ripeti lo stesso per altre direzioni e divertiti!


Fink non ha xdotool
Mei,

2

Inoltre, per completezza, mi sono imbattuto in questo: resta l'app per Mac anche se non l'ho ancora provata o acquistata.

Dal loro sito Web:

Stay può memorizzare un set di finestre per ogni combinazione di display che usi con il tuo computer. Ad esempio, se si dispone di un laptop a volte collegato a un monitor esterno, è possibile memorizzare due set di finestre in Stay; uno con il monitor esterno collegato e uno senza. Fatto ciò, sarai in grado di assicurarti che le tue finestre siano sempre dove vuoi che rimanga Windows ripristina ogni volta che ti connetti o disconnetti il ​​monitor esterno. Stay può anche essere configurato per ripristinare automaticamente le finestre poiché i display sono collegati e disconnessi.


2

Ho una soluzione che ha funzionato per me e ho esplorato i forum e ho provato tutto il possibile.

Alla fine ho trovato un modo. Installa un'app chiamata BetterTouchTool. Ciò ti consente di creare una scorciatoia per fare varie cose utili con il tuo schermo, ecc. Quindi imposta una scorciatoia specifica per l'app (molto più facile di quanto sembri) e rendila semplice. L'ho impostato in modo che uno "scorrimento con due dita" portasse a un'azione "Massimizza finestra". Ciò ha bloccato l'applicazione mancante sullo schermo del mio laptop e lontano dallo schermo del monitor fantasma su cui era stato bloccato.

Problema risolto.

Ecco un'immagine dell'aspetto di BetterTouchTool quando imposto il collegamento:

Scorciatoia BetterTouchTool


Inoltre risolvo il problema utilizzando BetterTouchTool.
Eugenio,

2

Ho appena avuto lo stesso problema in Mavericks, sono riuscito a risolverlo seguendo questi passaggi:

  1. Porta il puntatore su un bordo della finestra che si è spostato dallo schermo, ad esempio sul bordo a destra.
  2. Quando vedi l'icona di ridimensionamento (nel mio caso l'icona di ridimensionamento orizzontale) fai clic e tieni premuto.
  3. Mentre "tieni premuto il clic" trascina la finestra. Ecco!

Questo funziona solo se la finestra è contro il bordo dell'altra finestra
Mei


2

In El Capitan le semplici risposte qui non hanno funzionato per me o non erano disponibili come opzioni. Ciò che ha funzionato è stato fare clic con il pulsante destro del mouse sull'app nel Dock (Chrome nel mio caso) e selezionare Opzioni> Assegna al desktop su Display 1. Ciò ha spostato tutte le finestre sul desktop corrente.


1

Mi sembra che ciò accada più spesso quando lo schermo secondario è "sopra" (in Preferenze di Sistema -> Schermo -> Disposizione). Quando il problema si verifica se sposgo il display esterno "a destra", riappaiono le finestre dell'X11.


1

In Yosemite, se ha funzionato per me

  1. apri Preferenze di Sistema
  2. apri Display <Risoluzione
  3. seleziona "Ridimensionato"
  4. modificare temporaneamente l'impostazione su qualsiasi altra cosa

Per me, questo è stato sufficiente a forzare l'applicazione sullo schermo.


1

Un po 'strano però che una finestra (terminale nel mio caso) si sia persa nell'accordo. Ho provato lo zoom, ho portato tutto in primo piano, ma nulla sembrava funzionare.

Finalmente la finestra → Unisci tutte le finestre ha funzionato.


0

Puoi creare una semplice app per farlo nell'editor AppleScript. Immettere il testo seguente e salvarlo come app. Se lo metti nella cartella Applicazioni, sarà facile accedere tramite SpotLight. Ho chiamato le mie finestre di raccolta.

property processesToIgnore : {}
tell application "Finder"
    set _b to bounds of window of desktop
    set screen_width to item 3 of _b
    set screen_height to item 4 of _b
end tell
tell application "System Events"
    set allProcesses to application processes
    set _results to ""
    repeat with i from 1 to count allProcesses
        set doIt to 1
        repeat with z from 1 to count processesToIgnore
            if process i = process (item z of processesToIgnore) then
                set doIt to 0
            end if
        end repeat
        if doIt = 1 then
            tell process i
                repeat with x from 1 to (count windows)
                    set winPos to position of window x
                    set _x to item 1 of winPos
                    set _y to item 2 of winPos
                    if (_x < 0 or _y < 0 or _x > screen_width or _y > screen_height) then
                        set position of window x to {0, 22}
                    end if
                end repeat
            end tell
        end if
    end repeat
end tell

1
Per completezza dovrai spiegare come aggirare "Script Editor non ha accesso assistito" (Yosemite)
jcollum,

0

Un'altra soluzione per XQuartz:

brew install wmctrl
wmctrl -i -r $(wmctrl -G -l | grep -i inkscape | cut -d' ' -f1 ) -e 0,0,0,100,100

Sostituisci "inkscape" con quello che vuoi.


0

Ecco una risposta semplice che richiede 15 secondi ed è una soluzione permanente.

https://groups.google.com/forum/#!topic/eggbotuser/48RbZ2Pey5A

Questo problema si presenta se hai più schermi. Il documento viene aperto, appena fuori a sinistra, fuori dallo schermo di tutti i display. Non puoi risolvere questo problema con Applescript: XQuartz non implementa i verbi di script standard per ottenere e impostare la posizione di Windows. Inoltre, non implementa gli equivalenti standard del gestore di finestre X11.

La causa del problema è un conflitto tra un'impostazione delle preferenze in Inkscape e un'impostazione delle preferenze in Mavericks.

L'impostazione predefinita delle preferenze per Mavericks in Preferenze di Sistema> Controllo missione è [x] I display hanno spazi separati

L'impostazione delle preferenze predefinite per Inkscape nella sua barra dei menu File> Preferenze di Inkscape> Windows è (•) Salva e ripristina la geometria della finestra per ciascun documento.

Se si modifica la preferenza di OS X (richiede la disconnessione e il login di nuovo) o si modifica la preferenza di Inkscape su (•) Non salvare la geometria della finestra (cosa che non si può fare a meno che non si riesca a far visualizzare a Inkscape un finestra) Inkscape funziona come previsto.

Quindi, se vuoi il nuovo comportamento di Mavericks con più display sul tuo Mac, poi ripristina temporaneamente il vecchio modo, modifica una preferenza di Inkscape, quindi riporta Mavericks su una barra dei menu su ogni schermata.


0

Nella voce di menu 'Finestra' dell'applicazione, seleziona "Disponi tutto". Questo ha funzionato per Microsoft PowerPoint per Mac, potrebbe non funzionare per tutti.


0

Ho un problema simile nel mio Mac quando apro MS Powerpoint in quanto non verrà visualizzato sullo schermo. Il modo più semplice è quello di andare alla barra dei menu di Powerpoint nella parte superiore dello schermo del Mac e fare clic su "Finestra", quindi sotto fare clic su "Organizza tutto". Verranno visualizzate le finestre di PowerPoint mancanti / nascoste


0

La soluzione più semplice che ho riscontrato a questo problema è fare clic con il pulsante destro del mouse sull'icona pertinente nella barra delle applicazioni e quindi selezionare "Nascondi". Puoi quindi fare lo stesso e selezionare "Mostra", quindi riappare la finestra mancante.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.