Releases: krypdoh/GhostDesktop
Releases · krypdoh/GhostDesktop
GhostDesktop v0.9.4
GhostDesktop — Changelog
v0.9.4 — 2026-03-31
Tray menu:
- Fully custom tray menu replaces all built-in AHK items.
- Menu order: Settings | Pause GhostDesktop, Suspend Hotkeys, Reload
GhostDesktop, About, Donate!, Exit. - "Pause GhostDesktop" replaces the built-in "Pause Script" item; toggles
pause state with a checkmark indicator. - "Reload GhostDesktop" restarts the script or compiled EXE via Reload().
- "Donate!" opens PayPal link in the default browser.
Tray icon:
- Custom tray icon (ghostdesktop.ico) set on startup with Freeze flag toG
prevent AHK from overriding it with built-in pause/suspend icons. - Tray icon switches to ghostdesktop-white.ico when paused and back to
ghostdesktop.ico when unpaused. - Icons embedded via FileInstall for compiled EXE; white icon extracted to
%TEMP% at runtime. SetMainIcon directive sets the EXE's main icon.
About dialog:
- Website link (krypdoh.github.io/GhostDesktop/) added as clickable URL.
- License changed to AGPL-3.0 with clickable link to license text.
- Donate link added to About dialog.
Other:
- Removed Fix Wallpaper tray menu item and FixWallpaper() routine.
- Added script description to file header comment block.
- Updated README.md to reflect actual program features and filenames.
v0.9.3 — 2026-03-30
Bug fixes:
- Desktop wallpaper no longer disappears when icons fade out. Fade target
changed from SHELLDLL_DefView (which also hosts the wallpaper on some
configurations) to SysListView32 directly. Because the list-view background
is set to CLR_NONE, only icons and labels are affected; the wallpaper
painted by Progman/WorkerW stays fully opaque at all times.
Performance / cleanup:
- Removed dead gSafeMode global and its INI writes (set but never read).
- Removed unused HideMyIcon function parameters (were immediately
overwritten by globals on every tick). - Replaced WinExist handle-validity check with lightweight
DllCall("IsWindow") — direct Win32 syscall avoids AHK window-search
overhead. - Replaced 4-line if/else transparency clamping with Max(1, Min(255, …)).
- Sleep is now skipped when transparency is already at its target value,
reducing idle CPU usage when icons are fully visible or fully hidden. - Fixed About dialog showing stale version (v0.9.2n → v0.9.3) and date.
- FixWallpaper tray action updated to target SysListView32 directly.
GhostDesktop v0.9.2
Add files via upload
GhostDesktop v0.9.1
GhostDesktop — Changelog
v0.9.1 — 2026-03-07
Bug fixes:
-
Icons now properly fade in and out instead of snapping visible/invisible.
Root cause: AnimateWindow does not produce a blend fade on child windows
whose parent has WS_CLIPCHILDREN (which SHELLDLL_DefView / Progman always
has). The AnimateWindow / SafeMode branch has been removed entirely. -
Desktop wallpaper no longer flashes black during icon fade transitions.
Root causes were two-fold:- Applying WS_EX_LAYERED directly to SysListView32 caused it to paint
its own background black when composited by DWM. - Toggling WS_EX_LAYERED off at alpha=255 triggered a DWM re-composite
transition that briefly blacked out the wallpaper.
- Applying WS_EX_LAYERED directly to SysListView32 caused it to paint
Changes:
- Fade is now applied to SHELLDLL_DefView (parent of SysListView32) instead
of the SysListView32 window directly. SHELLDLL_DefView has no painted
background, so it cannot produce a black silhouette over the wallpaper. - WS_EX_LAYERED is enabled once during initialisation (via
WinSetTransparent(255, hDefView)) and never removed, keeping the layer
permanent and preventing the DWM recomposite flash. - ConfigureDesktopListView (sets CLR_NONE background on SysListView32) is
now always called on startup regardless of safe-mode setting. - Removed the SafeMode code path; all fading uses the single incremental
alpha loop targeting hDefView. - Added hDefView as a persistent static variable alongside hIcon.
v0.9 — 2026-03-03
Initial public release.
- Desktop icon fade in / fade out driven by a repeating SetTimer loop.
- Two trigger modes: Click (window activate / deactivate) and Hover
(mouse-over detection). - Configurable Speed (1–255) and Delay (ms between alpha steps).
- Settings GUI with Save / Apply / Cancel / Reset Defaults.
- About GUI.
- Persistent settings stored in %APPDATA%\ghostdesktop\ghostdesktop.ini.
- ProcessSetPriority("AboveNormal") for smoother animation.
- OnExit handler restores icon opacity to 255 on script exit.
- Desktop list-view reacquisition if Explorer recreates the window.
- TrayShowDesktopButton forces fade-in to prevent accidental hide.
- DisplayFusion (DFTaskbar) recognised as a non-desktop class.