---
title: "DropletLauncherItem, DroppyKit"
description: "One thing Droppy offers a launcher: a command, a settings page, a droplet, a note, a clipboard entry, a web answer."
canonical: "https://getdroppy.app/docs/droppykit/api/droplet-launcher-item"
last-updated: "2026-09-09"
---

# DropletLauncherItem

One thing Droppy offers a launcher: a command, a settings page, a droplet, a note, a clipboard entry, a web answer.

`struct DropletLauncherItem`

Items are value snapshots. The `id` is stable for as long as the thing it names exists, so a launcher can key favorites, aliases and learned ranking on it; hand it back to [`perform(itemID:actionID:query:)`](https://getdroppy.app/docs/droppykit/api/droplet-launcher-service#perform-item-id-action-id-query) to run it.

## Cases

### DropletLauncherItem.Kind.command

`case command`

Something Droppy does: record, capture, open a surface.

### DropletLauncherItem.Kind.setting

`case setting`

A page or a setting in Droppy's Settings.

### DropletLauncherItem.Kind.droplet

`case droplet`

A droplet, installed or on the Store's shelf.

### DropletLauncherItem.Kind.surface

`case surface`

A droplet's own surface, shown in the launcher.

### DropletLauncherItem.Kind.content

`case content`

Something the user made in Droppy: a note, a task, an OCR result, a recording.

### DropletLauncherItem.Kind.clipboard

`case clipboard`

A Droppy clipboard history entry.

### DropletLauncherItem.Kind.shelf

`case shelf`

A file on Droppy's shelf or in a basket.

### DropletLauncherItem.Kind.web

`case web`

A web search or a web answer.

## Initializers

### init(id:kind:title:subtitle:section:icon:keywords:relevance:actions:accessoryText:)

`init(id: String, kind: Kind, title: String, subtitle: String? = nil, section: String, icon: DropletLauncherIcon, keywords: [String] = [], relevance: Double = 0, actions: [DropletLauncherAction], accessoryText: String? = nil)`

### init(rawValue:)

`init?(rawValue: String)`

## Properties

### accessoryText

`let accessoryText: String?`

A short label at the row's trailing edge, for example "Droplet".

### actions

`let actions: [DropletLauncherAction]`

What can be done with it. The first action is the primary one.

### icon

`let icon: DropletLauncherIcon`

### id

`let id: String`

### keywords

`let keywords: [String]`

Found by, never shown: other names, and for content the text it matched.

### kind

`let kind: Kind`

### primaryAction

`var primaryAction: DropletLauncherAction? { get }`

The action Return runs.

### relevance

`let relevance: Double`

How well the item answers the query it came back for, as the host scored it; higher is better. Zero for catalog items.

### section

`let section: String`

The section a launcher files it under, for example "Droppy" or "Notes".

### subtitle

`let subtitle: String?`

The second line, when the title alone does not say what it acts on.

### title

`let title: String`
