web-dev-qa-db-fra.com

Possible de "casser" dans Windows 7?

Dans Windows 7, je sais que vous pouvez le faire Windows + Left mettre une fenêtre dans la moitié gauche de l'écran. Y at-il une fonctionnalité qui fera le haut et le bas?

121
Abe Miessler

Les seules options d'accrochage disponibles sont les suivantes:

  • demi-déclic gauche (Windows + left)
  • demi-bouton droit (Windows + right)
  • capture en hauteur plein écran (Windows + shift + up)
  • capture instantanée (Windows + up)
  • "un-snap" (Windows + down)
  • accrochez-vous au moniteur/affichage suivant (Windows + shift + (left ou right))

Edit: d'autres combinaisons impressionnantes que vous pourriez aimer:

  • minimiser tout (Windows + m)
  • minimiser tout sauf la fenêtre active (Windows + Home)
  • Aero peek (voir le bureau, toutes les fenêtres deviennent transparentes) (Windows + space)
72
Joseph Hansen

J'utilise les étapes suivantes pour accomplir ceci:

  1. Windows + D (pour minimiser toutes les fenêtres)
  2. puis utilisez ma souris pour placer les fenêtres que je veux empiler à l'emplacement général sur chaque moniteur (ne vous souciez pas de les redimensionner)
  3. puis faites un clic droit sur la barre des tâches et sélectionnez "Afficher les fenêtres empilées" dans le menu contextuel, puis restaurez toutes les autres fenêtres de mon choix.

Remarque: vous devez réduire les fenêtres que vous ne voulez pas empiler. C'est ce que l'étape 1 est destinée à faire.

54
Nathaniel

J'ai écrit un petit script AutoHotKey pour casser le haut et le bas de la fenêtre, car j'étais également frustré à ce sujet. Vous pouvez le télécharger sur mon site 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
23
northben

WindowSpace fournit cette fonctionnalité. Pour faire ce que vous demandez:

  • Allez à l'onglet "Déplacement et redimensionnement" dans Settings
  • Pour "Top Edge:", choisissez "Move to the top side"
  • Pour "Bord inférieur:", choisissez "Déplacer vers le bas"

Capture d'écran:

screenshot

20
Russell Davis

Je n'ai pas actuellement de machine Windows 7 devant moi, mais depuis Windows 95 (ou même avant, éventuellement), il est possible de placer les fenêtres en mosaïque horizontalement. Réduisez tout sauf les deux fenêtres que vous souhaitez afficher en haut et en bas, cliquez avec le bouton droit de la souris sur la barre des tâches et sélectionnez Mosaïque Windows horizontalement. Il dimensionnera chaque fenêtre pour occuper la moitié de la surface d'écran verticale. Ce n'est pas utile de le faire avec une seule fenêtre, et comme l'a dit une autre réponse, il n'y a pas de raccourci clavier pour cela, mais je le trouve pratique parfois.

Correction: sous Windows 7, cela s'appelle "Afficher les fenêtres empilées"

9
rmart

Semblable à northben, j’ai aussi écrit un script AutoHotKey, mais un peu différemment, j’ai pensé qu’il méritait sa propre réponse. Ce script doit fonctionner avec n'importe quel nombre de moniteurs ou d'orientations de moniteur.

Les commandes sont liées à Windows + Ctrl + Up et Down au lieu de Shift afin de ne pas interférer avec l'existant Windows + Shift + Up.

Cela fonctionne de la même manière que la capture d'écran en plein écran (Windows + Shift + Up) en ce que la fenêtre conserve sa position horizontale et sa largeur. Ceci peut facilement être modifié pour fonctionner de la même manière que la moitié gauche ou la moitié droite (Windows + Left ou Right) en supprimant la mise en commentaire de la ligne ; WinMaximize, A. Si vous souhaitez conserver le comportement par défaut, mais utilisez parfois le comportement demi-capture, agrandissez simplement la fenêtre avant la capture.

Fonctionne avec Windows 7 64 bits et 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)
8
Jason Clement

WinSplit Revolution est le meilleur programme que j'aie jamais utilisé et qui réalise exactement cela + plus: http://winsplit-revolution.com/

Je le recommande vivement, car il est extrêmement simple à utiliser et fonctionne même bien avec plusieurs moniteurs.

Vidéo de démonstration: http://winsplit-revolution.com/screenshots/videos-demos

Cette application est gratuite et publiée sous les licences Creative Commons Attribution - Non Commercial - Pas de Modification 3.0.

MODIFIER:

Il semblerait que WinSplit ne soit plus disponible, le site Web a été repris par Digital Creations AS, qui possède sa propre version de ce type de logiciel et est n'est plus libre

7
Marcin

placez vos fenêtres à peu près comme vous le souhaitez -> clic droit sur la barre des tâches -> "afficher les fenêtres empilées" -> profit!

5
clevboy

Comme Rain a suggéré ici , PowerResizer fonctionne bien. Pas très personnalisable - vous ne pouvez pas changer les raccourcis clavier, mais c'est au moins open source. Comme le note JoeB, vous pouvez appuyer sur ceux-ci en faisant glisser une fenêtre: W pour monter et Z pour descendre. A est de se déplacer à gauche, S de se déplacer à droite. Ou faites simplement glisser la fenêtre vers le bord. En appuyant sur les touches 1,2,3 et 4 en faisant glisser, vous obtiendrez un quart d'accrochage dans un coin. Je suis content, essayez-le.

4
leetNightshade

Si vous avez une carte graphique AMD, vous pouvez utiliser «Hydravision».

(1) Ouvrez le centre de configuration Catalyst (2) Sous "Bureau et écrans", cliquez sur "Plus ..." (3) Sous "Hydravision", cliquez sur "HydraGrid" (4) Cochez "Enable HydraGrid" (5) Cliquez sur "Modifier HydraGrid "et mettez les lignes de la grille où vous voulez, par exemple à mi-hauteur d'un moniteur de portrait (6)

Maintenant, lorsque vous travaillez avec Windows, vous pouvez cliquer avec le bouton droit de la souris sur la barre de titre et sélectionner "Attacher à la grille", puis faites-la glisser d'un endroit à l'autre et il s'accroche à la grille.

J'utilise des écrans 3x1 24 "en mode portrait avec cette configuration et c'est le moyen le plus rapide que j'ai trouvé pour accrocher les fenêtres aux moitiés supérieure et inférieure de chaque moniteur.

3
Matt

Découvrez AquaSnap . Vous pouvez faire glisser la souris comme vous le souhaitez, utilisez Ctrl + Souris pour redimensionner simultanément deux fenêtres en mosaïque, en plus d'une foule d'autres fonctions.

 See awesome docking features

Vous pouvez également utiliser une grande variété de raccourcis clavier. Ce programme remplace les quelques paramètres Windows par défaut que vous êtes déjà habitués à utiliser, en plus de changer Win + Up et Win + Down pour le dock en haut/en bas.

 Hotkey examples

WindowSpace fonctionne, mais n'est pas aussi agréable, et peut raccrocher pendant un moment lorsque vous cliquez sur Apply. Comparativement, la version gratuite/d'essai d'Aquasnap Pro est une expérience très fluide.

2
leetNightshade

Il existe un moyen sans tierce partie pour réaliser cette fonctionnalité, mais autant que je sache,

  • Il nécessite une utilisation de la souris
  • Cela ne fonctionne que pour deux fenêtres.

La recette est:

  1. Casser les fenêtres côte à côte de la manière habituelle.
  2. Appuyez sur Win+Down pour que l'une des fenêtres occupe un quart de l'écran.
  3. Sélectionnez l'autre fenêtre et appuyez sur Win+Up pour que l'autre fenêtre prenne le quart opposé de l'écran.
  4. Utilisez la souris pour saisir le bord de la fenêtre et le redimensionner au bord de l’écran, maximisant ainsi la largeur de chaque fenêtre sans modifier leur hauteur.
1
Leo

Windows propose de nombreuses options, notamment STACKING, CIDE BY SIDE et CASCADING. Celles-ci sont effectuées en cliquant avec le bouton droit de la souris sur une zone vide de la barre des tâches (généralement au bas de l'écran) et en sélectionnant. Oui, ce n'est pas un raccourci clavier, mais c'est assez proche.

Ne me faites pas confiance, sortez-le directement de la bouche du cheval, Microsoft ici .

De plus, le site Web contient de nombreuses autres informations intéressantes sur Nice, dont certaines sont nouvelles. J'espère que cela t'aides.

1
Scott Biggs

Correction d'un bug dans la solution de Jason Clement. Lorsque la fenêtre s’accroche verticalement, elle n’occupait auparavant pas aussi la largeur du moniteur. Il resterait simplement à la largeur de la fenêtre actuelle, mais se calerait sur 1/2 moniteur verticalement. Avec ce correctif, il se fixe à 50% de la hauteur verticale et à 100% de la largeur horizontale du moniteur.

Aussi, pour ceux qui ne connaissent peut-être pas AHK ...

  1. Télécharger AutoHotKey
  2. Créez un fichier texte dans le bloc-notes. Collez le code dedans. Enregistrez-le avec l'extension appropriée pour AutoHotKey, par exemple. "VerticalSnap.ahk"
  3. Faites un clic droit sur le fichier de l'explorateur, choisissez "Compiler le script"
  4. La compilation doit créer un fichier "VerticalSnap.exe" dans ce répertoire.
  5. Ouvrez run.exe, tapez "Shell: startup" et appuyez sur Entrée.
  6. Une nouvelle fenêtre de l'explorateur devrait s'ouvrir dans le dossier de démarrage.
  7. Copiez/collez le fichier .exe dans ce dossier de démarrage.
  8. Au prochain démarrage, ce script devrait être en cours d'exécution. Vous pouvez utiliser CRTL + WINDOWS + UPARROW ou + DOWNARROW pour vous accrocher au haut de la moitié inférieure de votre moniteur. Notez que la fenêtre ne doit pas être maximisée pour que cela fonctionne.

J'espère que ça aide, et merci 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)
1
Zee

Si vous utilisez un moniteur Dell, vous pouvez installer le gestionnaire d’affichage Dell, qui dispose d’options pour diviser l’affichage en une grille.

Vous pouvez ensuite faire glisser la fenêtre dans une cellule tout en maintenant la touche Maj enfoncée.

0
Michael Zheng

J'avais besoin de séparer à plusieurs reprises les deux fenêtres de haut en bas du navigateur dans Windows 10 avec une configuration à plusieurs moniteurs avec beaucoup d'autres fenêtres déjà ouvertes. Je pouvais le faire manuellement mais je voulais une meilleure solution.

J'ai trouvé l'extension Chrome "Onglet Redimensionner - Dispositions d'écran divisé" m'a facilité la tâche.

Il suffit d'ouvrir une nouvelle fenêtre Chrome, cliquez sur l'icône de redimensionnement onglet, choisissez l'option 2x1. Nice et facile maintenant.

0
Jeff

Une option que j'ai trouvée utile consiste à subdiviser vos moniteurs en moitiés virtuelles à l'aide de DisplayFusion . Vous configurez cela en procédant comme suit:

  • Cliquez avec le bouton droit sur l'icône DisplayFusion située dans votre zone de notification et accédez à Monitor Configuration.
  • Sélectionnez le moniteur que vous souhaitez configurer.
  • Ajoutez un vertical split au moniteur. (Vous pouvez jouer avec cela et diviser vos moniteurs encore plus.)

Avec cette option activée, vous devriez pouvoir utiliser votre Windows + Arrow touches pour naviguer dans votre fenêtre afin de maximiser dans cette nouvelle zone divisée verticalement de votre moniteur. Je suis sur le point de faire fonctionner mes deux écrans 1920x1200 en mode portrait une fois que mon 30 "sera entré et il sera indispensable de faire claquer des fenêtres verticalement.

0
Jmac