Atalho do teclado para mover uma janela para outra tela

20

Ao trabalhar com duas (ou mais telas), um problema comum é que os aplicativos iniciados aparecem na tela "errada". Eu acho isso especialmente irritante ao iniciar um editor de texto na linha de comando, porque tenho que sair da linha inicial com a mão direita para arrastar a janela para a tela "direita" antes de continuar digitando.

É possível definir um atalho de teclado que move o aplicativo atual para a outra / próxima tela?

Editar : estou usando o Windows XP, mas é bom saber que o recurso já existe no Windows 7.


Edit2 : Eu fui para o script de autohotkey . Essa adaptação funciona para mim:

#q::
WinGetPos, winx, winy,,, A
WinGet, mm, MinMax, A
WinRestore, A
If (winx > 1270)
{
    newx := winx-1270
    OutputDebug, Moving left from %winx% to %newx%
}
else
{
    newx := winx+1270
    OutputDebug, Moving right from %winx% to %newx%
}

WinMove, A,, newx, winy

if mm=1
    WinMaximize, A
Return

Eu tive que fazer uso das instruções OutputDebug e dbgview para descobrir o valor do limite apropriado 1270para mover para a esquerda ou direita. O limite exato é especialmente importante ao mover janelas maximizadas para a esquerda.

wcoenen
fonte

Respostas:

4

Autohotkey! Isso se moverá entre os monitores (dois monitores 1680x1050, defina o valor depois Loop,como a resolução da tela de cada monitor / 10, se você for diferente) no winkey (#) e q. Controle é ^, alt é!, Shift é + e letras são letras. Você também pode usar combinações dos modificadores.

#z:: ;Move the active window to the other monitor.
WinGetPos, winx, winy,,, A
WinGet, oldWin,ID,A
WinActivate, A
WinGet, mm, MinMax, A
WinRestore, A
If winx+5 >= 0 then
    mult=1
else
    mult=-1
WinMove,A,, winx-(1680*mult), winy
if mm=1
    WinMaximize, A
Return
Phoshi
fonte
1
Isso é promissor, mas o loop é realmente lento. A janela se arrastou por cima do meu desktop em :-) passo de caracol
wcoenen
O script também move a janela sob o ponteiro do mouse, em vez do atualmente ativo.
Wcoenen 29/10/09
Ops! Eu o tenho no mouse 4 e clique duas vezes, portanto, com o mouse, é melhor para mim, e o mais interessante é que o XP demorou a redesenhar as janelas. É bom no Vista e acima. Um momento, por favor :)
Phoshi 29/10/09
Certo, editado o script lá, tente isso :)
Phoshi
58

Qual versão do windows você está usando? O Windows 7 vem com suporte nativo para exatamente isso.

Win+ Shift+ left: Move a janela focalizada um monitor para a esquerda

Win+ Shift+ right: Move a janela focalizada um monitor para a direita

EDIT : Para XP, você pode experimentar o UltraMon . Entre outras coisas, você poderá definir teclas de atalho para "Mover janela para o próximo monitor" e "Mover janela para o monitor anterior".

BenA
fonte
1
Eu me sinto como um novato por não saber que +1
Ivo Flipse
Fora do tópico, mas como você criou esses "botões"?
SYnfo 29/10/09
2
@sYnfo quebra o "botão" em uma tag <kbd> </kbd>
BenA
+1, obrigado por isso. Eu estava usando Ultramon anteriormente, não preciso mais disso.
29409 Pauk
2
ISTO deveria ter sido escolhido como resposta. Ainda bem que encontrei isso.
Bless Yahu
3

em outras versões do Windows, você pode clicar com o botão direito do mouse na barra de tarefas, selecionar "mover" e usar as teclas de seta para mover a janela para a janela correta ... Menciono apenas isso porque, de vez em quando, deixo acidentalmente um janela no monitor errado e, quando uso meu laptop em casa, não consigo ver a janela porque está fora do monitor. Levei um tempo para descobrir isso!


fonte
1
Embora no Windows7 você não possa mover-se no menu da barra de tarefas, você ainda pode mover as janelas usando as teclas de atalho: Ctrl + Space e, em seguida, M, teclas de seta e finalmente Enter. en.wikipedia.org/wiki/…
Roland Pihlakas
Correção: No Windows 7, você pode mover-se da barra de tarefas - UseShift + Right Click
Amit Naidu 11/11
1

Se você não possui o Windows 7, tente o DisplayFusion . A versão gratuita permite que você configure teclas de atalho para mover janelas para o próximo monitor e várias outras vantagens.

Charles Savoie
fonte