Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In Windows 7, I know you can do Windows + Left to put a window in the left half of the screen. Is there a feature that will do top and bottom?

share|improve this question
6  
Strange that snapping to the bottom is not an option, yet people actually do it. I could have sworn that Microsoft has entire teams of people whose sole job is to design and enhance usability and to analyze and predict usage patterns. sigh – Synetech May 31 '12 at 21:44
1  
@Synetech Entire teams of people? Probably. Entire teams of talented people? You be the judge. – RockPaperLizard Jun 9 at 23:36
    
@Synetech It's also possible to hire talented people, but then have stubborn or egotistical management that refuses to listen to them. It's also not uncommon for headstrong programmers to ignore UX/UI experts. Either way, the result is this kind of mess. – RockPaperLizard Jun 9 at 23:38
    
@RockPaperLizard You also must remember that Windows 7 is really old and is the only OS to have a native snap feature, to date. I have to find a third-party "extension" type script to do this on Mac, for instance. Also, Windows 10 has Snap for every direction, including corners! In other words, I think the Windows team really does try on the UX side. UI sometimes is a personality test, but UX is something Windows is historically pretty good at. – Joseph Jun 23 at 12:28
    
@Joseph I actually agree that MS has had many successes in the UX arena. They were even been willing to explore new territory, although not commercially successful, with Microsoft Bob. Unfortunately, their successes are marred by many abject failures, the most notable being Windows 8. I don't know if the failure of that project was their UX team or management's refusal to listen to them. – RockPaperLizard Jun 23 at 17:17

13 Answers 13

up vote 45 down vote accepted

No. The only snap options available are:

  • left half snap (Windows + left)
  • right half snap (Windows + right)
  • full screen height snap (Windows + shift + up)
  • maximized snap (Windows + up)
  • "un-snap" (Windows + down)
  • snap to next monitor / display (Windows + shift + (left or right))

Edit: other awesome combinations you might like:

  • minimize all (Windows + m)
  • minimize all but active window (Windows + Home)
  • Aero peek (view Desktop, all Windows become transparent) (Windows + space)
share|improve this answer
3  
…and the rest. – Synetech May 24 '11 at 20:06
    
Neat, I was trying to figure out how to keep the vertical position fixed but allow horizontal movement without using left/right screen snap and having to readjust window width, and full screen height snap does exactly what I wanted. – JAB Feb 5 '14 at 12:42
3  
Oh, just discovered that double-clicking the top edge of the title bar (i.e. when the vertical double-ended arrow is displayed) also does screen height snap. – JAB Feb 5 '14 at 16:50
1  
In Windows 10 there is now another option: After snapping to the left or right, you can press up or down, e.g. to snap to the top-left. Not what the OP wanted, but maybe helpful for others. – Andre May 19 at 14:11

I use the following steps to accomplish this:

  1. Windows + D (to minimize all windows)
  2. then use my mouse to place the windows I want to stack in the general placement on each monitor (don't bother resizing them)
  3. then right click on the taskbar and select "Show windows stacked" from the context menu then restore any other windows that I want

Note: You must minimize any windows that you don't want stacked. This is what step 1 is intended to do.

share|improve this answer

WindowSpace provides this functionality. To do what you're asking for:

  • Go to the "Moving and Resizing" tab in Settings
  • For "Top edge:", choose "Move to the top side"
  • For "Bottom edge:", choose "Move to the bottom side"

Screenshot:

screenshot

share|improve this answer
1  
Is the $25 license key required at some point? – ruffin Jan 11 at 14:09

I wrote a little AutoHotKey script to snap the windows top and bottom because I was frustrated about this too. You can download it from my website: 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
share|improve this answer
2  
Since the script isn't too long, would you consider posting the code directly in the answer in addition to providing the link to the post on your site? This way, if one day you take down your site or decide to change your URL structure and forget to update the link, this answer won't become useless. – Lèse majesté May 31 '12 at 4:39
1  
not a bad idea... Except it's too long to put in a comment. So here it is in pastebin: pastebin.com/0g5rReiT – northben May 31 '12 at 10:06
2  
I've submitted an edit to include it directly in the answer. – Lèse majesté May 31 '12 at 20:17
1  
Just came in to say, the script in pastebin 2 comments above worked perfectly for me. Perfect for those already using Autohotkey. And those who aren't using Autohotkey should definitely check it out. – bits Feb 14 '15 at 23:12
1  
This is exactly what I was hoping to find. Thank you! I've noticed the command doesn't change the width of the window. Any way to automatically go full-screen width when it snaps up/down? – alexpmil Mar 11 at 15:24

I don't have a windows 7 machine in front of me currently, but ever since Windows 95 (or even before possibly), there has been the option to tile windows horizontally. Minimize everything but two windows you want to view top and bottom, right click the task bar, and select Tile Windows horizontally. It will size each window to take up half the vertical screen area. This is not useful to do to a single window, and as another answer stated, there is no keyboard shortcut for it, but I find it handy sometimes.

Correction: on Windows 7, this is called "Show windows stacked"

share|improve this answer

The best program I've ever used that accomplishes exactly this + more is WinSplit Revolution: http://winsplit-revolution.com/

I highly recommend it, as it is extremely simple to use and it even works well with multiple monitors.

Demo video: http://winsplit-revolution.com/screenshots/videos-demos

This application is freeware and released under Creative Commons Attribution-Non Commercial-No Derivative Works 3.0.

EDIT:

It appears WinSplit is no longer available, the website has been taken over by Digital Creations AS, which has their own version of this type of software, and is no longer free

share|improve this answer
    
+1 Yeah WinSplit revolution is better than WindowSpace as it seems to be completely free. – Shashank Sawant Apr 5 '14 at 22:17

place yours windows just about like you want --> right click on taskbar --> "show windows stacked" --> profit!

share|improve this answer

As Rain suggested here, PowerResizer works well. Not very customizable - you can't change keyboard shortcuts, but it's at least open source. As JoeB notes, you can press these while dragging a window: W to move up, and Z to move down. A is to move to the left, S to move to the right. Or just drag the window to the edge. Pressing 1,2,3, and 4 while dragging will do a quarter snap to a corner. I'm happy with it, try it out.

share|improve this answer
    
I just tried WindowSpace; if you don't mind paying $25, it's a much better solution. – leetNightshade Oct 17 '14 at 1:09
1  
There's documentation! readme.txt in the program files installation folder. Not to mention it does exactly what I wanted, which was vertical half snap. 1/4 snaps are an extra bonus! – scaryman Nov 18 '14 at 16:23

If you have an AMD graphics card, you can use "Hydravision."

(1) Open the Catalyst Control Center (2) Under "Desktop and Displays" click "More..." (3) Under "Hydravision" click "HydraGrid" (4) Check "Enable HydraGrid" (5) Click "Edit HydraGrid" and put grid lines where you'd like, e.g. half way up a portrait monitor (6) Apply

Now when you are working with windows, you can right click on the title bar and select "Attach to Grid," then drag it from place to place and it will snap to the grid.

I run 3x1 24" monitors in portrait mode with this setup and it's the quickest way I've found to snap windows to the top and bottom half of each monitor.

share|improve this answer
    
I made the mistake of installing Catalyst Control Center to try out Hydravision. That program is a hog and I am looking for another solution. – dana Mar 25 '13 at 22:33

Similar to northben, I also wrote an AutoHotKey script, albeit a bit differently so I thought it deserved its own answer. This script should work with any number of monitors or monitor orientations.

The commands are bound to Windows + Ctrl + Up and Down instead of Shift so as not to interfere with the existing Windows + Shift + Up.

This works similar to full screen height snap (Windows + Shift + Up) in that the window retains its horizontal position and width. This can easily be changed to work similarly to left half or right half snap (Windows + Left or Right) by uncommenting the ; WinMaximize, A line. If you want to keep the default behavior, but sometimes use the half snap behavior, just maximize the window before snapping.

Works with Windows 7 64-bit and 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)
share|improve this answer
1  
I wish this would have worked. I am getting The following variable name contains an illegal character: "params*". For now I am using @northben's script – bits Feb 14 '15 at 23:15
    
Thanks for this script. Super useful. I found that it wouldn't load until I removed the space between the UpDownSnap function name and the parenthesis. – Jason Dufair Jun 10 '15 at 15:04
    
Maybe that was also bits problem above. Interestingly, my own script does not have the space; I'm not sure how it got there. I have removed it, thanks. – Jason Clement Jun 10 '15 at 18:01
    
Works well in Windows 8.1 :-) – user3113346 Aug 12 '15 at 12:41
    
Did anyone ever figure out bits's problem? I'm having it too. – ewok Jun 16 at 0:13

There are lots of options provided by Windows, including STACKING, SIDE BY SIDE, and CASCADING. These are done by right-clicking an empty area on the task-bar (usually at the bottom of the screen) and selecting. Yeah, it's not a keyboard short-cut, but it's fairly close.

Don't trust me, get it straight from the horse's mouth, Microsoft here.

Also the website has a lot of other nice tidbits--many that you know, a few might be new. Hope this helps.

share|improve this answer

An option that I've found useful is to subdivide your monitors into virtual halfs using DisplayFusion. You set this up by doing the following:

  • Right-click the DisplayFusion icon located on your notification area and go to Monitor Configuration.
  • Select the monitor that you want to configure.
  • Add a vertical split to the monitor. (You could play around with this and split your monitors up even more.)

With this enabled, you should be able to use your Windows + Arrow keys to navigate your window to maximize into that new vertically split area of your monitor. I'm about to run my two 1920x1200 monitors in portrait mode once my 30" comes in and vertically snapping windows will be a necessity.

share|improve this answer

I needed to repeatedly split the two Browser Windows top and bottom in Windows 10 with a multi-monitor setup with a lot of other windows already open. Could do it manually but wanted a better solution.

I found the Chrome Extension "Tab Resize - Split Screen Layouts" extension made this super easy for me.

Just open a new Chrome Window, click the Tab Resize extension icon, pick 2x1 option. Nice and easy now.

share|improve this answer
1  
It looks like the person who asked the question wanted a solution that works for all programs, not just Chrome. Do you have something that does that? – Ben N Jun 10 at 0:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .