v0.2.0: Full Modernization, Multi-Threading & UI Overhaul
π Crypto90's WindowManager v0.2.0 β Full Modernization & Architectural Overhaul
Welcome to the v0.2.0 release of Crypto90's WindowManager! This major milestone transforms the application with a dedicated background worker thread for a 100% fluid UI, replaces legacy binary pickle storage with human-readable JSON, enables Per-Monitor High-DPI awareness on Windows 10/11, resolves critical crashes, and adds customizable preset naming, silent CLI execution, and Windows startup integration.
β¬οΈ Downloads & Binaries
| File | Type | Platform | Download |
|---|---|---|---|
Crypto90s_WindowManager.exe |
Standalone Executable | Windows 10 / 11 (64-bit) | Download Executable (13.6 MB) |
π‘ Zero Setup Required: End-users do not need Python or any external packages installed. Simply download
Crypto90s_WindowManager.exeand run!
π Major Highlights & New Features
β‘ Non-Blocking Multithreading (Fluid UI)
- Window launching, polling, and repositioning now execute on an asynchronous daemon worker thread.
- The Tkinter interface remains 100% responsive throughout operationsβno more (Not Responding) GUI hangs during long waits.
- The action button dynamically turns into a "βΉ Stop / Cancel" control, allowing users to abort ordering at any time.
πΎ Safe JSON Storage & Auto-Migration
- Presets are now saved as clean, human-readable
.jsonfiles (window_states_X.json). - Lossless Auto-Migration: If legacy
.pklfiles exist, WindowManager automatically migrates them to the new JSON format on first load with zero user intervention. - Presets are stored in a safe, guaranteed-writable path (local portable folder or
%LOCALAPPDATA%\Crypto90s_WindowManager).
π― Per-Monitor High-DPI Precision
- Enabled Windows Per-Monitor V2 DPI awareness (
SetProcessDpiAwareness(2)). - Eliminates coordinate drift, distortion, and off-screen jumping across mixed-DPI multi-monitor displays (e.g., 4K at 150% + 1080p at 100%).
πͺ True Maximized & Minimized Window Support
- WindowManager now records whether a window is maximized (
SW_MAXIMIZE) alongside its normal restored geometry. - Windows are restored into their true maximized state without border margins or invisible resizing offsets.
π·οΈ Custom Preset Renaming
- Personalize presets with meaningful workspace names (e.g., "1: Coding & Dev", "2: Gaming Setup", "3: Trading").
- Click the in-app "βοΈ Rename" button to update any preset label on the fly.
π Headless / Silent CLI Mode
- Added
--silent/--headlessflags to run window ordering silently in the background:Crypto90s_WindowManager.exe --preset 1 --silent - Ideal for Windows Startup, Task Scheduler, or batch automation without displaying any GUI window.
πͺ Windows Startup Integration
- Added a one-click "Run at Windows Startup" checkbox in the interface that cleanly manages
HKCU\Software\Microsoft\Windows\CurrentVersion\Run.
π¨ Timestamped, High-Contrast Live Logging
- Replaced illegible dark-blue text on dark background with vibrant cyan (
#3498db). - Added timestamp prefixes
[HH:MM:SS]and dedicated color tagging (Green for success, Red for errors, Amber for warnings, Cyan for info).
π οΈ Critical Bug Fixes & Stability Improvements
- Fixed
app_pathNameError Crash: Replaced undefinedapp_pathintry_start_application()with direct checks againststate.process_pathandstate.launcher_override, ensuring relocated or updated apps launch smoothly. - Prevented Runaway Root Drive Scans: Added depth bounds and directory safeguards preventing runaway
os.walk("C:\")filesystem scans on root paths. - Preserved Offline Apps on Save: In
save_window_positions(), closed/offline applications are now preserved rather than permanently erased from preset files. - Fixed Preset 1 Overwrite Bug: In
set_launcher_override(), the active preset filename is passed properly, preventing accidental overwriting of Preset 1. - Fixed UWP / Windows Store App Launches: Accurately resolves AppUserModelId (AUMID) and launches modern apps via
explorer.exe shell:AppsFolder\<AppID>. - File Explorer Support & Self-Exclusion: Supports genuine File Explorer folder windows (
CabinetWClass) while excluding taskbar/desktop shells and WindowManager's own PID. - Optimized Process Snapshotting: Cached process queries reduce OS process scanning from seconds to milliseconds.
π Command Line Reference
# Launch GUI with specific preset (1-10)
Crypto90s_WindowManager.exe --preset 2
# Run silently in background on startup (no GUI)
Crypto90s_WindowManager.exe --preset 1 --silent
# Check version
Crypto90s_WindowManager.exe --version
# View help
Crypto90s_WindowManager.exe --helpβ Support the Project
If Crypto90's WindowManager saves you time and keeps your multi-monitor desktop organized, consider supporting development:
π Buy Me a Coffee on Ko-fi
Full Commit Comparison: 0.1.4...0.2.0