DropletCompactShell

How Droppy lays out a compact row and a HUD strip on one display (1.22.0), read from compactShell.

enum DropletCompactShell

How Droppy lays out a compact row and a HUD strip on one display (1.22.0), read from compactShell. It is the shell Droppy draws, which the hardware alone does not decide: the user picks Notch or Dynamic Island per display, so a display with no camera can still draw a notch, and a notched Mac can draw the island below its camera.

Not frozen: switch with @unknown default and treat an unknown case as islandCapsule.

Cases

DropletCompactShell.notchWings

case notchWings

A notch-styled shell, with or without a camera inside it: content sits in two wings either side of the cutout, and the shell's concave shoulders take wingCornerCompensation at its outer edges. Pass usesNotchStyle: true to the metrics.

DropletCompactShell.islandCapsule

case islandCapsule

The floating island: one centred row inside a capsule, no cutout to keep clear. Pass usesNotchStyle: false.

DropletCompactShell.islandWings

case islandWings

The camera island: the island's capsule with the camera pill in its middle, so content takes two wings either side of closedWidth plus Droppy's clearance, with the island's convex edges (no shoulder compensation). Pass usesNotchStyle: false.

Properties

splitsAroundCutout

var splitsAroundCutout: Bool { get }

Whether content is split into two wings around a cutout: true for notchWings and islandWings.

usesNotchStyle

var usesNotchStyle: Bool { get }

Whether the shell is notch-styled, the usesNotchStyle the metrics take (symmetricPadding(iconSize:notchHeight:usesNotchStyle:), shelfContentInsets(usesNotchStyle:notchHeight:)).