Advanced Physics-Based Window Management for Windows (AutoHotkey v2)
FWDE is a sophisticated physics-driven window manager that transforms your desktop into a dynamic, self-organizing workspace. Using real-time physics simulation, it intelligently arranges floating windows (browsers, editors, plugins, dialogs) with natural movement, collision avoidance, and space optimization.
Perfect for developers, musicians, designers, and power users who work with multiple floating windows and want intelligent, automated organization.
- Real-time simulation with attraction, repulsion, and damping forces
- Multi-window interactions - windows push and pull each other naturally
- Edge-aware positioning - windows utilize full screen real estate
- Collision avoidance - no overlapping windows
- Smooth animations with configurable update rates
- Per-monitor detection - each window's physics calculated for its specific monitor
- Seamless cross-monitor floating - windows can move freely across all screens
- Monitor-aware fullscreen detection - accurate identification of true fullscreen apps
- Virtual desktop bounds - unified workspace across multiple displays
- Smart filtering - automatically includes relevant windows (browsers, editors, plugins)
- Excludes system windows - taskbars, desktop, fullscreen apps left untouched
- Configurable patterns - easily add new applications to be managed
- Manual override - force-add any window to the physics system
- Window locking - fix individual windows in place
- Space optimization - instantly arrange windows for maximum efficiency
- Physics toggles - enable/disable physics and visual effects
- Real-time configuration - change settings without restarting
- Time-phasing echoes - beautiful trailing effects for floating windows
- Procedural noise clouds - dynamic visual feedback for plugin windows
- Lock indicators - clear visual borders for manually locked windows
- Smooth transitions - fluid movement with configurable easing
- Window analysis - detailed information about why windows are/aren't managed
- Pattern matching - see which detection rules apply to specific windows
- Real-time monitoring - track which windows are being managed
- Force-add capability - manually include stubborn windows
- Windows 10/11
- AutoHotkey v2 (latest version)
- Download
FWDE.ahkto your preferred location - Run the script directly or compile to
.exefor standalone use - Configure settings in the
Configmap (optional) - Use hotkeys to control the system
# Compile to standalone executable
autohotkey.exe /in FWDE.ahk- Launch FWDE - the system starts automatically
- Open applications - browsers, editors, terminals, etc.
- Watch the magic - windows arrange themselves naturally
- Use hotkeys for manual control when needed
- Automatic: FWDE detects and manages eligible windows automatically
- Manual Lock: Press
Ctrl+Alt+Lon any window to lock it in place - Force Add: Press
Ctrl+Alt+Ato manually add a window to physics - Optimize: Press
Ctrl+Alt+Oto instantly optimize all window positions
| Shortcut | Action | Description |
|---|---|---|
Ctrl + Alt + Space |
Toggle Arrangement | Enable/disable the entire physics system |
Ctrl + Alt + P |
Toggle Physics | Enable/disable physics calculations |
Ctrl + Alt + F |
Toggle Visual Effects | Enable/disable time-phasing and visual effects |
Ctrl + Alt + M |
Toggle Multi-Monitor | Switch between single-monitor and seamless multi-monitor mode |
Ctrl + Alt + O |
Optimize Positions | Instantly arrange windows for optimal space usage |
Ctrl + Alt + L |
Lock/Unlock Window | Lock or unlock the currently active window |
Ctrl + Alt + T |
Show Taskbar Menu | Display the context menu from the taskbar |
Ctrl + Alt + D |
Debug Window Info | Show comprehensive window tracking information |
Ctrl + Alt + I |
Debug Active Window | Analyze the currently active window in detail |
Ctrl + Alt + A |
Force Add Window | Manually add the active window to physics tracking |
All settings are in the Config map at the top of FWDE.ahk. Changes take effect immediately without restarting.
global Config := Map(
"MinMargin", 2, ; Minimum distance from screen edges (pixels)
"MinGap", 21, ; Minimum gap between windows
"AttractionForce", 0.00005, ; Force pulling windows toward center
"RepulsionForce", 0.8, ; Force pushing windows apart
"EdgeRepulsionForce", 0.80, ; Force from screen edges
"Damping", 0.001, ; Friction/damping coefficient
"MaxSpeed", 12.0, ; Maximum window velocity
)"PhysicsTimeStep", 1, ; Physics update frequency (ms)
"VisualTimeStep", 16, ; Visual update frequency (ms) - 60fps
"UserMoveTimeout", 11111, ; Pause physics after user interaction (ms)
"ManualLockDuration", 33333, ; How long manual locks last (ms)"ForceFloatProcesses", [ ; Processes that should always float
"firefox.exe", "chrome.exe", "cursor.exe", "code.exe",
"notepad++.exe", "devenv.exe", "explorer.exe",
"winword.exe", "excel.exe", "powerpnt.exe", "outlook.exe"
],
"FloatClassPatterns", [ ; Window classes to include
"MozillaWindowClass", "Chrome_WidgetWin_1", "ApplicationFrameWindow",
"Code.exe", "Cursor.exe", "Notepad", "Notepad++"
],
"FloatTitlePatterns", [ ; Window titles to include
"VST.*", "JS:.*", "Plugin", "Command Prompt", "Windows Terminal"
]"SeamlessMonitorFloat", false, ; Allow windows to float across monitors
"TooltipDuration", 15000, ; How long debug tooltips stay visible
"ResizeDelay", 22, ; Delay before applying physics after resizeCtrl+Alt+D- Shows all tracked vs untracked windows with detailed informationCtrl+Alt+I- Analyzes the active window and shows why it is/isn't being managedCtrl+Alt+A- Manually add any window to the physics system
- Check arrangement status: Press
Ctrl+Alt+Spaceto ensure it's ON - Check physics status: Press
Ctrl+Alt+Pto ensure physics is ON - Debug window: Press
Ctrl+Alt+Ion the problematic window - Force add: Press
Ctrl+Alt+Aif the window should be managed
- Increase damping: Set
"Damping"to 0.005 or higher - Reduce repulsion: Lower
"RepulsionForce"to 0.3 or less - Lock windows: Use
Ctrl+Alt+Lto lock windows in place
- Increase timesteps: Set
"PhysicsTimeStep"to 5 and"VisualTimeStep"to 33 - Reduce window count: Lock unnecessary windows with
Ctrl+Alt+L - Disable effects: Press
Ctrl+Alt+Fto turn off visual effects
- Toggle seamless mode: Press
Ctrl+Alt+Mto switch between modes - Check monitor detection: Use
Ctrl+Alt+Dto see monitor assignments - Verify window positions: Ensure windows are on the intended monitors
- Check patterns: Use
Ctrl+Alt+Ito see which patterns match - Add to ForceFloatProcesses: Add the process name to the config
- Force add manually: Use
Ctrl+Alt+Afor immediate inclusion
- DAW Plugin Management: Automatically arranges VST plugins, effects, and instruments
- Multi-Monitor Workflow: Seamless plugin organization across multiple screens
- Lock Critical Windows: Keep your main DAW interface fixed while plugins float
- IDE + Browser: Firefox/Chrome and code editors work together harmoniously
- Terminal Management: Command prompts and terminals arrange themselves
- Documentation Windows: Reference materials stay accessible without overlap
- Tool Palette Organization: Photoshop, Illustrator, and other creative tools
- Reference Management: Image viewers, color pickers, and design references
- Multi-Application Workflow: Seamless switching between design applications
- Spreadsheet + Browser: Excel and web research tools work together
- Chart Management: Multiple data visualization windows organized automatically
- Research Workflow: PDFs, browsers, and analysis tools in harmony
- Physics Engine: Custom implementation with attraction/repulsion forces
- Window Detection: Multi-pattern matching system (process, class, title, style)
- Multi-Monitor: Per-monitor physics calculations with cross-monitor support
- Performance: Adaptive update rates with resource management
- Existence Check: Window must exist and be accessible
- Fullscreen Check: Excludes true fullscreen applications (games, media players)
- Min/Max Check: Excludes minimized or maximized windows
- Pattern Matching: Checks against ForceFloatProcesses, FloatClassPatterns, FloatTitlePatterns
- Style Analysis: Examines Windows API style flags
- Manual Override: Allows force-adding any window
- Force Calculation: Attraction toward center, repulsion from other windows and edges
- Velocity Integration: Smooth movement with configurable damping
- Collision Detection: Prevents window overlap with configurable tolerance
- Boundary Enforcement: Keeps windows within monitor bounds
- Fixed fullscreen detection - browsers and editors no longer incorrectly excluded
- Added common applications - Firefox, Chrome, Cursor, VS Code, Office apps
- Improved pattern matching - more accurate detection of relevant windows
- Multi-monitor awareness - per-monitor physics calculations
- Real-time window analysis - see exactly why windows are/aren't managed
- Pattern matching display - understand which rules apply to each window
- Force-add capability - manually include any window in the physics system
- Comprehensive monitoring - track all managed windows at a glance
- Increased repulsion force - windows spread out more effectively
- Reduced attraction force - allows better space utilization
- Enhanced interaction ranges - larger gaps between windows
- Improved edge positioning - better use of screen real estate
FWDE is actively developed and welcomes contributions:
- Bug Reports: Use the debug tools to identify issues
- Feature Requests: Suggest new capabilities or improvements
- Code Contributions: Submit pull requests for enhancements
- Documentation: Help improve this README and inline comments
This project is open source. See the LICENSE file for details.
Created by Flalaski with AI assistance (Copilot, DeepSeek, Gemini)
Streamlined for stability and essential functionality
Special thanks to the AutoHotkey community for the excellent v2 platform.
Having issues? Here's how to get help:
- Use debug tools (
Ctrl+Alt+D,Ctrl+Alt+I) to identify the problem - Check this README for common solutions
- Review the configuration - most issues are settings-related
- Test with minimal setup - disable effects and reduce window count
Happy floating! 🪟✨