Comment récupérer des fenêtres qui se sont déplacées "hors écran"

50

J'ai parfois ce problème avec ma configuration double écran, surtout quand je jongle avec beaucoup de choses autour.

Parfois, il semble que je sois capable de déplacer une fenêtre entièrement hors écran (je ne sais pas trop comment) et je ne peux pas la récupérer. Si je fais un "masquer tout" dans le menu de l'application (généralement c'est Mail.app, alors restons-y à l'exemple), tout disparaît et Mail semble penser qu'il y a une fenêtre "Boîte de réception" dans le menu Windows, mais il n'y a rien de visible. Fermer et redémarrer l'application ne semble pas aider (car l'application se rappelle bien où était ma fenêtre auparavant) et tout ce que je finis par faire est d'arrêter le Mac, de débrancher le deuxième moniteur et de le redémarrer, d'ouvrir à nouveau l'application et ce semble persuader le Mac de repenser la position de la fenêtre principale, et tout va bien. Je peux ensuite redémarrer le deuxième moniteur, etc.

Y a-t-il un meilleur moyen? Existe-t-il un moyen de regrouper des fenêtres sur un moniteur spécifique ou un utilitaire permettant de déplacer des fenêtres "ouvertes" / en cours d'exécution? Est-ce que je fais réellement quelque chose de mal ? :-)

En passant, je n'utilise pas Spaces - je suis donc presque sûr que ce n'est pas un problème étrange concernant Spaces. :-)

robsoft
la source

Réponses:

44

Chealion a répondu à cela sur SuperUser .

Je ne vais pas copier et coller sa réponse ici, car il n'a pas le crédit, pas moi.

Mais en gros, ce que vous pourriez faire est (cité dans la réponse de Chealion):

Une deuxième méthode pour organiser les fenêtres afin que vous puissiez les voir (si, pour une raison quelconque, elles restent en dehors de l'écran) consiste à passer à l'application propriétaire de la fenêtre en question, maintenez la touche Option enfoncée et choisissez "Organiser à l'avant" dans le menu de la fenêtre. Il organisera ensuite toutes les fenêtres de cette application en cascade à partir du coin supérieur gauche de l'écran.

Studer
la source
Oh, génial - merci! J'ai voté pour sa réponse là-bas et je vous ai donné un crédit pour m'avoir dirigé au bon endroit. Il y a quelques bonnes suggestions ici, et j'ai presque hâte que le problème se reproduise maintenant. :-)
robsoft
3
Cette solution ne fonctionne pas dans Yosemite, vous pouvez uniquement accéder au menu Fenêtre à partir de l'affichage de la fenêtre dans Yosemite.
ShemSeger
5
L'option de menu n'apparaît pas pour XQuartz
Mead
1
Apple semble avoir supprimé cette fonctionnalité à partir de MacOS 10.13.5. C'est presque comme si pouvoir obtenir des fenêtres qui ont été déplacées hors écran est considéré comme un bug, au lieu du fait qu'elles peuvent être déplacées hors écran.
Compte Jeter
Aucun élément de ce type dans macOS Catalina
clearlight
15

Pour être complet:

De ma réponse à l'origine à Server Fault Question 7237 :

Lorsqu'un moniteur est débranché (y compris l'adaptateur le cas échéant - laisser l'adaptateur laisse OS X pensant que le moniteur est toujours branché), tout Windows devrait passer à votre écran principal. Parfois, certaines fenêtres (par exemple, Firefox) conservent leur position à l'extrême droite de l'écran, vous laissant juste assez de place pour saisir la barre de titre et la déplacer où vous le souhaitez.

Une des méthodes consiste avant de débrancher le moniteur externe (ou avant de débrancher le dongle) consiste à ouvrir la sous-fenêtre des préférences d’affichage dans les Préférences Système et à cliquer sur le bouton "Récupérer Windows". Ceci est supposé amener toutes les fenêtres sur l'écran principal et l'option n'apparaît pas si vous n'avez pas un deuxième moniteur branché.

Une deuxième méthode pour organiser les fenêtres afin que vous puissiez les voir (si, pour une raison quelconque, elles restent en dehors de l'écran) consiste à passer à l'application propriétaire de la fenêtre en question, maintenez la touche Option enfoncée et choisissez "Organiser à l'avant" dans le menu de la fenêtre. Il organisera ensuite toutes les fenêtres de cette application en cascade à partir du coin supérieur gauche de l'écran.

Enfin, il existe plusieurs AppleScripts disponibles (par exemple, celui-ci chez Snipplr ) qui vont également saisir chaque fenêtre hors de l'écran et la déplacer à l'écran pour vous.

Il existe également une application shareware astucieuse appelée Stay qui aidera à automatiser beaucoup de choses pour vous, tandis que MarcoPolo fera beaucoup plus que simplement remarquer si un moniteur est déconnecté et vous permet d'exécuter des scripts (au cas où vous voudriez faire plus que simplement réorganiser les fenêtres).

Chealion
la source
11

J'ai pensé que je devrais répondre à cette question en décrivant des solutions spécifiques à XQuartz. Beaucoup des solutions présentées ici ne fonctionnent pas pour XQuartz. À partir de ce ticket: https://xquartz.macosforge.org/trac/ticket/796 , j'ai trouvé deux solutions qui fonctionnent et je pense qu'il serait avantageux de les énoncer ici.

  1. Si vous pouvez débrancher / brancher votre moniteur facilement, débranchez-le de sorte que votre fenêtre apparaisse à un endroit accessible. Puis, avec votre souris, cliquez sur la fenêtre et maintenez le bouton de la souris enfoncé comme si vous alliez le faire glisser. Sans lâcher votre souris ou la fenêtre, branchez votre moniteur. La fenêtre XQuartz doit rester là où se trouve votre souris.

  2. Ce paquet ShiftIt fonctionne très bien pour récupérer les fenêtres qui ont disparu en dehors de l'écran: https://github.com/fikovnik/ShiftIt/downloads Il peut y avoir d'autres paquets similaires, mais celui-ci est propre et efficace.

J'espère que ça aide quelqu'un!

nukeguy
la source
Shiftlt fonctionne presque avec XQuartz. En fait, il recentre la fenêtre principale d'Inkscape (par exemple) mais pas la fenêtre secondaire (dialogue de propriétés). Un bel outil à savoir cependant. +1
lauhub
6

J'ai deux écrans et le chargement d'Inkscape le place habituellement dans un endroit inaccessible. Je peux le voir en utilisant "afficher toutes les fenêtres", mais si je le sélectionne à partir de là, il disparaît à nouveau. La solution que j'ai trouvée est issue de ce commentaire de la liste de diffusion .

Lorsque je débranche le deuxième écran, je peux voir Inkscape. Mais même après l'avoir déplacé un peu, si je rebranche l'autre écran, il disparaît à nouveau. La solution est:

  1. Débranchez le deuxième écran
  2. Utilisez la souris pour saisir la barre de titre de la fenêtre (cliquez et maintenez enfoncé)
  3. Tout en maintenant la barre de titre, rebranchez le moniteur.
tremby
la source
J'ajouterai que je reçois beaucoup de regards de la part des gens du bureau tout en effectuant cette tâche.
Tremby
4

J'ai trouvé une solution très facile pour cela.

Cela m'est arrivé sur Powerpoint. Je suis allé au menu Powerpoint en haut de l'écran. Cliquez sur "Fenêtre" puis sur "Zoom dans la fenêtre". Terminé

DBranx
la source
C'est la seule réponse qui a fonctionné pour 10.11.5 (nom de code El Capitan).
dimanche
Alternativement, Fenêtre> Zoom ne fonctionnait que pour moi (Zoom in Window n'était pas une option).
Thomas McCabe le
3

Quelque chose que j'ai essayé et qui a fonctionné pour moi est de passer de la résolution à une résolution inférieure, puis de la rétablir. Et comme par magie, l'application est centrée. À votre santé.

Art
la source
3

J'ai trouvé cette application: WindowWrangler

Il permet d'utiliser des raccourcis clavier pour déplacer la fenêtre.

Malheureusement, cela ne fonctionne pas pour la seule fenêtre dont j'ai besoin: Inkscape dans un environnement XQuartz.

lauhub
la source
2
Avez-vous trouvé une solution pour xquartz?
gebirgsbärbel
La solution que j’ai trouvée était de connecter un moniteur externe: dans ce cas, la fenêtre a changé de position de manière à pouvoir la déplacer. Je le déplace de sorte que, après avoir déconnecté l'écran, la barre supérieure de la fenêtre soit "accessible".
lauhub
@ gebirgsbärbel Voir la réponse ci-dessous. Je pense que vous pouvez le trouver utile.
nukeguy
@ gebirgsbärbel Voir la [nouvelle réponse] ( apple.stackexchange.com/a/238975/31154 ) J'ai posté ci-dessous, à l'aide d'un xdotoolutilitaire, qui a finalement résolu tous mes problèmes
lauhub
3

Pour les problèmes spécifiques à X11 / XQuartz, voici une solution que j'ai trouvée.

Prérequis

Tout d'abord, vous aurez besoin de xdotool . On peut l'installer en utilisantbrew install xdotool

Les bases

Vous pouvez déplacer une fenêtre vers la gauche en utilisant le script suivant:

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

-44 est une valeur qui, à mon avis, correspond à la somme de la hauteur de la barre de titre et de la hauteur de la barre de menus. S'il n'est pas défini ici, la fenêtre s'abaissera au lieu de conserver la position y.

Pour un bon coup:

xdotool getactivewindow windowmove --relative -- 100 -44

Pour monter:

xdotool getactivewindow windowmove --relative -- x -100

Pour descendre:

xdotool getactivewindow windowmove --relative -- x 100

Alors maintenant, vous pouvez déplacer la fenêtre actuellement sélectionnée (à laquelle vous pourriez accéder en utilisant Exposé en cliquant dessus si elle est hors écran).

Exposer la vue

Vous pouvez ensuite ouvrir le terminal et répéter les commandes jusqu'à ce que la fenêtre apparaisse.

Y accéder par raccourci

Pour faire bouger votre fenêtre en utilisant un raccourci clavier, vous pouvez utiliser l' explication donnée ici

En fait, j'ai ajouté ces raccourcis à l'aide de BetterTouchTool.

  1. BetterTouchPreferences> Clavier
  2. Ajouter un nouveau raccourci
  3. Sélectionnez le champ de texte de raccourci clavier et appuyez sur (par exemple) shift+ ^+ cmd+
  4. Sélectionnez une action prédéfinie de déclenchement : Contrôle d'autres applications> Exécuter la commande de terminal
  5. Entrez la commande pour (par exemple) right move avec le chemin complet vers xdotool (vous pouvez l'obtenir en utilisant la which xdotoolcommande)

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

  6. Cliquez sur le bouton de sauvegarde.

Répétez la même chose pour les autres directions et profitez-en!

lauhub
la source
fink n'a pas xdotool
Mei
2

En outre, par souci d'exhaustivité, je suis tombé sur ceci: Restez dans l'application pour Mac bien que je ne l'aie pas encore essayée ou achetée.

De leur site web:

Stay peut stocker un ensemble de fenêtres pour chaque combinaison d'écrans que vous utilisez avec votre ordinateur. Par exemple, si vous avez un ordinateur portable parfois connecté à un moniteur externe, vous pouvez stocker deux ensembles de fenêtres dans Stay; un avec le moniteur externe connecté et un sans. Ceci étant fait, vous pourrez vous assurer que vos fenêtres sont toujours là où vous le souhaitez grâce à Stay Restore Windows lorsque vous connectez ou déconnectez le moniteur externe. Stay peut même être configuré pour restaurer automatiquement les fenêtres lorsque les écrans sont connectés et déconnectés.

robsoft
la source
2

J'ai une solution qui a fonctionné pour moi et j'ai parcouru des forums et essayé tout ce que je pouvais.

À la fin j'ai trouvé un moyen. Installez une application appelée BetterTouchTool. Cela vous permet de créer un raccourci pour effectuer diverses tâches utiles avec votre écran, etc. Ensuite, configurez un raccourci spécifique à une application (beaucoup plus facile qu'il n'y paraît) et simplifiez-le. Je l'ai réglé de manière à ce qu'un "balayage à deux doigts" mène à une action "Agrandir la fenêtre". Cela a bloqué l'application manquante sur l'écran de mon ordinateur portable et l'a éloignée de l'écran du moniteur fantôme sur lequel elle était bloquée.

Problème résolu.

Voici une image de ce à quoi BetterTouchTool ressemblait lorsque j'avais configuré le raccourci:

BetterTouchTool Raccourci

Alec
la source
Je résous aussi le problème avec BetterTouchTool.
Eugenio
2

Je viens d'avoir ce même problème dans Mavericks, j'ai réussi à résoudre le problème en suivant ces étapes:

  1. Placez le pointeur sur un bord de la fenêtre qui a quitté l'écran, par exemple sur le bord à droite.
  2. Lorsque vous voyez l'icône de redimensionnement (dans mon cas, l'icône de redimensionnement horizontal), cliquez et maintenez enfoncé.
  3. Tout en "maintenant le clic enfoncé", faites glisser la fenêtre. Voila!
Adolfo Abegg
la source
Cela ne fonctionne que si la fenêtre est au bord de l'autre fenêtre
Mei
2

Un de mes amis a écrit un outil gratuit pour ramener les fenêtres. Si vous voulez le vérifier, allez ici: http://bring-em-back.com

Gabiz Ra
la source
2

À El Capitan, les réponses simples ne fonctionnaient pas pour moi ou n'étaient pas disponibles en option. Ce qui a fonctionné, c’est de cliquer avec le bouton droit de la souris sur l’application située dans le Dock (dans mon cas, avec Chrome) et de sélectionner Options> Attribuer au bureau sur l’affichage 1. Toutes les fenêtres ont été déplacées vers mon bureau actuel.

Ggutenberg
la source
1

Il semble que cela m’arrive le plus souvent lorsque l’affichage secondaire est "au-dessus" (dans Préférences Système -> Affichage -> Arrangement). Lorsque le problème survient si je déplace l'écran externe "à droite", les fenêtres X11 réapparaissent.

T Martin
la source
1

À Yosemite, si cela a fonctionné pour moi

  1. ouvrir les Préférences Système
  2. ouvert Affichage <Résolution
  3. sélectionnez 'Scaled'
  4. changer le réglage à autre chose temporairement

Pour moi, cela suffisait pour forcer l'application à revenir à l'écran.

plfrick
la source
1

Un peu bizarre cependant qu'une fenêtre (Terminal dans mon cas) se soit perdue dans l'arrangement. J'ai essayé de zoomer, de tout mettre en avant, mais rien ne semblait fonctionner.

Enfin, la fenêtre → Fusionner toutes les fenêtres a fait l'affaire.

Siddiq Koona
la source
0

Vous pouvez créer une application simple pour le faire dans l'éditeur AppleScript. Entrez le texte suivant et enregistrez-le en tant qu'application. Si vous le mettez dans votre dossier Applications, il sera facile d'y accéder via SpotLight. J'ai nommé le mien rassembler des fenêtres.

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
jeremyjjbrown
la source
1
Pour être complet, vous devez expliquer comment vous déplacer. "L’éditeur de script n’est pas autorisé à accéder à un système d’aide
technique
0

Une autre solution pour XQuartz:

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

Remplacez 'inkscape' par ce que vous voulez.

Yatharth Agarwal
la source
0

Voici une réponse facile qui prend 15 secondes et constitue une solution permanente.

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

Ce problème apparaît si vous avez plusieurs écrans. Le document est ouvert, c'est tout à fait à gauche, hors écran de tous les écrans. Vous ne pouvez pas résoudre ce problème avec Applescript: XQuartz n'implémente pas les verbes de scriptabilité standard pour obtenir et définir la position des fenêtres. Il n’implémente pas non plus les équivalents standard du gestionnaire de fenêtres X11.

La cause du problème est un conflit entre un paramètre de préférence dans Inkscape et un paramètre de préférence dans Mavericks.

Le paramètre de préférence par défaut pour Mavericks dans Préférences Système> Contrôle de mission est [x]. Les écrans ont des espaces distincts.

Le paramètre de préférence prêt à l'emploi pour Inkscape dans sa barre de menus Fichier> Préférences d'Inkscape> Windows est (•) Enregistrer et restaurer la géométrie de la fenêtre pour chaque document.

Si vous modifiez les préférences OS X (nécessite la déconnexion et la reconnexion) ou si vous modifiez la préférence Inkscape en (•) Ne pas enregistrer la géométrie de la fenêtre fenêtre), Inkscape fonctionne comme prévu.

Donc, si vous voulez le nouveau comportement de Mavericks avec plusieurs affichages sur votre Mac, puis revenez temporairement à l'ancienne, modifiez une préférence Inkscape, puis redéfinissez Mavericks sur une barre de menus sur chaque écran.

Geoffrey Hyatt
la source
0

Dans le menu 'Fenêtre' de l'application, sélectionnez "Arranger tout". Cela a fonctionné pour Microsoft PowerPoint pour Mac, cela peut ne pas fonctionner pour tous.

utilisateur220250
la source
0

Je rencontre un problème similaire lors de l’ouverture de MS Powerpoint sur mon Mac, car il ne s’affiche pas à l’écran. Le moyen le plus simple est d’aller dans la barre de menus de Powerpoint en haut de l’écran de votre Mac et de cliquer sur «Fenêtre», puis sous «Arranger tout». Les fenêtres PowerPoint manquantes / cachées afficheront

Miss G Dacuma
la source
0

La solution la plus simple que j'ai trouvée à ce problème est de cliquer avec le bouton droit de la souris sur l'icône correspondante dans la barre des tâches, puis de sélectionner "Masquer". Vous pouvez ensuite faire de même et sélectionner «Afficher», puis la fenêtre manquante réapparaîtra.

Baylaw
la source