Win+D (Show Desktop) does not hide the overlay - decide normal vs topmost window
まだ誰も着手していません。
評価
調査の方向性
まず、現在の最前面 overlay を使用した Windows 上での Win+D の動作を再現し、Win+M およびタスクバーの「デスクトップを表示」アクションと比較します。通常のウィンドウ、キーボードフック、ハイブリッドの各オプションを、タスクバー、Alt+Tab、すべてを最小化、overlay の使用に対して評価します。完了の条件は、1 つの動作を選択して文書化することです。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Python
- スター
- 1
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
endolith/plotruler のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
endolith/plotruler の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
qgis/QGIS-Plugins-Website#459 ·
-
bug severity:medium
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 2 日以内に返信
-
bot-found bug priority: P3
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
madenvel/KalinkaPlayer#179 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ls1intum/edutelligence#1098 ·
メンテナーはふだん 1 日以内に返信