Skip to content

feat: always keep the preview window on top - #2047

Open
Extremenis wants to merge 1 commit into
QL-Win:masterfrom
Extremenis:feat/always-on-top-preview
Open

Extremenis wants to merge 1 commit into
QL-Win:masterfrom
Extremenis:feat/always-on-top-preview

Conversation

@Extremenis

@Extremenis Extremenis commented Oct 25, 2026 •

Copy link
Copy Markdown

PR Checklist

  • Functionality has been tested, no obvious bugs
  • Code style follows project conventions
  • Documentation/comments updated (if applicable)

Brief Description of Changes

The preview window is now always topmost and the "keep on top" toggle button is hidden, so a preview is never buried behind the window it was opened from. The Topmost setting is no longer read or written, so its entry is removed from OPTIONS.md.

Related Issue (if any)

None.

Additional Notes

  • This removes a user-visible option (the ability to turn "on top" off), so it is a separate PR that can be dropped or reworked, e.g. keeping the setting and only changing its default, without affecting the others.
  • Builds cleanly against current master (MSBuild, Release). No automated tests.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Updates
    • The preview window now remains above other windows.
    • The option to toggle this behavior in the preview window and the related Topmost setting have been removed.

The preview window is now always topmost and the "keep on top" toggle
button is hidden, so a preview is never buried behind the window it was
opened from. The "Topmost" setting is no longer read or written, so its
entry is removed from OPTIONS.md.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 06ced82c-c0fb-4d6f-a034-004738797f6c
Commits

Reviewing files that changed from the base of the PR and between 2ec219a and 87ac94e.

Files selected for processing: 2
  • OPTIONS.md
  • QuickLook/ViewerWindow.xaml.cs
Files with no reviewable changes: 1
  • OPTIONS.md

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 1 remain after this review.

Walkthrough

The preview window now always stays on top. The topmost toggle button and its setting are removed, along with the setting’s documentation.

Changes: Preview window behavior

Layer / File(s) Summary
Set preview window behavior
QuickLook/ViewerWindow.xaml.cs, OPTIONS.md
The preview window always sets Topmost to true and hides the topmost button. The button’s click handler and the documented Topmost option are removed.

Priority: Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Other

Suggested reviewers: emako, xupefei

Merge Risk: Minimal · up to 87ac9

The preview window behavior matches the stated intent with no concrete merge-blocking risk identified.

Security architecture risk: Minimal · up to 87ac9

The change fixes preview-window stacking behavior without introducing a new access path or expanding privileges. The remaining invocation option reinforces the same behavior. Existing users lose the ability to disable always-on-top, but no material security risk was identified in the changed behavior.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The demonstrated change in effective authority is limited to keeping preview windows above other windows, including previews that previously honored Topmost=false. The inspected changes do not expand file-selection, plugin-execution, or service-access authority.

Resilience and Maintainability Implications

  • inferred — Source inspection found a consistent topmost policy across window reuse, pinning, close/replacement, and preview-failure fallback: reused windows retain the value, while replacement windows initialize it again. No PR-specific divergent transition was identified; actual native z-order behavior under dispatcher races remains unvalidated.
Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly states the main change: the preview window always remains on top. It is concise and specific.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant