StackyNG v0.7.0 - Feature Overview & System Description#
StackyNG is a modernized, high-performance Win32 utility designed to declutter the Windows taskbar by grouping shortcuts into organized, hierarchical menus (“stacks”). It serves as a successor to the original Stacky project, rewritten for speed, stability, and compatibility with modern Windows 10/11 environments. View Readme
🚀 Key Features Implemented#
1. High-Performance Architecture#
- Asynchronous Scanning: Unlike legacy tools that freeze the UI while scanning folders, StackyNG uses a background worker thread. You see a “Loading…” menu immediately, which dynamically refreshes once the data is ready.
- Memory-Mapped Cache: Shortcut data and icons are stored in
!stacky.cacheusing Win32 Memory-Mapped Files (CreateFileMapping). This allows near-instant loading on subsequent launches by mapping the file directly into the process memory space. - Structural Validation: On launch, StackyNG performs a lightning-fast structural scan (names and timestamps only) and compares it against the cache. It only rebuilds expensive resources (like icons) if a change is detected.
2. Modern Visuals & High DPI#
- WIC (Windows Imaging Component): Uses the modern WIC API for high-quality, linear scaling of icons, ensuring they look sharp regardless of the source format.
- High-DPI Awareness: Utilizes
SHGetImageListto extract jumbo/large icons from the system, preventing the “blurry icon” syndrome common in older Win32 apps. - Dark Mode Support: Deep integration with the Windows 10/11 “Immersive Dark Mode.” The application detects your system theme and applies dark-themed menus (
DarkMode_Explorer) and tooltips automatically. - Dynamic Tooltips: Hovering over any menu item displays a tooltip showing the target path or the shortcut’s metadata description.
3. Advanced Customization (stacky.json)#
Every stack folder can contain a stacky.json file to override default behavior:
- Custom Naming: Change how a shortcut appears in the menu without renaming the file on disk.
- Icon Overrides: Support for external
.pngor.icoicons (including transparency). - Argument Injection: Pass custom command-line arguments to applications when launched from the stack.
- Administrative Elevation: Flag specific shortcuts to always “Run as Administrator.”
- Theme Override: Force “dark”, “light”, or “auto” themes per stack.
4. Robustness & System Integration#
- Real-Time Monitoring: Uses
ReadDirectoryChangesWto watch your stack folder. If you add or remove a file while the menu is open, StackyNG detects the change and triggers an async refresh. - Circular Link Protection: Automatically detects and ignores circular directory junctions or symbolic links, preventing infinite recursive menu loops.
- Single Instance Signaling: If you click a StackyNG shortcut while a menu is already open, the new process signals the existing one to refresh and reposition, then exits immediately.
- Clean UI Logic: Implemented as a “Tool Window” to stay out of the Alt-Tab list and Taskbar, providing a seamless “native” feel.
🛠 Project Structure (Modular v0.7.0)#
The code has been fully refactored into modular components for easier maintenance:
App: Manages the Win32 window, message loop, and menu display.CacheManager: Handles filesystem scanning, structural comparison, and cache serialization.Bmp: Logic for icon extraction, WIC processing, and bitmap management.Config: A lightweight, fast parser for hierarchicalstacky.jsonfiles.Util: Shared Win32 helpers, logging, and memory-mapping logic.Logger: Thread-safe audit trail for troubleshooting background operations.
📦 Build System#
StackyNG supports multiple professional build environments:
- CMake: Modern cross-platform foundation (min 3.15).
- Visual Studio 2022: Full
.slnand.vcxprojsupport. - NMake: Supplemental Makefile for command-line power users.
- Batch: Simple
build.batfor quick one-click compilation.