No Windows 7, eu sei que você pode fazer Windows+ Leftpara colocar uma janela na metade esquerda da tela. Existe um recurso que fará parte superior e inferior?
No Windows 7, eu sei que você pode fazer Windows+ Leftpara colocar uma janela na metade esquerda da tela. Existe um recurso que fará parte superior e inferior?
Respostas:
Não. As únicas opções de snap disponíveis são:
Edit: outras combinações incríveis que você pode gostar:
up
ou down
, por exemplo, para encaixar na parte superior esquerda . Não é o que o OP queria, mas talvez útil para os outros.
Eu uso as seguintes etapas para fazer isso:
Nota: Você deve minimizar as janelas que não deseja que sejam empilhadas. Isto é o que a etapa 1 se destina a fazer.
Escrevi um pequeno script do AutoHotKey para fechar as janelas de cima a baixo, porque também estava frustrado com isso. Você pode baixá-lo no meu site: http://www.pixelchef.net/how-snap-windows-horizontally-windows-7
; Move window up (Windows + Shift + UP ... NOTE must maximize window first)
+#Up::
WinGetPos,X,Y,W,H,A,,,
WinMaximize
WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
; if this is greater than 1, we're on the secondary (right) monitor. This
; means the center of the active window is a positive X coordinate
if ( X + W/2 > 0 ) {
SysGet, MonitorWorkArea, MonitorWorkArea, 1
WinMove,A,,X,0 , , (MonitorWorkAreaBottom/2)
}
else {
SysGet, MonitorWorkArea, MonitorWorkArea, 2
WinMove,A,,X,0 , , (MonitorWorkAreaBottom/2)
}
return
; Move window down (Windows + Shift + DOWN ... NOTE must maximize window first)
+#Down::
WinGetPos,X,Y,W,H,A,,,
WinMaximize
WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
; if this is greater than 1, we're on the secondary (right) monitor. This
; means the center of the active window is a positive X coordinate
if ( X + W/2 > 0 ) {
SysGet, MonitorWorkArea, MonitorWorkArea, 1
WinMove,A,,X,MonitorWorkAreaBottom/2 , , (MonitorWorkAreaBottom/2)
}
else {
SysGet, MonitorWorkArea, MonitorWorkArea, 2
WinMove,A,,X,MonitorWorkAreaBottom/2 , , (MonitorWorkAreaBottom/2)
}
return
WindowSpace fornece essa funcionalidade. Para fazer o que você está pedindo:
Settings
Captura de tela:
Atualmente, não tenho uma máquina com o Windows 7 na minha frente, mas desde o Windows 95 (ou mesmo antes, possivelmente), existe a opção de colocar janelas na horizontal. Minimize tudo, exceto as duas janelas que você deseja exibir na parte superior e inferior, clique com o botão direito do mouse na barra de tarefas e selecione Lado a lado janelas horizontalmente. Ele dimensionará cada janela para ocupar metade da área vertical da tela. Isso não é útil em uma única janela e, como outra resposta afirmou, não há atalho de teclado, mas às vezes acho útil.
Correção: no Windows 7, isso é chamado "Mostrar janelas empilhadas"
Semelhante ao northben, também escrevi um script AutoHotKey, embora um pouco diferente, por isso achei que merecia sua própria resposta. Esse script deve funcionar com qualquer número de monitores ou orientações do monitor.
Os comandos estão vinculados a Windows+ Ctrl+ Upe, em Downvez de Shiftnão interferirem no Windows+ Shift+ existente Up.
Isso funciona de maneira semelhante ao snap à altura da tela cheia ( Windows+ Shift+ Up), pois a janela mantém sua posição e largura horizontais. Isso pode ser facilmente alterado para funcionar de maneira semelhante à metade esquerda ou à direita meia snap ( Windows+ Leftou Right) descomentando a ; WinMaximize, A
linha. Se você deseja manter o comportamento padrão, mas às vezes usa o comportamento de meio snap, basta maximizar a janela antes de snap.
Funciona com Windows 7 de 64 bits e AutoHotKey v1.1.14.03.
;-------------------------------------------------------------------;
; Returns the maximum or minimum value for any number of inputs
; i.e. Max(5,4,7,10) will return 10
;-------------------------------------------------------------------;
Min(params*)
{
r := params[1]
for index, param in params
if (param < r)
r := param
return r
}
Max(params*)
{
r := params[1]
for index, param in params
if (param > r)
r := param
return r
}
;-------------------------------------------------------------------;
; WindowsKey+Ctrl+Up / WindowsKey+Ctrl+Down
; Resizes window to half the screen height and moves it to the top
; or bottom of whichever screen has the largest overlap.
; By default, the window retains its horizontal (x) position and
; width. To change this, uncomment the WinMaximize line.
;-------------------------------------------------------------------;
UpDownSnap(Direction)
{
; WinMaximize, A
WinGetPos, x, y, w, h, a, , ,
SysGet , Count, MonitorCount
refArea := 0
Loop, %count%
{
SysGet, m, MonitorWorkArea, %A_Index%
xo := Max(0, Min(x + w, mRight) - Max(x, mLeft))
yo := Max(0, Min(y + h, mBottom) - Max(y, mTop))
area := xo * yo
if (area > refArea)
{
monTop := mTop
monBottom := mBottom
refArea := area
}
}
; If the refArea is still equal to 0, the window does
; not overlap with any monitors. Wat?
if (refArea > 0)
{
if (direction = 1)
newY := monTop
Else
newY := (monBottom - monTop) / 2 + monTop
WinMove , a, , x, newY, w, (monBottom - monTop) / 2
}
}
^#Up::UpDownSnap(1)
^#Down::UpDownSnap(0)
The following variable name contains an illegal character: "params*"
. Por enquanto estou usando o script de @ northben
O melhor programa que já usei que realiza exatamente isso e mais é o WinSplit Revolution: http://winsplit-revolution.com/
Eu recomendo, pois é extremamente simples de usar e até funciona bem com vários monitores.
Vídeo de demonstração: http://winsplit-revolution.com/screenshots/videos-demos
Este aplicativo é gratuito e lançado sob a Creative Commons Attribution-Non Commercial-No Derivative Works 3.0.
EDITAR:
Parece que o WinSplit não está mais disponível, o site foi ocupado pela Digital Creations AS, que possui sua própria versão desse tipo de software e não é mais gratuito
Como Rain sugeriu aqui , o PowerResizer funciona bem. Não é muito personalizável - você não pode alterar os atalhos do teclado, mas é pelo menos de código aberto. Como observa JoeB, você pode pressioná-los enquanto arrasta uma janela: W para mover para cima e Z para mover para baixo. A é mover para a esquerda, S para mover para a direita. Ou simplesmente arraste a janela para a borda. Pressionar 1,2,3 e 4 enquanto arrasta fará um quarto de snap para um canto. Estou feliz com isso, experimente.
Se você possui uma placa de vídeo AMD, pode usar o "Hydravision".
(1) Abra o Catalyst Control Center (2) Em "Desktop e monitores", clique em "Mais ..." (3) Em "Hydravision", clique em "HydraGrid" (4) Marque "Ativar HydraGrid" (5) Clique em "Editar HydraGrid "e coloque as linhas de grade onde desejar, por exemplo, na metade do monitor de retrato (6)
Agora, quando você estiver trabalhando com janelas, clique com o botão direito do mouse na barra de título e selecione "Anexar à grade", depois arraste-o de um lugar para outro e ele se encaixará na grade.
Eu corro monitores 3x1 de 24 "no modo retrato com essa configuração e é a maneira mais rápida que encontrei de encaixar as janelas na metade superior e inferior de cada monitor.
Confira o AquaSnap . Você pode arrastar o mouse conforme o esperado, use Ctrl + Mouse para redimensionar duas janelas lado a lado ao mesmo tempo, além de vários outros recursos.
Você também pode usar uma grande variedade de teclas de atalho. Este programa substitui alguns padrões do Windows que você já está acostumado a usar, além de alterar Win + Up e Win + Down para dock para cima / baixo.
O WindowSpace funciona, mas não é tão bom assim, e pode demorar um pouco quando você pressiona Aplicar. Comparativamente, a versão gratuita / de avaliação do Aquasnap Pro é uma experiência muito tranquila.
Existem muitas opções fornecidas pelo Windows, incluindo EMPILHAMENTO, LADO A LADO e CASCADING. Para isso, clique com o botão direito do mouse em uma área vazia na barra de tarefas (geralmente na parte inferior da tela) e selecione. Sim, não é um atalho de teclado, mas é bem próximo.
Não confie em mim, entenda diretamente da boca do cavalo, a Microsoft aqui .
Além disso, o site tem muitos outros bons petiscos - muitos que você conhece, alguns podem ser novos. Espero que isto ajude.
Existe uma maneira livre de terceiros de obter essa funcionalidade, mas o AFAIK:
A receita é:
Win+Down
para fazer com que uma das janelas ocupe um quarto da telaWin+Up
para que a outra janela fique no quarto oposto da telaCorrigido um erro na solução de Jason Clement. Quando a janela se encaixa verticalmente, anteriormente também não ocupava a largura do monitor. Ele permaneceria na largura atual da janela, mas se ajustaria a 1/2 monitor verticalmente. Com essa correção, ele se ajusta a 50% da altura vertical para cima ou para baixo e a 100% da largura horizontal do monitor.
Além disso, para quem pode não conhecer AHK ...
Espero que ajude, e obrigado Jason!
;-------------------------------------------------------------------;
; Returns the maximum or minimum value for any number of inputs
; i.e. Max(5,4,7,10) will return 10
;-------------------------------------------------------------------;
Min(params*)
{
r := params[1]
for index, param in params
if (param < r)
r := param
return r
}
Max(params*)
{
r := params[1]
for index, param in params
if (param > r)
r := param
return r
}
;-------------------------------------------------------------------;
; WindowsKey+Ctrl+Up / WindowsKey+Ctrl+Down
; Resizes window to half the screen height and moves it to the top
; or bottom of whichever screen has the largest overlap.
; By default, the window retains its horizontal (x) position and
; width. To change this, uncomment the WinMaximize line.
;-------------------------------------------------------------------;
UpDownSnap(Direction)
{
; WinMaximize, A
WinGetPos, x, y, w, h, a, , ,
SysGet , Count, MonitorCount
refArea := 0
Loop, %count%
{
SysGet, m, MonitorWorkArea, %A_Index%
xo := Max(0, Min(x + w, mRight) - Max(x, mLeft))
yo := Max(0, Min(y + h, mBottom) - Max(y, mTop))
area := xo * yo
if (area > refArea)
{
monTop := mTop
monBottom := mBottom
monLeft := mLeft
monRight := mRight
refArea := area
}
}
; If the refArea is still equal to 0, the window does
; not overlap with any monitors. Wat?
if (refArea > 0)
{
if (direction = 1)
newY := monTop
Else
newY := (monBottom - monTop) / 2 + monTop
WinMove , a, , monLeft, newY, (monRight - monLeft), (monBottom - monTop) / 2
}
}
^#Up::UpDownSnap(1)
^#Down::UpDownSnap(0)
Uma opção que eu achei útil é subdividir seus monitores em meios virtuais usando o DisplayFusion . Você configura isso fazendo o seguinte:
Monitor Configuration
.vertical split
ao monitor. (Você pode brincar com isso e dividir seus monitores ainda mais.)Com isso ativado, você poderá usar as teclas Windows+ Arrowpara navegar na janela e maximizar a nova área dividida verticalmente do seu monitor. Estou prestes a rodar meus dois monitores 1920x1200 no modo retrato quando meus 30 "entrarem e janelas com abertura vertical serão uma necessidade.
Eu precisava dividir repetidamente as duas janelas do navegador superior e inferior no Windows 10 com uma configuração de vários monitores, com muitas outras janelas já abertas. Poderia fazê-lo manualmente, mas queria uma solução melhor.
Eu achei a extensão "Redimensionamento de guia - Layouts de tela dividida" da extensão do Chrome que tornou isso super fácil para mim.
Basta abrir uma nova janela do Chrome, clique no ícone da extensão Redimensionar guia, escolha a opção 2x1. Bom e fácil agora.
Se você usa um monitor Dell, pode instalar o Dell Display Manager, que possui opções para dividir a tela em uma grade.
Em seguida, você pode arrastar a janela para uma célula enquanto mantém pressionada a tecla Shift.