Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I followed this advice: Windows 7: How to disable auto-maximize/resize window (aero-snap) when near screen edge?

But it also turns off the feature where pressing WinKey + Left/Right Arrow, fit the windows to half of the screen on the direction of the arrow key.

Is there a way to control them independently?

share|improve this question
    
I've been searching for the same solution and I believe it can't be done natively. How hard is it for Microsoft to let users customize these settings easily? –  buffer Jun 29 '13 at 6:23
1  
Exactly too many trivial things are not possible. Why? Because MS has no idea about usability. Their latest xbox one shows it the best. And they expect people to pay absurd amounts for their software. –  Joan Venge Jun 29 '13 at 11:25

3 Answers 3

Though there may not be a way to do this through a GUI there is a way to accomplish it programmatically.

The function you want is SystemParametersInfo. You can read about it on MSDN if you want it's full capability (it's can access an absurd number of settings) but you'll be interested in SPI_SETDOCKMOVING and SPI_SETSNAPSIZING.

SPI_SETDOCKMOVING toggles the ability to snap windows by dragging them by their title bars. You can turn it off like this:

SystemParametersInfo(SPI_SETDOCKMOVING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)

SPI_SETSNAPSIZING toggles the ability to snap windows by sizing them using their top and bottom borders. You can turn it off like this:

SystemParametersInfo(SPI_SETSNAPSIZING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)

To turn either back on just make the same call with a non-zero number for the second argument. To make the changes not persist after a reboot remove the SPIF_UPDATEINIFILE flag from the last argument.

To ensure you keep your keyboard shortcuts do not to turn AeroSnap off in the Control Panel or registry.

The diligent may notice that the arguments supplied here are not what you might expect them to be from the documentation. Specifically the pvParam and uiParams are switched. This is the only way I have found to make this function work on my machine (running Windows 8.1) so I suspect an error in the docs.

share|improve this answer

I have looked for this in the past, and I do not believe there is a way to do this in Windows itself. However, there is a third-party alternative. First, disable the aero snap as per the link in your question. Then, using WindowsPad (a special AutoHotkey script setup) you can restore moving windows between screens in a multi-monitor setup, use left/right snapping, and more (top, bottom, middle and corner snapping). By default, WindowsPad uses Win + NumPad keys (because of the added functionality) but you can add in aero-snap-like arrow key functionality by adding the following to the [Hotkeys] section of the WindowsPad.ini file:

#+Left = WindowScreenMove, Next
#+Right = WindowScreenMove, Prev
#Left = WPM, -1,  0,  0.5, 1.0
#Right = WPM, +1,  0,  0.5, 1.0
#Up = MaximizeToggle
#Down = Restore

Unfortunately, you do lose the ability to snap to 50% of the screen and then restore to the original position (since it is actually resizing the window, not using aero snap). But so far, that is the only downside I have found.


Demo of WindowsPad's corner- and bottom-snap features:

WindowsPad Demo

share|improve this answer

You can try my windows tool collection. The following are hot keys to move windows:

Win+Array: Move the active window based on other visible windows. This allows for fast window alignment.
Shift+Win+Array: Move the left-up corner of the active window.
Alt+Win+Array: Move the right-bottom corner of the active window.
Ctrl+Win+Array: Dock the active window
Alt+F9: Minimize the active window
Alt+F10: Toggle maximize the active window

Currently you can only get the tool by Mercurial

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.