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:
overridepublicfunc hitTest(_ point:NSPoint)->NSView?{guardlet point = superview?.convert(point, to:self)else{returnnil}
// ...
}Combined with the empty mouseDown override:
overridepublicfunc mouseDown(with event:NSEvent){}This means the hidden minimap silently swallows all click events in its frame area.
Steps to Reproduce
- Create a
SourceEditor with peripherals: .init(showMinimap: false) - Open any text file
- Try to click on the right portion of the editor (where the minimap would normally be)
- 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:
overridepublicfunc hitTest(_ point:NSPoint)->NSView?{guard !isHidden else{returnnil}guardlet point = superview?.convert(point, to:self)else{returnnil}
// ...
}Environment
- CodeEditSourceEditor v0.15.2
- macOS 15.5, Apple Silicon
Description
When
showMinimapis set tofalseinSourceEditorConfiguration, theMinimapViewis hidden viaisHidden = 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(_:)overridesNSView.hitTestbut does not checkisHidden:Combined with the empty
mouseDownoverride:This means the hidden minimap silently swallows all click events in its frame area.
Steps to Reproduce
SourceEditorwithperipherals: .init(showMinimap: false)Expected Behavior
When
showMinimap: false, clicks should pass through to the underlying text view.Suggested Fix
Add an
isHiddenguard at the top ofhitTest:Environment