Skip to content

MinimapView hitTest ignores isHidden, intercepts clicks when minimap is hidden #370

@sanvibyfish

Description

@sanvibyfish

Description

When showMinimap is set to false in SourceEditorConfiguration, the MinimapView is hidden via isHidden = true. However, clicks on the right ~140px of the editor are still intercepted by the hidden minimap, preventing cursor placement in that area.

Root Cause

MinimapView.hitTest(_:) overrides NSView.hitTest but does not check isHidden:

override public func hitTest(_ point: NSPoint) -> NSView? {
    guard let point = superview?.convert(point, to: self) else { return nil }
    // ...
}

Combined with the empty mouseDown override:

override public func mouseDown(with event: NSEvent) { }

This means the hidden minimap silently swallows all click events in its frame area.

Steps to Reproduce

  1. Create a SourceEditor with peripherals: .init(showMinimap: false)
  2. Open any text file
  3. Try to click on the right portion of the editor (where the minimap would normally be)
  4. The cursor does not move — the click is eaten by the hidden minimap

Expected Behavior

When showMinimap: false, clicks should pass through to the underlying text view.

Suggested Fix

Add an isHidden guard at the top of hitTest:

override public func hitTest(_ point: NSPoint) -> NSView? {
    guard !isHidden else { return nil }
    guard let point = superview?.convert(point, to: self) else { return nil }
    // ...
}

Environment

  • CodeEditSourceEditor v0.15.2
  • macOS 15.5, Apple Silicon

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions