---
title: "ExpandedSurfaceHostSuppression, DroppyKit"
description: "Which of the host&#x27;s own expanded-shelf behaviors stand down while a takeover is on screen."
canonical: "https://getdroppy.app/docs/droppykit/api/expanded-surface-host-suppression"
last-updated: "2026-09-09"
---

# ExpandedSurfaceHostSuppression

Which of the host's own expanded-shelf behaviors stand down while a takeover is on screen.

`struct ExpandedSurfaceHostSuppression`

Every option here is a rule the shipping host used to apply by asking one hardcoded question: "is the transcription surface up right now". Seven separate sites asked it, each with its own copy of the answer, and none of them could be reused by a second takeover. Declaring the set turns those seven questions into one descriptor field, which is the same trade [`ShelfWidgetDescriptor`](https://getdroppy.app/docs/droppykit/api/shelf-widget-descriptor) makes for widget layout: the host keeps one algorithm and the droplet supplies parameters.

Suppression is a request like everything else here. A host is free to decline one, and a host that has never heard of an option simply does not act on it.

## Initializers

### init(rawValue:)

`init(rawValue: Int)`

Creates a suppression set from raw bits.

## Type properties

### autoCollapse

`static let autoCollapse: ExpandedSurfaceHostSuppression`

The host's auto-collapse timer. Suppress this for a surface the user is reading or dictating into rather than pointing at: the timer measures how long the pointer has been outside the shelf, and a surface nobody needs to hover collapses out from under them.

### favoritesBar

`static let favoritesBar: ExpandedSurfaceHostSuppression`

The favorites bar along the bottom of the expanded shelf.

### floatingNavLane

`static let floatingNavLane: ExpandedSurfaceHostSuppression`

The floating navigation lane that rides the shelf's bottom edge.

### none

`static let none: ExpandedSurfaceHostSuppression`

Nothing stands down: your content shares the shelf with the host's.

### notificationBanners

`static let notificationBanners: ExpandedSurfaceHostSuppression`

Notification banners, which would otherwise arrive over your content.

### outsideClickDismissal

`static let outsideClickDismissal: ExpandedSurfaceHostSuppression`

Dismissal on a click outside the shelf.

### shelfWidgets

`static let shelfWidgets: ExpandedSurfaceHostSuppression`

The host's own shelf widgets, which would otherwise render behind or beside your content.

### swipeGestures

`static let swipeGestures: ExpandedSurfaceHostSuppression`

The host's trackpad swipe gestures over the shelf.

### takeover

`static let takeover: ExpandedSurfaceHostSuppression`

The full set, for a surface that genuinely owns the shelf until it is done: the host's content is hidden and none of its dismissal paths fire.

Ask for this only when your surface has its own visible way out. A takeover with no close affordance and no host dismissal path is a shelf the user cannot get rid of, and review rejects it.

## Properties

### rawValue

`let rawValue: Int`

The raw bit set.
