Skip to content

Releases: krypdoh/GhostDesktop

GhostDesktop v0.9.4

31 Mar 18:33
f0f5b4f

Choose a tag to compare

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

20 Mar 17:26
6ac33fe

Choose a tag to compare

Add files via upload

GhostDesktop v0.9.1

08 Mar 00:21
5bc5805

Choose a tag to compare

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:

    1. Applying WS_EX_LAYERED directly to SysListView32 caused it to paint
      its own background black when composited by DWM.
    2. Toggling WS_EX_LAYERED off at alpha=255 triggered a DWM re-composite
      transition that briefly blacked out the wallpaper.

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.