Skip to content

Non-native fullscreen doesn't respect NSView.safeAreaInsets on displays with a notch #9676

@dannydulai

Description

@dannydulai

Bug description

When using macos_traditional_fullscreen yes, kitty renders content behind the display's safe area inset (i.e., behind the notch on MacBook models that have one). The content is physically obscured.

Expected behavior

macOS provides NSView.safeAreaInsets (available since macOS 12.0) which reports the exact insets needed to avoid hardware obstructions like the notch. In non-native fullscreen, the top inset is non-zero on notched displays and zero on everything else.

The content area should be offset by safeAreaInsets.top so that no text is rendered behind the notch.

Reproduction

  1. Use a MacBook with a notch (2021+)
  2. Set macos_traditional_fullscreen yes in kitty.conf
  3. Toggle fullscreen — top lines of content are hidden behind the notch

Environment

  • kitty 0.46.1
  • macOS 15 (Sequoia) on a MacBook with a notch

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions