API reference

Every public type in DroppyKit, 172 of them, grouped by what they are for.

Read straight from the compiler’s symbol graph, so a type that is not on this page is not in the module.

The droplet

What every droplet is built out of.

Shelf widgets

A card on the expanded shelf, alone or sharing the row.

Live activities

A compact row beside the notch, and its detail.

Expanded surfaces

A takeover on the notch.

Other surfaces

Settings, the lock screen, the menu bar, HUDs.

Host services

Everything a droplet can ask Droppy to do.

DropletPreferencesServicePersistent, droplet-scoped settings. DropletEnvironmentServiceRead-only facts about the host and the machine it is running on. DropletHUDServicePresents transient HUDs on the notch surface. DropletHUDRequestA transient HUD to show in the notch. DropletHUDPriorityHow loudly a HUD asks for attention. DropletShelfServiceOpens and closes Droppy's shelf, and reveals this droplet's widgets in it. DropletLiveActivityServiceDrives this droplet's live activity. DropletLiveActivitySeatWhere a droplet's activity currently sits (DroppyKit 0.6.0). DropletLiveActivityYieldReasonWhy a droplet's activity is not holding the compact slot (DroppyKit 0.6.0). DropletNotchSurfaceServicePresents and dismisses expanded (takeover) surfaces on the notch. DropletShortcutsServiceRegisters global keyboard shortcuts the user can rebind in Droppy's Settings, Shortcuts page. DropletKeyboardShortcutA key equivalent, as the user recorded it. ShortcutsProvidingA droplet whose own shortcuts Droppy lists on its Shortcuts page, in a section with the droplet's name and icon. DropletShortcutEntryOne shortcut a droplet keeps itself, listed on Droppy's Shortcuts page. DropletWorkspaceServiceThings a droplet can ask the system to do on the user's behalf. DropletFeedbackServicePlays Droppy's own sound and haptic feedback, so a droplet feels like the rest of the app instead of inventing its own vocabulary. DropletFeedbackCueOne of the host's own feedback cues. DropletPermissionsServiceChecks and requests the macOS permissions behind a capability. DropletPermissionStatusWhether the host currently holds a system permission. DropletInstallStateServiceReports what the user has switched on, so a droplet can avoid doing work for a widget nobody is showing. DropletInstallStateWhich of this droplet's pieces the user currently has switched on. DropletLogServiceWrites into Droppy's own log stream, tagged with the droplet id. DropletLogLevelSeverity of a droplet log line. DropletNotchGeometryHow the notch surface is physically shaped on one display. DropletExpandedShelfStateWhat the host's expanded shelf is currently showing. DropletSurfaceAppearanceThe appearance Droppy is drawing its surfaces in. DroppyKitHostBridgeExtension points a host process installs into DroppyKit at launch.

Launchers

Droppy's commands, droplets, settings and content, for a launcher.

Tools for AI apps

Actions an AI app can run through Droppy's MCP server.

Manifest and bundle

What ships, and what the host reads before it loads.

Surface geometry

The shapes and sizes Droppy draws its surfaces at.

Design system

Droppy's own tokens, rows and controls.

AdaptiveColorsSemantic color palette for droplet UI. DroppySpacingStandardized spacing values on a 4pt grid. DroppyRadiusStandardized corner radius values (tiered radii standard). DroppyOpacityStandardized opacity values for consistent layering. DroppyAnimationDroppy's named animation presets. DroppyKitMotionBridgeHost-installed motion hooks. DroppyTransitionThe content transitions Droppy's own notch surfaces use (DroppyKit 1.8.0). DroppyLiveActivityMetricsNative metrics for compact and interactive live-activity rows. DroppySettingsControlMetricsShared metric constants for settings rows. DroppySettingsLayoutMetricsShared layout metrics for settings rows and cards. DroppyAccentButtonStyleThe accent pill for a primary action: Liquid Glass with the accent washed over it (0.18 at rest, 0.24 under the pointer, 0.30 pressed) and the adaptive label ink, exactly the host's DroppyAccentButtonStyle. DroppyQuietButtonStyleThe quiet pill for a secondary action: plain Liquid Glass with the adaptive label ink, the host's DroppyPillButtonStyle. DroppyCircleButtonStyleThe circular icon button for an icon-only action: the Liquid Glass disc the File Tray puts on an item (remove, pin) and the shelf's floating close chip, the host's DroppyCircleButtonStyle. DroppyButtonChromeNeutral chrome fill shared by Droppy's quiet filled control family. DroppyButtonSizeSize variants of the Droppy button family. DroppyGlassControlThe Liquid Glass control recipe: the fill vocabulary, the ink, and the wash for one state. DroppyGlassControlChromeThe Liquid Glass control as a modifier, so a style with its own sizing (the pill family, the disc) and a Menu label (which cannot take a ButtonStyle) draw the identical control. DroppyGlassButtonStyleThe glass control as a button style for labels that size themselves: shape and fill in, the ink from the fill unless the label sets its own (an accent glyph, red for a destructive action). DroppyLiveActivityControlStyleA 24pt circular control matching Droppy's collapsed media interaction. DroppyLiveActivityControlProminenceVisual prominence for an inline live-activity control. DroppyWashCircleButtonStyleThe circular control of Droppy's timer widgets: a flat wash, a semibold glyph, and the 0.94 press. DroppyWashPillButtonStyleThe labelled control of Droppy's timer widgets: Pomodoro's Start Timer pill and its Focus and Break pills, a flat wash under rounded semibold type. DroppyWashToneWhat a wash control carries: nothing but the white, or a colour. DropletSettingsPaneThe root of a droplet's settings pane (DroppyKit 1.9.0). DropletSettingsSectionA titled group of rows inside a DropletSettingsPane (DroppyKit 1.9.0). DropletSettingsCardCard wrapper for grouping settings rows. DropletSettingsDividerDivider between ordinary rows inside a DropletSettingsCard. DropletControlRowBase settings row: title with optional icon and info tip on the left, any accessory control on the right. DropletToggleRowStandard toggle row: title and info tip on the left, small switch on the right. DropletMiniToggleRowCompact nested toggle row for stacked rules and reorder lists. DropletStackedRowRow whose content stacks beneath the title block instead of trailing on the right. DropletSliderRowStandard slider row: title on the left, slider and click-to-type value pill on the right, on one line like a System Settings slider. DropletGroupedPickerRowTitle and info tip above a picker, inset evenly inside the native card. DropletValuePillThe read-only value of a settings row. DropletSettingsToolbarPillDroppy's Liquid Glass pill for the Settings toolbar, drawn by the host (DroppyKit 1.18.0). DropletSettingsToolbarButtonOne action of a page, as a pill in Droppy's Settings toolbar (DroppyKit 1.18.0): "New item", "Add application". DropletSettingsToolbarMenuA pill in Droppy's Settings toolbar that opens a menu (DroppyKit 1.18.0): "Add" with what can be added, a sort order, or what can be done to the page's subject as a whole. DropletSettingsToolbarMenuItemOne row of a DropletSettingsToolbarMenu (DroppyKit 1.18.0): an action, a separator, or a small section title. DropletSettingsToolbarSearchFieldA search over the page, as a pill in Droppy's Settings toolbar (DroppyKit 1.18.0). DropletSettingsToolbarSwitchA page's own on/off switch, as a pill in Droppy's Settings toolbar (DroppyKit 1.18.0), where every feature page of Droppy keeps its own. DropletSettingsToolbarMetricsThe numbers Droppy draws its Settings toolbar pills with (DroppyKit 1.18.0). DropletConfirmationDialogA confirmation drawn by Droppy using its own glass dialog (DroppyKit 1.19.0). SettingsUnifiedSegmentedRowOne value out of a short list, as the native pop-up button a System Settings row carries: the current choice with the up/down chevrons, a checkmarked menu of every option, keyboard and VoiceOver behaviour courtesy of AppKit. SettingsPickerOptionOne option of a segmented settings picker. SettingsGroupPositionVertical position of a grouped row within its parent DropletSettingsCard. SettingsSelectionChromeOne rule for "this is the option you picked", across every selectable control DroppyKit publishes. SettingsAdaptiveColorBuilds a Color that resolves per appearance, so a token can be written as a (ColorScheme) -> Color function and still be read at a call site with no ColorScheme in scope. SettingsInfoTipLightweight info button that shows a text popover on hover. SettingsSearchEntryOne entry the host's settings search can surface for a droplet. GroupedCornersDescribes which corners of a cell round when composing grouped rows, where outer corners follow the parent card's curvature and inner edges stay flat. DroppyKitThemeBridgeEnumeration DroppyKitThemeResolutionHost-installed theme hooks. DroppyMarkdownEditorDroppy's markdown editing surface. DroppyMarkdownEditorCommandsA handle onto the host editor's command bus (DroppyKit 0.2.2). DroppyMarkdownEditorContextEverything the host editor needs beyond the text binding (DroppyKit 0.2.2). DroppyMarkdownHighlightColorMarker-pen palette for ==highlight== spans (DroppyKit 0.2.2). DroppyMarkdownToolbarActionA formatting command a droplet's toolbar can send to the host editor (DroppyKit 0.2.2). settingsSectionHeader(_:)Single source of truth for the section headers that sit above settings cards. settingsUnifiedSegmentLabel(icon:title:isSelected:isEnabled:)One option of a settings pop-up: its SF Symbol, then its title, in the menu's own font. settingsUnifiedPickerRow(title:subtitle:icon:iconColor:options:accessibilityLabel:groupPosition:isEnabled:isSelected:action:content:)The canonical picker row: a title on the left and the native pop-up on the right, one line, inside a DropletSettingsCard.

Versioning

The handshake between a droplet and its host.