Problem
Pressing Win+D (Show Desktop) does not hide the PlotRuler overlay along with other windows — it stays visible floating over the desktop.
Why
Windows implements Show Desktop by raising the desktop above everything in the window stack, but it explicitly cannot cover always-on-top (topmost) windows. PlotRuler is topmost by design (it's an overlay that must float above the graph being read), so the OS can't hide it natively on Win+D without dropping that flag.
WS_EX_TOOLWINDOW is not the blocker; WindowStaysOnTopHint (WS_EX_TOPMOST) is the reason it stays up.
Options considered
- Intercept Win+D / Win+M with a Win32 low-level keyboard hook, then hide the overlay to the tray. Keeps it topmost for reading graphs, disappears on show-desktop like a normal window. Slightly more Win32 code to maintain (hook lifecycle, edge cases like the taskbar "Show Desktop" button, which a keyboard hook won't catch).
- Drop the always-on-top flag and make it a fully normal window. Simplest and most predictable — appears in taskbar / Alt+Tab, hides on Win+D. But it no longer floats above other apps, so reading over a graph requires bringing it forward manually. This conflicts with the core overlay use case.
- Hybrid: keep topmost for the reading overlay, but respond to Win+D/Win+M by hiding to tray via a hook.
Other "normal window" behaviors
While here, this is a broader question: the overlay currently does not behave like a normal window for several OS operations. The issue is to decide how far to go toward "normal window" semantics (taskbar/Alt-Tab presence, minimize-all behavior, etc.) versus staying a specialized always-on-top tool.
Decision
Undecided — needs more real-world testing of the current topmost behavior before choosing. Filing to track the tradeoff and revisit.
Problem
Pressing Win+D (Show Desktop) does not hide the PlotRuler overlay along with other windows — it stays visible floating over the desktop.
Why
Windows implements Show Desktop by raising the desktop above everything in the window stack, but it explicitly cannot cover always-on-top (topmost) windows. PlotRuler is topmost by design (it's an overlay that must float above the graph being read), so the OS can't hide it natively on Win+D without dropping that flag.
WS_EX_TOOLWINDOWis not the blocker;WindowStaysOnTopHint(WS_EX_TOPMOST) is the reason it stays up.Options considered
Other "normal window" behaviors
While here, this is a broader question: the overlay currently does not behave like a normal window for several OS operations. The issue is to decide how far to go toward "normal window" semantics (taskbar/Alt-Tab presence, minimize-all behavior, etc.) versus staying a specialized always-on-top tool.
Decision
Undecided — needs more real-world testing of the current topmost behavior before choosing. Filing to track the tradeoff and revisit.