É possível “encaixar” a parte superior / inferior em vez de apenas esquerda / direita no Windows 7?

107

No Windows 7, eu sei que você pode fazer Windows + Esquerda para colocar uma janela na metade esquerda da tela. Existe um recurso que fará top e bottom?

    
por Abe Miessler 18.05.2011 / 19:10

17 respostas

69

Não. As únicas opções de snap disponíveis são:

  • à esquerda, meio snap ( Windows + à esquerda )
  • meio estalo ( Windows + direito )
  • altura total da tela ( Windows + deslocamento + acima )
  • snap maximizado ( Windows + acima )
  • "descompactar" ( Windows + inativo )
  • ajuste para o próximo monitor / display ( Windows + deslocamento + ( à esquerda ou à direita ))

Editar: outras combinações incríveis que você pode gostar:

  • minimize tudo ( Windows + m )
  • minimize todas as janelas, exceto as ativas ( Windows + Início )
  • Aero peek (veja Desktop, todo o Windows fica transparente) ( Windows + espaço )
por 18.05.2011 / 19:14
49

Eu uso as seguintes etapas para realizar isso:

  1. Windows + D (para minimizar todas as janelas)
  2. use meu mouse para colocar as janelas que quero empilhar no colocação geral em cada monitor (não se incomode em redimensioná-los)
  3. clique com o botão direito na barra de tarefas e selecione "Mostrar janelas empilhadas" no menu de contexto, restaure qualquer outra janela que eu queira

Nota: você deve minimizar todas as janelas que não deseja empilhar. Isto é o que o passo 1 pretende fazer.

    
por 21.06.2012 / 20:28
23

Eu escrevi um pequeno script AutoHotKey para tirar as janelas de cima e de baixo porque eu também estava frustrado com isso. Você pode baixá-lo do meu site: link

; 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
    
por 15.05.2012 / 05:58
20

WindowSpace fornece essa funcionalidade. Para fazer o que você está pedindo:

  • Vá para a guia "Mover e redimensionar" em Settings
  • Para "Borda superior:", escolha "Mover para o lado superior"
  • Para "Borda inferior:", escolha "Mover para o lado inferior"

Screenshot:

    
por 19.05.2011 / 11:20
9

Eu não tenho uma máquina windows 7 na minha frente atualmente, mas desde o Windows 95 (ou mesmo antes, possivelmente), tem havido a opção de lado a lado janelas horizontalmente. Minimize tudo, exceto duas janelas que você deseja ver na parte superior e inferior, clique com o botão direito na barra de tarefas e selecione Lado a lado na horizontal. Ele dimensionará cada janela para ocupar metade da área da tela vertical. Isso não é útil para uma única janela, e como outra resposta afirmou, não há atalho de teclado para ela, mas eu acho útil algumas vezes.

Correção: no Windows 7, isso é chamado de "Mostrar janelas empilhadas"

    
por 18.05.2011 / 19:24
7

O melhor programa que já usei para realizar exatamente isso e mais é o WinSplit Revolution: link

Eu recomendo, pois é extremamente simples de usar e até funciona bem com vários monitores.

Vídeo de demonstração: link

Este aplicativo é gratuito e lançado sob Creative Commons Attribution-Non-Commercial-No Derivative Works 3.0.

EDITAR:

Parece que o WinSplit não está mais disponível, o site foi adquirido pela Digital Creations AS, que tem sua própria versão deste tipo de software, e é não é mais grátis

    
por 21.06.2012 / 21:09
7

Similar ao northben, eu também escrevi um script AutoHotKey, embora um pouco diferente, então achei que ele merecia uma resposta própria. Este script deve funcionar com qualquer número de monitores ou orientações do monitor.

Os comandos estão limitados a Windows + Ctrl + Acima e Abaixo ao invés de Deslocamento para não interferir com o do Windows existente + Shift + Acima .

Isto funciona de forma semelhante à altura total da tela ( Janelas + Deslocamento + Acima ) em que a janela retém sua posição horizontal e largura. Isso pode ser facilmente alterado para funcionar de maneira similar à metade esquerda ou meia direita ( Windows + Esquerda ou Direita ) descomentando a linha ; WinMaximize, A . Se você quiser manter o comportamento padrão, mas às vezes use o comportamento de meia pressão, apenas maximize a janela antes de tirar.

Funciona com o Windows 7 de 64 bits e a 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)
    
por 21.03.2014 / 22:32
5

coloque suas janelas como quiser - > clique com o botão direito na barra de tarefas - > "mostrar janelas empilhadas" - > lucro!

    
por 25.06.2014 / 16:02
4

Como Rain sugeriu aqui , PowerResizer funciona bem. Não muito personalizável - você não pode alterar atalhos de teclado, mas é pelo menos de código aberto. Como JoeB observa, você pode pressioná-los enquanto arrasta uma janela: W para mover para cima e Z para mover para baixo. A é se mover para a esquerda, S para ir para a direita. Ou simplesmente arraste a janela até a borda. Pressionar 1,2,3 e 4 enquanto arrasta faz um quarto para um canto. Estou feliz com isso, experimente.

    
por 19.06.2014 / 22:37
3

Se você tem uma placa gráfica AMD, você pode usar o "Hydravision".

(1) Abra o Catalyst Control Center (2) Em "Área de Trabalho e Monitores", clique em "Mais ..." (3) Em "Hydravision", clique em "HydraGrid" (4) Marque "Ativar HydraGrid" (5) Clique em "Editar HydraGrid" e coloque linhas de grade onde você gostaria, por exemplo meio caminho até um monitor de retrato (6) Aplicar

Agora, quando você estiver trabalhando com o Windows, clique com o botão direito do mouse na barra de título e selecione "Anexar à grade" e, em seguida, arraste-o de um lugar para outro e ele se encaixará na grade.

Eu corro monitores de 24 x 25 cm no modo retrato com essa configuração e é a maneira mais rápida que encontrei de tirar as janelas da metade superior e inferior de cada monitor.

    
por 31.05.2012 / 05:40
1

Existem muitas opções oferecidas pelo Windows, incluindo EMPILHAMENTO, LADO A LADO e CASCADING. Isso é feito clicando com o botão direito do mouse em uma área vazia na barra de tarefas (geralmente na parte inferior da tela) e selecionando. Sim, não é um atalho de teclado, mas é bem próximo.

Não confie em mim, obtenha diretamente da boca do cavalo, aqui .

Além disso, o site tem muitas outras coisas boas - muitas que você sabe, algumas podem ser novas. Espero que isso ajude.

    
por 12.01.2013 / 00:17
1

Confira AquaSnap . Você pode arrastar o mouse conforme o esperado, usar Ctrl + Mouse para redimensionar duas janelas lado a lado ao mesmo tempo, além de vários outros recursos.

Vocêtambémpodeusarumagrandevariedadedeteclasdeatalho.EsteprogramasubstituialgunspadrõesdoWindowsquevocêjáestáacostumadoausar,alémdealteraroWin+UpeWin+Downparaencaixarnapartesuperior/inferior.

O WindowSpace funciona, mas não é tão bom, e pode ficar desligado por um tempo quando você clica em aplicar. Comparativamente, a versão gratuita / experimental do Aquasnap Pro é uma experiência muito suave.

    
por 28.03.2017 / 23:48
1

Corrigido um erro na solução de Jason Clement. Quando a janela se encaixa verticalmente, anteriormente não ocuparia também a largura do monitor. Ele ficaria na largura da janela atual, mas se encaixaria na metade do monitor verticalmente. Com essa correção, ele se ajusta a 50% da altura vertical para cima ou para baixo e 100% da largura horizontal do monitor.

Além disso, para quem não conhece o AHK ...

  1. Faça o download de AutoHotKey
  2. Crie um arquivo de texto no bloco de notas. Cole o código nele. Salve-o com a extensão correta para AutoHotKey, por exemplo "VerticalSnap.ahk"
  3. Clique com o botão direito no arquivo no Explorer, escolha "Compile script"
  4. A compilação deve criar um arquivo "VerticalSnap.exe" nesse diretório.
  5. Abra o run.exe, digite "shell: startup" e pressione Enter.
  6. Uma nova janela do Explorer deve abrir na pasta Inicializar.
  7. Copie / cole o arquivo .exe nesta pasta de inicialização.
  8. Na próxima inicialização, esse script deve estar em execução. Você pode usar CRTL + WINDOWS + UPARROW ou + DOWNARROW para encaixar na parte superior da metade inferior do monitor. Observe que a janela não deve ser maximizada para que isso funcione.

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)
    
por 21.12.2017 / 21:37
0

Uma opção que achei útil é subdividir seus monitores em meios virtuais usando DisplayFusion . Você configura isso fazendo o seguinte:

  • Clique com o botão direito do mouse no ícone DisplayFusion, localizado na sua área de notificação, e vá para Monitor Configuration .
  • Selecione o monitor que você deseja configurar.
  • Adicione um vertical split ao monitor. (Você poderia brincar com isso e dividir seus monitores ainda mais).

Com isto ativado, você deve ser capaz de usar suas teclas Windows + Seta para navegar na sua janela para maximizar a nova área dividida verticalmente do seu monitor. Estou prestes a executar meus dois monitores de 1920x1200 no modo retrato uma vez que meu 30 "vem e janelas de encaixe vertical serão uma necessidade.

    
por 04.12.2013 / 08:30
0

Eu precisava dividir repetidamente as duas janelas do navegador na parte superior e inferior do Windows 10 com uma configuração de vários monitores com muitas outras janelas já abertas. Poderia fazer isso manualmente, mas queria uma solução melhor.

Eu descobri que a extensão "Redimensionamento de tela - Layouts de tela dividida" da Extensão do Google Chrome tornou isso super fácil para mim.

Basta abrir uma nova janela do Chrome, clicar no ícone da extensão Redimensionar separador e escolher a opção 2x1. Bom e fácil agora.

    
por 09.06.2016 / 23:22
0

Existe uma maneira livre de terceiros para obter essa funcionalidade, mas AFAIK:

  • Requer algum uso do mouse
  • Funciona apenas para duas janelas.

A receita é:

  1. Encaixe as janelas lado a lado da maneira normal.
  2. Pressione Win+Down para fazer uma das janelas ocupar um quarto da tela
  3. Selecione a outra janela e pressione Win+Up para fazer a outra janela ocupar o quarto oposto da tela
  4. Use o mouse para agarrar a borda da janela e redimensioná-la para a borda da tela, maximizando a largura de cada janela sem alterar suas alturas.
por 16.12.2016 / 13:51
0

Se você usa um monitor Dell, pode instalar o Dell Display Manager, que tem opções para dividir a tela em uma grade.

Depois, você pode arrastar a janela para uma célula enquanto mantém pressionada a tecla Shift.

    
por 16.07.2018 / 08:57