Skip to content

v0.2.0: Full Modernization, Multi-Threading & UI Overhaul

Choose a tag to compare

@github-actions github-actions released this 05 Sep 07:39
· 3 commits to main since this release

πŸš€ 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.exe and 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 .json files (window_states_X.json).
  • Lossless Auto-Migration: If legacy .pkl files 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 / --headless flags 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_path NameError Crash: Replaced undefined app_path in try_start_application() with direct checks against state.process_path and state.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