Releases: RamonUnch/AltSnap
AltDrag 1.45
- New: Now the
ScrollLockState
option in the[Input]
section of the ini file can be set to 3 to enable AltDrag only when Scroll Lock is off.
-
Fixed: Now the
SWP_NOSIZE
and flag is used when simply moving a window. This prevents rolled windows from partially unrolling. Also theSWP_ASYNCWINDOWPOS
flag was added where applicable and this fixes an ugly Win 10 bug that would changes the borders of some moved window. -
Fixed: When using maximizing a window by snapping to the top, it would sometime prevent further movement when FullWin=0.
-
Fixed a last minute bug introduced in 1.44 that would restore rolled windows as soon as you moved them.
-
Fixed: Now when AltDrag is suspended with the Scroll lock state option, The notification icon will change.
-
Fixed some stuck alt bugs thanks to scx.
AltDrag 1.44
-
Smart aero dimensions was added in the General Tab of the config. With this option checked (default) AltDrag will adjust the dimensions of the snapped window to the other snapped windows that were resized. Also snapped windows will still be restored by the move action even after having been resized. This was suggested by KoleckOLP. MDI also work.
-
New important feature: The Resize other snapped windows with Shift option was added in the General tab of the config. If it is checked, then any window snapped or touching to sides of the currently resized window will be resized to remain stuck to the current window when you press the Shift key. If you want to always resize the touching windows, then you can manually set StickyResizing=2 in the [General] tab in AltDrag.ini. In this case, pressing shift will prevent the "sticky resizing". MDI windows are also supported.
-
New setting to enable/disable AltDrag based on Scroll Lock state. See in the Keyboard Tab.
-
Now an action can be selected for both scroll wheels independently.
-
New action for scroll wheel: Horizontal scroll.
-
New now the
*
joker can be used at the end of the class or at the beginning of the title, in the form:*end of title|class start*
Example:*|Winamp*
. This may be useful to make better rules. Note that the processes blacklists are not concerned by this. -
New: If the first element of a blacklist is
*|*
, then all windows that are not listed will be considered as part of the blacklist. This turns the blacklist into a whitelist ie: list of windows for which AltDrag will be enabled. It can be useful if you only want to use AltDrag on very few programs, then you just enable it on those programs. Both title|class and processes.exe styles are supported.
Exemple:Processes=*|*, explorer.exe, notepad.exe
will enable AltDrag only on the explorer and the notepad windows. -
New setting: UseCursor=4 in the [Advanced] section of AltDrag.ini, in order to use the ResizeAll cursor for movement instead of the Hand.
-
New: Now more info are displayed in the Identify window section in the options to help debugging.
-
New: Now the key used to transform scroll in Horizontal scroll can be chosen using the
HScrollKey
option in the[Input]
section of AltDrag.ini. Default is 10, you can set an empty value to remove the ability of scrolling modification. Note that It only applies when the Scroll inactive windows option is checked.
-
Fixed: When snapping to the top of the monitor in maximize mode, dragging the window to a corner would make a maximize-resized window instead of a snapped window.
-
Fixed: now the snapping region when using Mimic Aero snap option will no longer extend beyond aero-threshold distance in the corners.
-
Fixed: the Lower windows with middle clicking on title bars as well as the Roll/Unroll windows with Alt+Scroll on title bars now work better and lets user closes the tabs on Sumatra PDF with middle click. The options also apply properly to MDI windows now.
-
Fixed: now the center action will no longer apply to Maximized windows.
-
Fixed Process blacklist not working on Windows 8.1
-
Fixed: the cursor at the End of a movement would force the repaint of a 256x256 pixels around it. This is no longer the case.
-
Fixed: Hotkeys list would not be read properly sometime.
-
Fixed: Now windows focusing will work properly inside MDI windows. Also advanced mouse actions now work properly inside MDI.
-
Fixed: now the MMBLower blacklist will only apply to the middle-click in the title bar and the normal restore option.
-
Maximized-rolled window will now be restored to the pre-maximized state. Rolled-maximized-rolled-unrolled windows, will be restored to the first rolled state with the memory of the rolled state, as expected.
-
Now the config dialog box no longer instantly applies the settings. This simplifies the code and is more desirable in my opinion. You now need to click OK or Apply in order to apply the settings. This also avoids useless confusion when compared to a normal property sheet.
-
Fixed: Now Ctrl+Alt+Click will focus windows without needing to move them or to press Ctrl after the click.
-
Fixed: Now the Max Aero Speed will also apply to top snapping.
-
Fixed: now the application icon will display properly when Alt+Tabbing.
-
Fixed: the Shift key was not working properly to enable snapping when all snapping was disabled.
-
Fixed: a Rolled then double-clicked-snapped window will now be restored to its pre-rolled state, as expected.
-
Fixed: The AltDrag icon is now properly displayed in Alt+Tab window.
-
Better monitor handling on old windows.
-
Other minor fixes and code improvement, leading to smaller exe.
AltDrag 1.43
-
New Wiki for altdrag usage: https://github.com/RamonUnch/AltDrag/wiki
-
New: An option to make the window translucent while dragging was added. See MoveTrans in the [General] section of AltDrag.ini. You can change it via the Advanced tab, using the opacity while moving option, from 1-254. Use 255, 0 or an empty value to disable (default).
-
Now the AeroMaxSpeed calculus is based on a timer rather than the number of mouse frames. The time intervals for the measurement can be specified using the AeroSpeedTau variable in milliseconds in the [Advanced] section of AltDrag.ini (default 32ms). The max speed can now be specified in the Advanced tab of the config. Good values are around 10-100px/32ms. Use 65535 or an empty value to disable (default). rcomended: 64px/32ms.
-
New: SSizeMove blacklist was added in the [Blacklist] section of the ini. Any windows added in this list will NOT receive the WM_ENTERSIZEMOVE and WM_EXITSIZEMOVE messages when moved or resized. This is useful for some buggy applications such as iTunes (default value is *|iTunes).
-
New: AltDrag.xml file that can be imported from the Task Scheduler in order to setup auto start in elevated mode.
-
Updated Spanish translation by Carlos Sánchez.
-
Now an AMD64 build of AltDrag, can be compiled. builds are not provided because there are no real benefits for now (use mk64.bat).
-
Removed dependency to msvcrt.dll. This avoids some mess and reduce the suspiciousness of the AltDrag.exe file to anti-viruses. This also reduces the size of the exe.
-
Fixed: Windows borders will now properly snap to taskbar on the second monitor. Instead of looking for the task bars, I chose to look tor the rcWork field of the monitor info that directly contains the area in which windows should be snapped. This also simplifies the code.
-
Fixed: a snapped, then maximized window will be restored to its original size when alt-dragging it out of maximized state. If a windows like this is restored by double-click, then it will be restored to the previously snapped state and its normal position will be restored only when moving it out of its maximized state like expected.
-
Fixed: Now the ESC key will always release Ctrl and Shift.
-
Fixed: Added the DEL key (2E) to the default Killkeys list.
-
Fixed strange cropping bug that occasionally occurred with Chromium based programs such as several Browsers and VSCode.
-
Fixed potential segmentation fault in the
Enum
code. -
Fixed potential division by zero.
-
Now all the memory should be unallocated when unloading hooks.dll. This avoids memory leaks of a couple of KB when disabling/enabling AltDrag.
-
Fixed some occasional problem with snapping in older windows versions.
-
Fixed: Now spaces can be added after a coma in a blacklist.
-
Added StartMenuExperienceHost.exe,SearchApp.exe to the default process blacklist, thanks LittleboyHarry.
-
Added *|classFoxitReader to the default MDI blacklist.
-
Minor code cleanup.
AltDrag 1.42
- Now Ctrl+Alt+Double-Left-Click will minimize the pointed window.
-
Avoid some more 'Stuck alt' bugs by better checking the key state.
-
WARNING: The Hotclick values have changed, check your configuration if you use mouse button to activate AltDrag.
-
Now the Killkeys list also contains tle 'L' key (4C) by default, this will fix AltDrag problem if you use Win as a hotkey and use Win+L
-
The MDIs blacklist was also updated with *|classFoxitReader.
-
Improved the Roll/Unroll window action: now the file explorer windows will be really reduced to the title bar under Win10, until the user moves it.
-
Re-introduced left and right control option in the GUI keyboard tab.
-
Fixed: Process blacklists, now compatible with all versions of PSAPI.DLL.
-
Fixed: The LowLevelMouseProc@12 should never have been exported by hooks.dll because it is only internally used. It does not change anything for the user but fixes potential vulnerabilities.
-
Fixed: The scroll action is no more disabled on non full screen windows when they have no system menu. It fixes problems with VS Code and Discord.
-
Fixed: The cursor will no longer be unconditionally unclipped when releasing Shift or Ctrl keys.
AltDrag 1.41
-
Fixed compilation flags in the release build and Switched to TDMGCC. to avoid false positives with some antiviruses. This also results in even smaller exe and dll.
-
Minor dialog adjustement to help with russian language.
-
More translation corrections and improvements from Alexandr Smolnikov, Yatao Li and myself.
AltDrag 1.40
-
NEW: Action menu can now be selected as a mouse action and will pop up a menu that let you chose a list of others actions. Thanks to Yatao Li (yalti) for implementing this action.
-
New a kill action was added and can be activated with Ctrl+Alt+F4 or by using the Action menu, after activating the option. The Pause blacklist applies to this action.
-
New Test Window that shows the resizing regions was implemented and is available in the Advanced tab (suggested by redactedscribe).
-
Fixed: Some windows could not be created under older WinNT versions.
-
Fixed: Now the windows registered by hooks.dll will be unregistered when unloading it (Under Win9x it was unnecessary but we are under NT...).
-
Fixed: Makefile mk.bat is now compatible with MingW's GCC 10.2
-
More fixes to French Translation by TroudhuK.
-
Russian translation improvement by Alexandr Smolnikov (bigcrush).
-
Chinese translation improvement by Yatao Li (yalti).
AltDrag 1.39
-
New the LowerWithMMB option can now be set to 2 and you will need Alt to be pressed to lower the windows with middle click on title bar.
-
New: An 'Enable on full screen windows' option was added in the advanced tab of AltDrag default is on like previous versions. A full screen window is a windows that fits exactly into the monitor and has no title bar.
-
New/fix: A Killkeys list was added in the [Input] section of AltDragh.ini. It contains a list of key that will disable AltDrag when pressed down. Default value is 09 for the TAB key. This fixes a bug with DisplayFusion's Alt+Tab feature (Thanks Daniele-f).
-
Fix: Made ESC key a bit more aggressive in disabling AltDrag.
-
Minor refactoring and code cleanup, towards a more generic key mapping.
-
Fixed French translation thanks TroudhuK and his very funny name...
AltDrag 1.38
-
GUI changed: Mouse and Keyboard are now separated tabs and contain more options. All the new options should be available. Have a look! Translation is supported but not updated outside of FR and IT.
-
New: You can now invert the behavior of the shift key for double-right-click action (Resize) that aerosnaps or extends windows borders to monitor depending on the state of the Shift key. See the advanced tab.
-
New: You can now set the Hotclicks variable in the [Input] section of the ini file to add the mouse buttons as hotkeys (hence the Hotclick name). In the case the mouse button is also mapped to an action, the action will be performed on a single click. For example you can set MB4=Move, MB5=Resize and Hotclicks=80 81 and the mouse 4/5 button will respectively Move/Resize the window without needing to press any other button or key. In all cases this click will not be usable for anything else than AltDrag. Action suggested by displayerror.
-
New Hotkey combo is now available. Set KeyCombo=1 in the [Input] section of AltDrag.ini and you will need to press two of the hotkeys in order to activate AltDrag. This was suggested by MarqueIV.
-
New: The keyboard can now be used to activate AltDrag without clicking. For example set GrabWithAlt=Move in the [Input] section of AltDrag.ini. Press Alt and the pointed window will directly be moved wen moving the mouse without requiring a click. You can set any other action. I advise to use a hotkey combo for this feature or to use a very useless key on your keyboard. Action suggested by pixelbase.
-
New: A key can be set to toggle between move and resize action. it can be used in order to have a single click configuration that will turn into the other action when pressing this key. This later can be set with the ToggleRsMvKey in the [Input] section of AltDrag.ini. You can set it to A2 for example and have Ctrl+Alt+LClic => Resize instead of Move. Leave it empty if you do not want this feature. Only one key can be specified. It can also be combined with a hotkey. You could for example use Alt+LClick to move and Win+LClick to resize with a single instance of AltDrag.
-
New: The Ctrl key can be presses and released when a hotkey is on in order to prevent AltDrag from grabbing a window. Exemple: Alt+Clicl => Move window with AltDrag. Alt+Ctrl_down+Ctrl_up+Click Will be like a Simple Alt+Click without AltDrag running.
- Removed PearceDBClick option that was buggy and is now mostly unnecessary.
-
Fixed: Now the doubleclick actions will check that the same button/key was used for both clicks.
-
Fixed: Ctrl delay problem. Now Alt+Ctrl should not need to wait for the keyboard auto-repeat delay. It was a stupid bug sorry for that...
-
Fixed potential bug in the hook chain.
-
Changed the cursor window no longer capture the input as it should not be necessary and may lead to some bugs. The cursor code was also made a bit more conservative.
AltDrag 1.37
-
Fixed: Now moveable full screen windows should be restored to full screen when changing monitor. This was not working properly in 1.36. Note that many full screen windows are really not moveable anyway. Under Windows 10 the file explorer will behave correctly, not Firefox.
-
Fixed: the Scroll list was added in the [Blacklist] section of AltDrag.ini in order to disable the scroll action for any window. In addition the Processes blacklist will apply to scroll action as well.
-
Fixed bug when the origin monitor was a NULL pointer in some cases under older windows versions.
-
Fixed ini file: the proper name of the two settings about max aero speed are AeroMaxSpeed and AeroSpeedInt.
-
Fixed: manifest file now fallback to per monitor dpi awareness version 1 if version 2 is not available ie. Win 8.1 and Win10 before build 1703.
-
More code cleanup, some code was moved to functions and potential NULL pointer dereferencing were fixed.
-
GUI New: now the Identify window option will show the program image name.
-
GUI Fixed: Now the Snaplist has to be edited with the ini file and the Scroll blacklist is visible instead (much more useful). Snapplist is a quite advanced detail anyway.
-
GUI Fixed: re-introduction of the Advanced tab in the options with more options that previously required direct ini file edition. This should be helpful for all users. It is not yet translated though.
AltDrag 1.36
-
Added MMMaximize option in the [General] section of altdrag.ini in order to restore old AltDrag behavior (thanks brian6932):
Set to 1 to maximize/restore on left+right click (default).
Set to 2 to restore on a single left click instead of a drag.
Set to 3 for both (like the original AltDrag).
Set to 0 to disable any of those. -
Now the AeroMaxSpeed value can be set to put a speed limit beyond which the moved window will not be Aero-Snapped. This is useful to move windows between monitors without "flicker". You have to set AeroMaxSpeed and AeroSpeedInt in the [Advanced] section of AltDrag.ini. AeroMaxSpeed is in pixels/X frames (from 1-65535) AeroSpeedInt to specifies the number of frames (default 1) from 1-255. To set this value: (i) See the frequency of your mouse and set an AeroSpeedInt to average over 10ms or so, so if you have a 1kHz mouse, set it to 8-10, if you have a ~100Hz mouse (typical) keep it to 1 or 2. (ii) Set AeroMaxSpeed to a "high" value (like 50) and try to move fast a window between two monitors, if it get aero-snapped, decrease the value until it "just" no longers snaps. (iii) Check that the window does snap when you want it to sap, if the window tends to restore when you do not want, increase the AeroMaxSpeed value.
-
Roll/Unroll action was added: It collapses the window in its title bar. It can also be used with the move action (Alt+Shift+DoubleLeftClick). You can also set RollWithTBScroll=1 in the [Input] section of your ini file to enable Alt+Wheel to roll/unroll window when pointing to their title bar. If not pointing to the title bar the normal Scroll action will be performed. If Ctrl is pressed the normal Scroll action will always be performed
-
New: Now when using Alt+Shift+DoubleRightClick, the window will be extended to the corner/border of the monitor according to which area of the window was double clicked. Alt+DoubleRightClick works as before and Aero-snaps the window to the monitor sides/corners. Finally to Maximize a window you can use Alt+Ctrl+DBLeftClick on the center portion of the window (this is useful if you use a single button config with resize center set to "move".
-
New: Now the AlphaDelta and AlphaDeltaShift value can be set into the [Advanced] section of AltDrag.ini to tune from -128 to +127 the step at which the transparency is changed when using the Transparency Action. Default is 64 and 8 with the Shift modifier. You can put negative values if you want to invert wheel Up/Down direction.
-
Fixed/New: When Aero-snapping with AltDrag, the window can be restored via the title bar like normal. This is enabled if NormRestore=1 in the [General] section of AltDrag.ini.
-
Fixed/New: Now a full screen window will be resized to full screen when moving it to a different monitor. If you want you can set ResizeAll=3 to force move/resize of all full screen window. Keep in mind that some full screen windows are really not resizable (eg Firefox and Edge).
-
Fixed: Now if MinAlpha is set to 0, it will be clamped back to 1, because setting to zero the alpha of a window disables any interaction with it. Everyone should also add ",Program Manager|Progman" to their windows blacklist (without the quotes).
-
New: Improved the AltDrag.txt file, read it for some basic documentation.
-
Fixed: cleaned up some code and corrected potential bugs, moved some more code into functions.
-
Fixed: Now the AutoRemaximize option should always work.