Question Possibilité de "snap" haut / bas au lieu de juste gauche / droite dans Windows 7?


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


105
2018-05-18 17:10


origine


@RockPaperLizard Vous devez également vous rappeler que Windows 7 est vraiment ancien et qu'il est le seul système d'exploitation à disposer d'une fonctionnalité de capture native, à ce jour. Je dois par exemple rechercher un script de type "extension" tiers pour le faire sur Mac. De plus, Windows 10 dispose de Snap pour chaque direction, y compris les coins! En d'autres termes, je pense que l'équipe Windows essaie vraiment du côté des UX. L'interface utilisateur est parfois un test de personnalité, mais UX est quelque chose de très bon pour Windows. - Joseph Hansen
@Joseph Je suis en fait d’accord sur le fait que MS a eu beaucoup de succès dans l’arène UX. Ils étaient même disposés à explorer de nouveaux territoires, même s’ils n’avaient pas de succès commercial. Microsoft Bob. Malheureusement, leurs succès sont entachés par de nombreux échecs, le plus notable étant Windows 8. Je ne sais pas si l'échec de ce projet a été causé par l'équipe UX ou le refus de la direction de les écouter. - RockPaperLizard


Réponses:


Non. Les seules options disponibles sont:

  • demi-pression gauche (les fenêtres + la gauche)
  • demi-coup droit (les fenêtres + droite)
  • plein écran en hauteur (les fenêtres + décalage + en haut)
  • accrochage maximisé (les fenêtres + en haut)
  • "non-snap" (les fenêtres + vers le bas)
  • Accrochez-vous au prochain moniteur / affichage (les fenêtres + décalage + (la gauche ou droite))

Edit: d'autres combinaisons géniales que vous pourriez aimer:

  • minimiser tout (les fenêtres + m)
  • minimiser la fenêtre tout sauf active (les fenêtres + Accueil)
  • Aero peek (voir Desktop, toutes les fenêtres deviennent transparentes) (les fenêtres + espace)

68
2018-05-18 17:14



Soigneusement, j'essayais de déterminer comment maintenir la position verticale fixe, mais je permettais un mouvement horizontal sans utiliser la capture d'écran gauche / droite et devoir réajuster la largeur de la fenêtre. - JAB
Oh, juste découvert que double-cliquer sur le bord supérieur de la barre de titre (c'est-à-dire lorsque la flèche verticale à deux extrémités est affichée) fait également de la hauteur de l'écran. - JAB
Dans Windows 10, il existe maintenant une autre option: après avoir cliqué à gauche ou à droite, vous pouvez appuyer sur up ou down, par exemple. se caler sur le en haut à gauche. Pas ce que l'OP voulait, mais peut-être utile pour les autres. - Andre


J'utilise les étapes suivantes pour accomplir ceci:

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

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


49
2018-06-21 18:28



C'est vraiment utile. Je le sais depuis la victoire 98 mais je ne l'ai jamais utilisée dans la version 7, car dans Win XP et les versions précédentes, vous pouvez sélectionner les boutons de la barre des tâches pour choisir les fenêtres à empiler mais pas dans Windows 7. l'option il va empiler toutes les fenêtres à l'écran. Blog technet: le saviez-vous: afficher les fenêtres empilées, en cascade ou côte à côte - phuclv
Ceci est utile, mais il va empiler toutes les fenêtres dans tous les moniteurs. - Leo
Cela fonctionne toujours pour Windows 10 également. - snickers10m
@Leo - et sur tous les ordinateurs de bureau. Intéressant :) - J Bryan Price


J'ai écrit un petit script AutoHotKey pour casser les fenêtres en haut et en bas parce que j'en étais également frustré. Vous pouvez le télécharger depuis 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

22
2018-05-15 03:58



Cela fonctionne, mais ouvre également l'écran de démarrage dans Windows 8.1. Comment remédier à ce problème? - Gabriel Hautclocq
C'est exactement ce que j'espérais trouver. Je vous remercie! J'ai remarqué que la commande ne change pas la largeur de la fenêtre. Un moyen de passer automatiquement à la largeur de l’écran quand il s’agite - Alex P. Miller
Cela ne fonctionne pas pour moi sur Windows 10. J'ai 3 moniteurs, dont 2 sont en mode vertical. Vous parlez explicitement de 2 domaines de travail, pas sûr que ce soit la cause. Aussi, vous devriez mentionner quelle combinaison de touches vous êtes censé appuyer dans cette réponse pour les personnes qui ne connaissent pas la syntaxe AHK - Joakim Söderberg
Il ne fonctionne que partiellement sur Windows 7 avec un moniteur horizontal et un moniteur vertical. Parfaitement sur le moniteur horizontal, mais sur la verticale, il semble prendre la hauteur de l’horizontal. - hardmooth


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

  • Accédez à l'onglet "Déplacement et redimensionnement" dans Settings
  • Pour "Bord supérieur:", choisissez "Déplacer vers le haut"
  • Pour "Bord inférieur", choisissez "Déplacer vers le bas"

Capture d'écran:

screenshot


20
2018-05-19 09:20



La clé de licence de 25 $ est-elle requise à un moment donné? - ruffin
Je préfère AquaSnap (c'est gratuit ou coûte 9 dollars pour le multi-moniteur): youtube.com/watch?v=bOVOEebpiWc Mais depuis Windows 10, ce n'est plus nécessaire car les fonctionnalités les plus importantes font désormais partie du système d'exploitation. - mgutt
AquaSnap est maintenant à 18 $ (si vous utilisez plusieurs moniteurs), et il fait beaucoup de choses que Win10 ne fait pas, comme le composant logiciel enfichable haut / bas et le pavage. Très sympa. - isherwood


Je n'ai pas de machine Windows 7 devant moi actuellement, mais depuis Windows 95 (ou même avant, peut-être), il y a eu la possibilité de créer des fenêtres horizontalement. Minimiser tout sauf deux fenêtres que vous souhaitez afficher en haut et en bas, cliquez avec le bouton droit sur la barre des tâches et sélectionnez Mosaïque horizontale. Il dimensionnera chaque fenêtre pour prendre la moitié de la zone d'écran verticale. Ce n'est pas utile de le faire dans une seule fenêtre, et comme une autre réponse l’a indiqué, il n’ya pas de raccourci clavier, mais je le trouve parfois pratique.

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


8
2018-05-18 17:24





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

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

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

Cette application est un logiciel gratuit et est disponible sous licence Creative Commons Paternité-Pas commercial - Pas de travaux dérivés 3.0.

MODIFIER:

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


7
2018-06-21 19:09





Semblable à northben, j'ai également écrit un script AutoHotKey, quoique un peu différemment, alors j'ai pensé qu'il méritait sa propre réponse. Ce script devrait fonctionner avec un nombre quelconque de moniteurs ou d'orientations de moniteur.

Les commandes sont liées à les fenêtres + Ctrl + Vers le haut et Vers le bas au lieu de Décalage afin de ne pas interférer avec l'existant les fenêtres + Décalage + Vers le haut.

Cela fonctionne comme un snap de hauteur plein écran (les fenêtres + Décalage + Vers le haut) en ce que la fenêtre conserve sa position horizontale et sa largeur. Cela peut facilement être modifié pour fonctionner de la même manière que la moitié gauche ou la moitié droite (les fenêtres + La gauche ou Droite) en décommentant le ; WinMaximize, A ligne. Si vous souhaitez conserver le comportement par défaut, mais utilisez parfois le comportement demi-snap, agrandissez simplement la fenêtre avant de la capturer.

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)

7
2018-03-21 21:32



Je souhaite que cela aurait fonctionné. Je reçois The following variable name contains an illegal character: "params*". Pour l'instant j'utilise le script de @ northben - bits
Merci pour ce script. Super utile J'ai constaté qu'il ne se chargerait pas jusqu'à ce que je supprime l'espace entre le nom de la fonction UpDownSnap et la parenthèse. - Jason Dufair
Peut-être que c'était aussi le problème des bits ci-dessus. Fait intéressant, mon propre script n'a pas l'espace; Je ne sais pas comment ça s'est passé. Je l'ai enlevé, merci. - Jason Clement
Fonctionne bien dans Windows 8.1 :-) - Gabriel Hautclocq
Merci @JasonClement pour votre solution. J'ai corrigé un bogue dans votre solution et posté une autre réponse. - Zee