
G_ExitGesture(m_Gesture="" || m_ActiveTimeoutMode=1) G_ExitGesture attempts default function of gesture key if the first parameter is true. If (m_Gesture!="" & (m_ActiveTimeoutMode=2 || !m_LastGestureKey)) If (timeout & A_TickCount-beginTimeout > timeout) Timeout := m_Gesture="" ? m_InitialTimeout : m_ActiveTimeout

Gesture stroke exceeded maximum stroke length (m_HighThreshold). If (m_HighThreshold > 0 & totalDistance > m_HighThreshold) Remember zone index for subsequent iterations. If (hdc_canvas & m_NodePenWidth & lastZone != zone & lastZone != -1) Error, or gesture stroke exceeded zone tolerance (m_Tolerance). Zone := G_GetZone(angle, zoneCount, m_Tolerance) || m_GestureLength = 1 & G_GetZone(angle, m_InitialZoneCount, m_Tolerance) = lastZone ) ensuring the initial stroke can be extended according to m_InitialZoneCount. Allow the initial stroke to be more or less specific than subsequent strokes,
#Ahk click and drag code#
Some code relies on m_InitialZoneCount being set. GroupAdd, Explorer, ahk_class ExploreWClass GroupAdd, Explorer, ahk_class CabinetWClass
#Ahk click and drag windows#
Create a group for easy identification of Windows Explorer windows. Menu, Tray, Add, Edit Gestures_&User.ahk, TrayMenu_Edit Menu, Tray, Add, Edit Gestures_&Default.ahk, TrayMenu_Edit Menu, Tray, Add, Edit &Gestures.ahk, TrayMenu_Edit Menu, Tray, Add, &Suspend, TrayMenu_Suspend Menu, Tray, Add, &Reload, TrayMenu_Reload if the script is paused from the tray menu. Note: This has the odd side-effect of "disabling" the tray menu
#Ahk click and drag update#
Hook "Suspend Hotkeys" messages to update the tray icon.

G_SetTrayIcon(true) Set custom tray icon (also called by ToggleGestureSuspend). * Initialize script - don't mess with this unless you know what you're doing Run "auto-execute" sections of "Define gesture", in that order. Zone labels used when eight zones are active: Zone labels used when four zones are active: Set text labels to be used in other areas Shouldn't negatively affect other apps as the script sleeps every %m_Interval% ms while active. SetBatchLines, -1 May improve responsiveness. SetWorkingDir %A_ScriptDir% Set working directory to script's directory for consistency. SetTitleMatchMode, 2 Match anywhere in window title. SendMode Input Set recommended send-mode. #SingleInstance Force Never allow more than one instance of this script.ĬoordMode, Mouse, Screen Let mouse commands use absolute/screen co-ordinates. M_TransTrail = 1 Make trail window transparent (recommended if DWM/Aero theme is enabled). M_PenColor = 00FF00 Colour of trails and nodes. M_NodePenWidth = Radius of "nodes" on the trails, indicating where each stroke begins. M_PenWidth = 3 Width of the pen to draw trails with. M_KeylessPrefix = Prefix for keyless gestures, or blank to disable. M_GesturePrefix = Gesture Default prefix for gesture variables/labels. M_InitialZoneCount = If set, defines the number of zones allowed for the *first* stroke. If there are 4 zones, 100 percent = 45 degrees. M_Tolerance = 100 Maximum percent of deviance from "zone center" that will be tolerated. M_DefaultOnTimeout = 0 If true, default action is performed whenever m_Timeout is applied. M_ActiveTimeout = 0 Maximum time in milliseconds that the mouse can remain in any one position before gesture-recognition is cancelled. This makes it easier to click and drag with the gesture button. M_InitialTimeout = 250 Maximum time in milliseconds that the mouse can remain in its initial position before gesture-recognition is cancelled. M_Timeout = 500 Maximum time in milliseconds between the last mouse movement and release of the gesture key/button.

M_HighThreshold = 0 Maximum total gesture length. M_LowThreshold = 50 Minimum distance to register as a gesture "stroke." M_Interval = 20 How long to sleep between each iteration of the gesture-recognition loop.
