A professional, modular window cycling tool specifically designed for Dofus and Wakfu games with advanced hotkey support, profile management, and modern GUI.
- Auto-detects Dofus and Wakfu windows
- Extracts character names from window titles
- Supports all versions (Dofus Classic, Retro, Unity, Wakfu)
- Multi-server support for different game instances
- Mouse button support (Mouse 4, Mouse 5, Middle Click)
- Custom key combinations (Ctrl+Mouse5, Alt+F3, etc.)
- Live hotkey capture - press keys to detect them automatically
- Multiple fallback methods for maximum compatibility
- Triple-redundant system (keyboard lib, Win32, pynput)
- Save/Load configurations for different character setups
- Import/Export profiles to share with other players
- Automatic window matching by character names
- Profile management (rename, duplicate, delete)
- Backup system with automatic versioning
- Clean, professional interface with tooltips
- Drag-and-drop style ordering with auto-numbering
- Real-time window detection and validation
- Status bar with detailed feedback
- Scrollable lists for many windows
- Smart window activation with multiple fallback methods
- Invalid window cleanup (removes closed windows automatically)
- Cross-monitor support
- Minimized window handling (restores when cycling)
- Process validation ensures windows are still alive
-
Install Python 3.8+ from python.org
-
Download the project and extract to a folder
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
- Launch your games - Start Dofus/Wakfu with your characters
- Open the cycler - Run
python main.py - Refresh windows - Click "๐ Refresh Windows"
- Select windows - Check boxes for windows you want to cycle
- Configure hotkey - Click "๐ง Change" to set your preferred hotkey
- Start cycling - Click "
โถ๏ธ Start Cycling" - Cycle away! - Press your hotkey to cycle through windows
dofus_wakfu_cycler/
โโโ main.py # Entry point
โโโ requirements.txt # Dependencies
โโโ README.md # This file
โ
โโโ core/ # Core functionality
โ โโโ window_detector.py # Game window detection
โ โโโ window_cycler.py # Cycling logic
โ โโโ hotkey_manager.py # Hotkey handling
โ โโโ config_manager.py # Profile management
โ
โโโ models/ # Data structures
โ โโโ game_window.py # GameWindow class
โ โโโ profile.py # Profile classes
โ โโโ hotkey.py # Hotkey configuration
โ
โโโ gui/ # User interface
โ โโโ main_window.py # Main application window
โ โโโ hotkey_dialog.py # Hotkey configuration dialog
โ โโโ profile_dialog.py # Profile management dialog
โ โโโ components/ # Reusable UI components
โ โโโ window_list.py # Window selection widget
โ โโโ status_bar.py # Status bar widget
โ
โโโ utils/ # Utilities
โโโ platform_utils.py # Windows API wrapper
Perfect for gaming - use side mouse buttons that don't interfere with gameplay:
- Mouse 4 (side button)
- Mouse 5 (other side button)
- Middle Click (mouse wheel)
- Combinations like Ctrl+Mouse4, Alt+Mouse5
- Save different setups for different activities (PvP, dungeon, farming)
- Auto-match characters when loading profiles
- Export/Import to share configurations with friends
- Backup system prevents data loss
- Character name extraction from window titles
- Game type detection (Dofus vs Wakfu)
- Process validation ensures windows are still running
- Multi-instance support for different servers
- Minimal CPU usage when idle
- Fast window switching with multiple activation methods
- Memory efficient profile storage
- Threaded operations keep UI responsive
- Works with Classic, Retro, and Unity versions
- Character names automatically detected from window titles
- Perfect for multi-character dungeon runs
- Save profiles for different team compositions
- Full compatibility with current Wakfu client
- Character detection works with standard window titles
- Great for ecosystem management
- Multi-server character cycling
- Mouse 4 - Most convenient for gaming
- Mouse 5 - Alternative side button
- Ctrl+Space - Doesn't conflict with games
- F1/F2 - Dedicated function keys
To create a standalone .exe file:
-
Install PyInstaller:
pip install pyinstaller
-
Run the build script:
python build_executable.py
-
Find your executable in:
dist/DofusWakfuCycler.exe
- Make sure Dofus/Wakfu is running
- Try clicking "๐ Refresh Windows"
- Check that games are in windowed mode (not fullscreen)
- Try running as Administrator (right-click โ "Run as administrator")
- Try different hotkeys (F1, F2, Mouse buttons)
- Check if other applications are using the same hotkey
- Ensure games are in windowed mode
- Try different window activation methods
- Check that windows haven't been closed
- Make sure character names match between sessions
- Check that the same games are running
- Try refreshing windows before loading profile
- Keyboard Library - Fastest, most reliable when it works
- Win32 RegisterHotKey - Most compatible, works system-wide
- Pynput - Fallback method, supports mouse buttons
- Basic activation (SetForegroundWindow, BringWindowToTop)
- Thread input attachment (advanced Windows technique)
- Alt key trick (overcomes Windows focus restrictions)
- Mouse click simulation (last resort)
- JSON format for easy editing and backup
- Automatic backup creation when profiles are modified
- Configurable backup retention (default: 10 backups per profile)
This project is designed to be easily extensible:
- Add new games: Extend
GameWindowDetector - New hotkey methods: Add to
HotkeyManager - UI improvements: Modify components in
gui/ - New features: Core logic is modular and well-documented
- Modular architecture for better maintainability
- Advanced hotkey system with mouse support
- Professional profile management
- Modern GUI with tooltips and status feedback
- Comprehensive error handling and validation
- Basic window cycling functionality
- Simple hotkey support
- Single-file architecture
Happy cycling through