¿Es posible "ajustar" arriba / abajo en lugar de solo izquierda / derecha en Windows 7?

125

En Windows 7, sé que puedes hacer Windows+ Leftpara poner una ventana en la mitad izquierda de la pantalla. ¿Hay alguna característica que haga arriba y abajo?

Abe Miessler
fuente
@RockPaperLizard También debe recordar que Windows 7 es realmente antiguo y es el único sistema operativo que tiene una función de ajuste nativo, hasta la fecha. Tengo que encontrar un script de tipo "extensión" de terceros para hacer esto en Mac, por ejemplo. Además, Windows 10 tiene Snap para todas las direcciones, ¡incluidas las esquinas! En otras palabras, creo que el equipo de Windows realmente intenta en el lado de UX. La IU a veces es una prueba de personalidad, pero UX es algo en lo que Windows es históricamente bastante bueno.
Joseph Hansen
@Joseph Estoy de acuerdo en que MS ha tenido muchos éxitos en el ámbito de UX. Incluso estuvieron dispuestos a explorar nuevos territorios, aunque no tuvieron éxito comercial, con Microsoft Bob . Desafortunadamente, sus éxitos se ven empañados por muchas fallas abyectas, la más notable es Windows 8 . No sé si el fracaso de ese proyecto fue su equipo UX o la negativa de la gerencia a escucharlos.
RockPaperLizard

Respuestas:

73

No. Las únicas opciones de ajuste disponibles son:

  • medio chasquido izquierdo ( Windows+ left)
  • mitad derecha ( Windows+ right)
  • ajuste de altura de pantalla completa ( Windows+ shift+ up)
  • complemento maximizado ( Windows+ up)
  • "desabrochar" ( Windows+ down)
  • pasar al siguiente monitor / pantalla ( Windows+ shift+ ( lefto right))

Editar: otras combinaciones increíbles que te pueden gustar:

  • minimizar todo ( Windows+ m)
  • minimizar todo menos la ventana activa ( Windows+ Home)
  • Aero peek (ver escritorio, todas las ventanas se vuelven transparentes) ( Windows+ space)
Joseph Hansen
fuente
Genial, estaba tratando de descubrir cómo mantener fija la posición vertical, pero permitir el movimiento horizontal sin usar el ajuste de pantalla izquierda / derecha y tener que reajustar el ancho de la ventana, y el ajuste de altura de pantalla completa hace exactamente lo que quería.
JAB
44
Ah, acabo de descubrir que al hacer doble clic en el borde superior de la barra de título (es decir, cuando se muestra la flecha vertical de doble punta) también se ajusta la altura de la pantalla.
JAB
77
En Windows 10 ahora hay otra opción: después de ajustar a la izquierda o derecha, puede presionar upo down, por ejemplo, para ajustar a la esquina superior izquierda . No es lo que el OP quería, pero puede ser útil para otros.
Andre
sin "ajuste de ancho de pantalla completa?" -_-
Shayan
Para el votante negativo, esta es la respuesta correcta para Windows 7. Windows 10 tiene nuevas opciones de ajuste ...
Joseph Hansen
58

Utilizo los siguientes pasos para lograr esto:

  1. Windows+ D(para minimizar todas las ventanas)
  2. luego use mi mouse para colocar las ventanas que quiero apilar en la ubicación general de cada monitor (no se moleste en cambiar su tamaño)
  3. luego haga clic derecho en la barra de tareas y seleccione "Mostrar ventanas apiladas" en el menú contextual y luego restaure cualquier otra ventana que desee

Nota: debe minimizar las ventanas que no desea apilar. Esto es lo que se pretende hacer en el paso 1.

Nathaniel
fuente
1
Esto es realmente útil. Sé esto desde win 98 pero nunca lo he usado en win 7, porque en win XP y versiones anteriores puedes seleccionar botones de la barra de tareas para elegir qué ventanas apilar, pero eso ya no funciona en Windows 7, así que cuando selecciono la opción apilará todas las ventanas en la pantalla. Blog de TechNet: ¿sabía usted: vidrieras apiladas, en cascada o de lado a lado
phuclv
Esto es útil, pero apilará todas las ventanas en todos los monitores.
Leo
Esto todavía funciona para Windows 10 también.
snickers10m
@Leo, y en todos los escritorios también. Interesante :)
J Bryan Precio
23

Escribí un pequeño script de AutoHotKey para ajustar las ventanas hacia arriba y hacia abajo porque también estaba frustrado por esto. Puede descargarlo de mi sitio web: 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
Northben
fuente
Funciona, pero también abre la pantalla de inicio en Windows 8.1. ¿Cómo remediar este problema?
Gabriel Hautclocq
2
Esto es exactamente lo que esperaba encontrar. ¡Gracias! He notado que el comando no cambia el ancho de la ventana. ¿Alguna forma de pasar automáticamente al ancho de pantalla completa cuando se ajusta hacia arriba / abajo?
Alex P. Miller
1
Esto no me funciona en Windows 10. Tengo 3 monitores, de los cuales 2 están en modo vertical. Estás hablando explícitamente de 2 áreas de trabajo, no estás seguro si esta es la causa. También debe mencionar qué combinación de teclas debe presionar en esta respuesta para las personas que no conocen la sintaxis AHK
Joakim Söderberg
1
Solo funciona en parte en mi Windows 7 con un monitor horizontal y uno vertical. Perfectamente en el monitor horizontal, pero en el vertical parece tomar la altura del horizontal.
hardmooth
21

WindowSpace proporciona esta funcionalidad. Para hacer lo que estás pidiendo:

  • Vaya a la pestaña "Mover y cambiar el tamaño" en Settings
  • Para "Borde superior:", elija "Mover al lado superior"
  • Para "Borde inferior:", elija "Mover al lado inferior"

Captura de pantalla:

captura de pantalla

Russell Davis
fuente
99
¿Se requiere la clave de licencia de $ 25 en algún momento?
ruffin
2
Prefiero AquaSnap (es gratis o cuesta 9 dólares para varios monitores): youtube.com/watch?v=bOVOEebpiWc Pero desde Windows 10 ya no es necesario porque las características más importantes son parte del sistema operativo, ahora.
mgutt
1
AquaSnap ahora cuesta $ 18 (si usa varios monitores), y hace muchas cosas que Win10 no hace, como el ajuste superior / inferior y el mosaico. Muy genial.
isherwood
9

Actualmente no tengo una máquina con Windows 7 frente a mí, pero desde Windows 95 (o incluso antes), ha habido la opción de colocar ventanas en mosaico horizontalmente. Minimice todo menos dos ventanas que desee ver en la parte superior e inferior, haga clic con el botón derecho en la barra de tareas y seleccione Tile Windows horizontalmente. Se ajustará el tamaño de cada ventana para ocupar la mitad del área vertical de la pantalla. Esto no es útil para hacer en una sola ventana, y como dijo otra respuesta, no hay atajo de teclado para ello, pero a veces me resulta útil.

Corrección: en Windows 7, esto se llama "Mostrar ventanas apiladas"

rmart
fuente
8

Al igual que Northben, también escribí un script AutoHotKey, aunque de manera un poco diferente, así que pensé que merecía su propia respuesta. Este script debería funcionar con cualquier cantidad de monitores u orientaciones de monitor.

Los comandos están vinculados a Windows+ Ctrl+ Upy en Downlugar de Shiftno interferir con el Windows+ Shift+ existente Up.

Esto funciona de manera similar al ajuste de altura de pantalla completa ( Windows+ Shift+ Up) en que la ventana conserva su posición horizontal y ancho. Esto se puede cambiar fácilmente para que funcione de manera similar a la mitad izquierda o la mitad derecha ( Windows+ Lefto Right) al descomentar la ; WinMaximize, Alínea. Si desea mantener el comportamiento predeterminado, pero a veces usa el comportamiento de medio ajuste, simplemente maximice la ventana antes de ajustar.

Funciona con Windows 7 de 64 bits y 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)
Jason Clement
fuente
1
Desearía que esto hubiera funcionado. Me estoy poniendo The following variable name contains an illegal character: "params*". Por ahora estoy usando el script de @ northben
bits
Gracias por este guion. Super útil Descubrí que no se cargaría hasta que eliminara el espacio entre el nombre de la función UpDownSnap y el paréntesis.
Jason Dufair
Tal vez eso también fue un problema de bits arriba. Curiosamente, mi propio script no tiene el espacio; No estoy seguro de cómo llegó allí. Lo he eliminado, gracias.
Jason Clement
Funciona bien en Windows 8.1 :-)
Gabriel Hautclocq
Gracias @JasonClement por su solución. Arregle un error en su solución y publiqué como otra respuesta.
Zee
7

El mejor programa que he usado que logra exactamente esto y más es WinSplit Revolution: http://winsplit-revolution.com/

Lo recomiendo, ya que es extremadamente simple de usar e incluso funciona bien con múltiples monitores.

Video de demostración: http://winsplit-revolution.com/screenshots/videos-demos

Esta aplicación es gratuita y se lanzó bajo Creative Commons Reconocimiento-No comercial-Sin obras derivadas 3.0.

EDITAR:

Parece que WinSplit ya no está disponible, el sitio web ha sido asumido por Digital Creations AS, que tiene su propia versión de este tipo de software, y ya no es gratuito

Marcin
fuente
El software todavía está disponible desde softonic y aún funciona de maravilla en Windows 10 a partir de la Actualización 1809. en.softonic.com/download/winsplit-revolution/windows
JoeB
5

coloque las ventanas como desee -> haga clic derecho en la barra de tareas -> "muestre las ventanas apiladas" -> ¡ganancias!

clevboy
fuente
4

Como Rain sugirió aquí , PowerResizer funciona bien. No es muy personalizable: no puede cambiar los atajos de teclado, pero al menos es de código abierto. Como señala JoeB, puede presionarlos mientras arrastra una ventana: W para subir y Z para bajar. A es moverse hacia la izquierda, S para moverse hacia la derecha. O simplemente arrastre la ventana al borde. Presionando 1,2,3 y 4 mientras arrastra, hará un cuarto de snap en una esquina. Estoy feliz con eso, pruébalo.

leetNightshade
fuente
Acabo de probar WindowSpace; Si no le importa pagar $ 25, es una solución mucho mejor.
leetNightshade
1
Hay documentación! readme.txt en la carpeta de instalación de archivos de programa. Sin mencionar que hace exactamente lo que quería, que era medio chasquido vertical. ¡1/4 instantáneas son una bonificación extra!
Scaryman
3

Si tiene una tarjeta gráfica AMD, puede usar "Hydravision".

(1) Abra el Centro de control de Catalyst (2) En "Escritorio y pantallas" haga clic en "Más ..." (3) En "Hydravision" haga clic en "HydraGrid" (4) Marque "Habilitar HydraGrid" (5) Haga clic en "Editar HydraGrid "y coloque líneas de cuadrícula donde desee, por ejemplo, a la mitad de un monitor vertical (6) Aplicar

Ahora, cuando trabaje con Windows, puede hacer clic derecho en la barra de título y seleccionar "Adjuntar a cuadrícula", luego arrastrarlo de un lugar a otro y se ajustará a la cuadrícula.

Ejecuto monitores 3x1 de 24 "en modo vertical con esta configuración y es la forma más rápida que he encontrado para ajustar ventanas a la mitad superior e inferior de cada monitor.

Mate
fuente
1
Cometí el error de instalar Catalyst Control Center para probar Hydravision. Ese programa es un cerdo y estoy buscando otra solución.
dana
2

Echa un vistazo a AquaSnap . Puede arrastrar el mouse como se espera, use Ctrl + Mouse para cambiar el tamaño de dos ventanas en mosaico al mismo tiempo, además de una serie de otras características.

Vea increíbles funciones de acoplamiento

También puede usar una amplia variedad de teclas de acceso rápido. Este programa anula algunos valores predeterminados de Windows que ya está acostumbrado a usar, además de cambiar Win + Up y Win + Down para dock a arriba / abajo.

Ejemplos de teclas de acceso rápido

WindowSpace funciona, pero no es tan agradable, y puede colgar por un tiempo cuando presionas aplicar. Comparablemente, la versión gratuita / de prueba de Aquasnap Pro es una experiencia muy fluida.

leetNightshade
fuente
1

Windows ofrece muchas opciones, incluyendo APILAMIENTO, LADO A LADO y CASCADING. Esto se hace haciendo clic derecho en un área vacía en la barra de tareas (generalmente en la parte inferior de la pantalla) y seleccionando. Sí, no es un atajo de teclado, pero está bastante cerca.

No confíes en mí, obténgalo directamente de la boca del caballo, Microsoft aquí .

Además, el sitio web tiene muchos otros buenos detalles, muchos de los cuales ya sabes, algunos podrían ser nuevos. Espero que esto ayude.

Scott Biggs
fuente
1

Hay una forma libre de terceros para lograr esta funcionalidad, pero AFAIK:

  • Requiere un poco de uso del mouse
  • Solo funciona para dos ventanas.

La receta es:

  1. Ajuste las ventanas una al lado de la otra de la manera habitual.
  2. Presione Win+Downpara que una de las ventanas ocupe un cuarto de la pantalla
  3. Seleccione la otra ventana y presione Win+Uppara hacer que la otra ventana tome el cuarto opuesto de la pantalla
  4. Use el mouse para agarrar el borde de la ventana y cambiar su tamaño al borde de la pantalla, maximizando así el ancho de cada ventana sin cambiar sus alturas.
León
fuente
Un buen consejo, pero es un montón de trabajo hacerlo bien cada vez.
11101101b
1

Se corrigió un error en la solución de Jason Clement. Cuando la ventana se abre verticalmente, anteriormente tampoco ocuparía el ancho del monitor. Simplemente permanecería en el ancho de la ventana actual, pero se ajustaría a 1/2 monitor verticalmente. Con esta solución, se ajusta al 50% de la altura vertical hacia arriba o hacia abajo y al 100% del ancho horizontal del monitor.

Además, para aquellos que pueden no saber AHK ...

  1. Descargar AutoHotKey
  2. Crea un archivo de texto en el bloc de notas. Pega el código en él. Guárdelo con la extensión correcta para AutoHotKey, por ejemplo, "VerticalSnap.ahk"
  3. Haga clic derecho en el archivo desde el Explorador, elija "Compilar script"
  4. La compilación debe crear un archivo "VerticalSnap.exe" en ese directorio.
  5. Abra run.exe, escriba "shell: inicio" y presione Entrar.
  6. Se abrirá una nueva ventana del Explorador en la carpeta Inicio.
  7. Copie / pegue el archivo .exe en esta carpeta de inicio.
  8. En el próximo arranque, este script debería estar ejecutándose. Puede usar CRTL + VENTANAS + FLECHA ARRIBA o + FLECHA ABAJO para encajar en la parte superior de la mitad inferior de su monitor. Tenga en cuenta que la ventana no debe maximizarse para que esto funcione.

Espero que ayude, y gracias 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)
Zee
fuente
0

Una opción que he encontrado útil es subdividir sus monitores en mitades virtuales usando DisplayFusion . Configura esto haciendo lo siguiente:

  • Haga clic con el botón derecho en el icono DisplayFusion ubicado en su área de notificación y vaya a Monitor Configuration.
  • Seleccione el monitor que desea configurar.
  • Agregue un vertical splital monitor. (Podrías jugar con esto y dividir tus monitores aún más).

Con esto habilitado, debería poder usar sus teclas Windows+ Arrowpara navegar por su ventana para maximizar esa nueva área dividida verticalmente de su monitor. Estoy a punto de ejecutar mis dos monitores de 1920x1200 en modo vertical una vez que llegue mi 30 "y será necesario ajustar las ventanas verticalmente.

Jmac
fuente
0

Necesitaba dividir repetidamente los dos navegadores Windows superior e inferior en Windows 10 con una configuración de monitores múltiples con muchas otras ventanas ya abiertas. Podría hacerlo manualmente pero quería una mejor solución.

Encontré que la extensión "Cambiar tamaño de pestaña - Diseños de pantalla dividida" de la extensión de Chrome me lo hizo muy fácil.

Simplemente abra una nueva ventana de Chrome, haga clic en el icono de extensión Tab Resize, elija la opción 2x1. Agradable y fácil ahora.

Jeff
fuente
1
Parece que la persona que hizo la pregunta quería una solución que funcione para todos los programas, no solo para Chrome. ¿Tienes algo que haga eso?
Ben N
0

Si usa un monitor Dell, puede instalar Dell Display Manager, que tiene opciones para dividir la pantalla en una cuadrícula.

Luego puede arrastrar la ventana a una celda mientras mantiene presionada la tecla Mayús.

Michael Zheng
fuente