---
title: "DropletCompactShell, DroppyKit"
description: "How Droppy lays out a compact row and a HUD strip on one display (1.22.0), read from compactShell."
canonical: "https://getdroppy.app/docs/droppykit/api/droplet-compact-shell"
last-updated: "2026-09-09"
---

# 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`](https://getdroppy.app/docs/droppykit/api/droplet-notch-geometry#compact-shell). 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`](https://getdroppy.app/docs/droppykit/api/droppy-live-activity-metrics#wing-corner-compensation) 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`](https://getdroppy.app/docs/droppykit/api/droplet-notch-geometry#closed-width) 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:)`](https://getdroppy.app/docs/droppykit/api/droppy-live-activity-metrics#symmetric-padding-icon-size-notch-height-uses-notch-style), [`shelfContentInsets(usesNotchStyle:notchHeight:)`](https://getdroppy.app/docs/droppykit/api/droppy-shell-metrics#shelf-content-insets-uses-notch-style-notch-height)).
