Como recuperar janelas que foram movidas para fora da tela

50

Às vezes, tenho esse problema com minha configuração de tela dupla, especialmente quando estou lidando com muitas coisas.

Ocasionalmente, parece que consigo mover uma janela totalmente para fora da tela (não sei bem como) e não consigo recuperá-la. Se eu ocultar tudo no menu do aplicativo (geralmente é Mail.app, então vamos manter esse exemplo), tudo desaparece e o Mail parece achar que tem uma janela de 'caixa de entrada' no menu do Windows, mas não há nada visível. Fechar e reiniciar o aplicativo não parece ajudar (como o aplicativo se lembra muito bem onde estava minha janela anteriormente) e tudo o que faço é desligar o Mac, desconectar o segundo monitor e reiniciá-lo, abrindo o aplicativo novamente e isso parece convencer o Mac a repensar a posição da janela principal, e está tudo bem. Posso reiniciar o segundo monitor, etc.

Existe uma maneira melhor? Existe alguma maneira de organizar as janelas de volta para um monitor específico ou um utilitário para mover janelas 'abertas' / em execução? Estou realmente fazendo algo errado ? :-)

A propósito, não estou usando o Spaces - por isso tenho certeza de que isso não é um problema estranho do Spaces. :-)

robsoft
fonte

Respostas:

44

Chealion respondeu isso no SuperUser .

Não vou copiar e colar sua resposta aqui, pois ele recebeu o crédito, não eu.

Mas, basicamente, o que você poderia fazer é (citado na resposta de Chealion):

Um segundo método de organizar o Windows para que você possa vê-los (se por algum motivo eles ficarem fora da tela) é mudar para o aplicativo que possui a janela em questão, mantenha pressionada a tecla Opção e escolha "Organizar na frente" em o menu Janela. Ele organizará todas as janelas desse aplicativo em cascata a partir do canto superior esquerdo da tela.

Studer
fonte
Oh, brilhante - obrigado! Votou a resposta dele para lá e dei-lhe algum crédito aqui por me indicar o lugar certo. Existem algumas boas sugestões e quase não posso esperar que o problema ocorra novamente agora. :-)
robsoft 27/08/2010
3
Esta solução não funciona no Yosemite, você só pode acessar o menu Janela na tela em que a janela está no Yosemite.
ShemSeger
5
A opção de menu não aparece para o XQuartz
Mead
11
A Apple parece ter removido esse recurso a partir do MacOS 10.13.5. É quase como conseguir janelas que foram movidas para fora da tela é considerado um bug, em vez de poderem ser movidas para fora da tela.
Jogue fora a conta
Não
existe
15

Para completar:

Da minha resposta originalmente em Server Fault Question 7237 :

Quando um monitor é desconectado (incluindo também o adaptador, se aplicável - deixar o adaptador deixa o OS X achando que o monitor ainda está conectado), todo o Windows deve passar para a tela principal. Ocasionalmente, algumas janelas (por exemplo, Firefox) mantêm sua posição na extremidade direita da tela, deixando espaço suficiente para agarrar a barra de título e movê-la para onde você deseja.

Um método é antes de desconectar o monitor externo (ou antes de desconectar o dongle): abrir o Painel de preferências de exibição em Preferências do sistema e clicar no botão "Reunir janelas". Isso deve trazer todas as janelas na tela principal e a opção não aparece se você não tiver um segundo monitor conectado.

Um segundo método de organizar o Windows para que você possa vê-los (se por algum motivo eles ficarem fora da tela) é mudar para o aplicativo que possui a janela em questão, mantenha pressionada a tecla Opção e escolha "Organizar na frente" em o menu Janela. Ele organizará todas as janelas desse aplicativo em cascata a partir do canto superior esquerdo da tela.

Por fim, existem vários AppleScripts disponíveis (por exemplo, este no Snipplr ) que também capturam todas as janelas da tela e as movem na tela para você.

Há também um aplicativo de shareware bacana chamado Stay, que ajudará a automatizar muito disso para você, enquanto também há MarcoPolo que fará muito mais do que apenas notar se um monitor for desconectado e permitir que você execute scripts (caso deseje faça mais do que apenas reorganizar as janelas).

Chealion
fonte
11

Eu pensei em responder a isso, descrevendo soluções especificamente para o XQuartz. Muitas das soluções aqui não funcionam para o XQuartz. Neste tíquete: https://xquartz.macosforge.org/trac/ticket/796 , encontrei duas soluções que funcionam e acho que seria benéfico indicá-las aqui.

  1. Se você pode desconectar / conectar seu monitor com facilidade, desconecte-o para que sua janela apareça em um local que você possa acessar. Em seguida, com o mouse, clique na janela e mantenha pressionado o botão do mouse como se fosse arrastá-lo. Sem soltar o mouse ou a janela, conecte seu monitor. A janela do XQuartz deve ficar onde está o mouse.

  2. Este pacote ShiftIt funciona muito bem para obter janelas que desapareceram da tela: https://github.com/fikovnik/ShiftIt/downloads Pode haver outros pacotes semelhantes, mas este é limpo e eficaz.

Espero que isso ajude alguém!

nukeguy
fonte
Shiftlt trabalha quase com XQuartz. Ele realmente centraliza novamente a janela principal (por exemplo) do Inkscape, mas não a janela secundária (caixa de diálogo de propriedades). Uma boa ferramenta para saber no entanto. +1
lauhub
6

Eu tenho duas telas e o carregamento do Inkscape geralmente o coloca em algum lugar inacessível. Eu posso vê-lo usando "show all windows", mas se eu selecioná-lo, ele desaparece novamente. A solução que encontrei veio deste comentário da lista de discussão .

Ao desconectar a segunda tela, vejo o Inkscape. Mas mesmo depois de movê-lo um pouco, se eu conectar a outra tela novamente, ela desaparecerá novamente. A solução é:

  1. Desconecte a segunda tela
  2. Use o mouse para segurar a barra de título da janela (clique e segure)
  3. Enquanto ainda segura a barra de título, conecte o monitor novamente.
tremer
fonte
Acrescentarei que recebo muitos olhares de outras pessoas no escritório ao executar esta tarefa.
tremby
4

Encontrei uma solução muito fácil para isso.

Isso aconteceu comigo no Powerpoint. Eu fui ao menu Powerpoint na parte superior da tela. Clique em "Janela" e, em seguida, clique em "Ampliar janela". Feito

DBranx
fonte
Esta é a única resposta que funcionou para 10.11.5 (codinome El Capitan).
pzulw
Como alternativa, Window> Zoom funcionou para mim (o Zoom in Window não era uma opção).
Thomas McCabe
3

Algo que tentei e funcionou para mim é mudar a resolução para uma mais baixa e depois trazê-la de volta. E apenas coloca magicamente o aplicativo no centro. Felicidades.

Arte
fonte
3

Encontrei esta aplicação: WindowWrangler

Permite usar atalhos de teclado para mover a janela.

Infelizmente, ele não funciona para a única janela que eu preciso: Inkscape em um ambiente XQuartz.

lauhub
fonte
2
Você encontrou alguma solução para xquartz?
Gebirgsbärbel
A solução que encontrei foi conectar um monitor externo: nesse caso, a janela alterada é a posição da maneira que eu poderia movê-lo. Eu o movo para que, depois de desconectar a tela, a barra superior da janela fique "acessível".
Lauhub 17/04/2014
@ gebirgsbärbel Veja a resposta que acabei de publicar abaixo. Eu acho que você pode achar útil.
Nkeguy
@ gebirgsbärbel Veja a [nova resposta] ( apple.stackexchange.com/a/238975/31154 ) eu postei abaixo, usando xdotoolutilidade, que finalmente resolveu todos os meus problemas
lauhub
3

Para um problema específico do X11 / XQuartz, aqui está uma solução que encontrei.

Pré-requisito

Primeiro, você precisará do xdotool . Pode-se instalá-lo usandobrew install xdotool

O básico

Você pode mover uma janela para a esquerda usando o seguinte script:

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

-44 é um valor que acredito ser a soma da altura da barra de título e da barra de menus. Se não estiver definido aqui, a janela abaixará em vez de manter a posição y.

Para movimento à direita:

xdotool getactivewindow windowmove --relative -- 100 -44

Para subir:

xdotool getactivewindow windowmove --relative -- x -100

Para descer:

xdotool getactivewindow windowmove --relative -- x 100

Portanto, agora, você pode mover a janela atualmente selecionada (a qual você pode acessar usando o Expose clicando nela se estiver fora da tela).

Expor vista

Você pode abrir o terminal e repetir os comandos até a janela aparecer.

Acesse-o via atalho

Para fazer sua janela se mover usando o atalho do teclado, você pode usar a explicação aqui

Na verdade, eu adicionei esses atalhos usando o BetterTouchTool.

  1. BetterTouchPreferences> Teclado
  2. Adicionar novo atalho
  3. Selecione o campo de texto do atalho de teclado e pressione (por exemplo) shift+ ^+ cmd+
  4. Selecione Ação predefinida de acionamento : Controlando outros aplicativos> Comando Executar terminal
  5. Digite o comando para (por exemplo) mover para a direita com o caminho completo para o xdotool (você pode obtê-lo usando o which xdotoolcomando)

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

  6. Clique no botão Salvar.

Repita o mesmo para outras direções e divirta-se!

lauhub
fonte
O fink não tem xdotool
Mei
2

Além disso, para ser completo, me deparei com isso: fique no aplicativo para Mac, embora ainda não o tenha experimentado ou comprado.

No site deles:

O Stay pode armazenar um conjunto de janelas para cada combinação de monitores que você usa com o seu computador. Por exemplo, se você tiver um laptop às vezes conectado a um monitor externo, poderá armazenar dois conjuntos de janelas no Stay; um com o monitor externo conectado e outro sem. Feito isso, você poderá garantir que suas janelas estejam sempre onde você deseja, mantendo o Restaurar janelas sempre que conectar ou desconectar o monitor externo. O Stay pode até ser configurado para restaurar automaticamente as janelas à medida que os monitores são conectados e desconectados.

robsoft
fonte
2

Eu tenho uma solução que funcionou para mim e vasculhei os fóruns e tentei de tudo que pude.

No final, encontrei um caminho. Instale um aplicativo chamado BetterTouchTool. Isso permite que você crie um atalho para fazer várias coisas úteis com sua tela etc. Em seguida, configure um atalho específico do aplicativo (muito mais fácil do que parece) e simplifique. Configurei-o para que uma "passagem de dois dedos" levasse a uma ação "Maximizar janela". Isso colocou o aplicativo ausente na tela do meu laptop e longe da tela do monitor fantasma em que ele estava preso.

Problema resolvido.

Aqui está uma imagem da aparência do BetterTouchTool quando eu configurei o atalho:

Atalho BetterTouchTool

Alec
fonte
Também resolvo o problema usando o BetterTouchTool.
Eugenio
2

Acabei de ter o mesmo problema no Mavericks, consegui resolver o problema seguindo estas etapas:

  1. Leve o ponteiro para uma borda da janela que saiu da tela, por exemplo, para a borda à direita.
  2. Quando você vir o ícone de redimensionamento (no meu caso, o ícone de redimensionamento horizontal), clique e segure.
  3. Enquanto "mantém pressionado o clique", arraste a janela. Voila!
Adolfo Abegg
fonte
Isso só funciona se a janela é contra a borda da outra janela
Mei
2

Um amigo meu escreveu uma ferramenta gratuita para trazer de volta as janelas; se você quiser conferir, clique aqui: http://bring-em-back.com

Gabiz Ra
fonte
2

Em El Capitan, as respostas simples aqui não funcionaram para mim ou não estavam disponíveis como opções. O que funcionou foi clicar com o botão direito do mouse no aplicativo no Dock (Chrome no meu caso) e selecionar Opções> Atribuir à área de trabalho no monitor 1. Isso moveu todas as janelas para a minha área de trabalho atual.

Ggutenberg
fonte
1

Parece que isso acontece com mais frequência quando a tela secundária está "acima" (em Preferências do Sistema -> Tela -> Arranjo). Quando o problema ocorre se eu mover o monitor externo "para a direita", as janelas do X11 reaparecem.

T Martin
fonte
1

Em Yosemite, se funcionasse para mim

  1. abra Preferências do Sistema
  2. abrir Tela <Resolução
  3. selecione "Escalado"
  4. altere a configuração temporariamente para qualquer outra coisa

Para mim, isso foi suficiente para forçar o aplicativo de volta à tela.

plfrick
fonte
1

Um pouco estranho, porém, que uma janela (Terminal no meu caso) se perdeu no arranjo. Tentei fazer zoom, trazer tudo para a frente, mas nada parecia funcionar.

Finalmente, a janela → Mesclar todas as janelas fez o truque.

Siddiq Koona
fonte
0

Você pode criar um aplicativo simples para fazer isso no AppleScript Editor. Digite o texto a seguir e salve-o como um aplicativo. Se você o colocar na pasta Aplicativos, será fácil acessá-lo via SpotLight. Chamei o meu de reunir janelas.

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
fonte
11
Para completar você precisa explicar como chegar "acesso assistiva Script Editor não é permitido" ao redor (Yosemite)
jcollum
0

Outra solução para o XQuartz:

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

Substitua 'inkscape' pelo que você quiser.

Yatharth Agarwal
fonte
0

Aqui está uma resposta fácil que leva 15 segundos e é uma correção permanente.

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

Esse problema aparece se você tiver vários monitores. O documento é aberto, apenas à esquerda, fora da tela de todas as telas. Você não pode corrigir isso com o Applescript: o XQuartz não implementa os verbos de capacidade de script padrão para obter e definir a posição das janelas. Também não implementa os equivalentes padrão do gerenciador de janelas X11.

A causa do problema é um conflito entre uma configuração de preferência no Inkscape e uma configuração de preferência no Mavericks.

A configuração de preferência pronta para uso do Mavericks em Preferências do sistema> Controle da missão é [x]. Os displays têm espaços separados

A configuração de preferência pronta para uso do Inkscape em sua barra de menus Arquivo> Preferências do Inkscape> Windows é (•) Salve e restaure a geometria da janela para cada documento.

Se você alterar a preferência do OS X (requer Logoff e logon novamente) ou alterar a preferência do Inkscape para (•) Não salve a janela Geometria (o que você não pode fazer, a menos que você consiga que o Inkscape mostre uma janela) o Inkscape executa conforme o esperado.

Portanto, se você deseja o novo comportamento do Mavericks com vários monitores no seu Mac, volte temporariamente para o modo antigo, altere uma preferência do Inkscape e defina o Mavericks de volta à barra de menus de cada tela.

Geoffrey Hyatt
fonte
0

No item de menu 'Janela' do aplicativo, selecione "Organizar tudo". Isso funcionou para o Microsoft PowerPoint para Mac, pode não funcionar para todos.

user220250
fonte
0

Eu tenho um problema semelhante no meu Mac ao abrir o MS Powerpoint, pois ele não aparece na tela. A maneira mais simples é ir para a barra de menus do Powerpoint na parte superior da tela do seu Mac e clicar em "Janela" e, em seguida, em "Organizar tudo". As janelas do PowerPoint ausentes / ocultas serão exibidas

Miss G Dacuma
fonte
0

A solução mais simples que encontrei para esse problema é clicar com o botão direito do mouse no ícone relevante na barra de tarefas e selecionar 'Ocultar'. Você pode fazer o mesmo e selecionar 'Mostrar' e, em seguida, sua janela desaparecida reaparecerá.

Baylaw
fonte