Skip to content
Theming

Theme the macOS SDK

Match native support and feedback to your Mac app’s appearance.

Apply a messenger theme

Pass BTXTheme through BTXMessengerOptions.theme. Support, feedback, conversation history, attachment previews, message bubbles, and composer controls share this theme.

App theme
import BTXClientKit

@MainActor
func configureThemedBTX() {
    let theme = BTXTheme.dark

    BTX.configure(
        BTXConfiguration(
            publishableClientKey: "cfk_...",
            features: [.messenger],
            messengerOptions: BTXMessengerOptions(
                title: "Support",
                appName: "Acme",
                theme: theme
            )
        )
    )
}

Use BTXTheme.light or BTXTheme.dark as a starting palette. colorScheme supports .system, .light, and .dark. Match an explicit palette to its appearance mode.

01

Customize supported appearance

Use the shared theme's surface, text, bubble, link, and primary-action colors. Body, title, and hero font overrides are supported. Test text and control contrast in the host app, including image attachments and long messages.

On macOS 26, supported controls use native Liquid Glass. Earlier supported systems use native controls. APNs banners are rendered by macOS; the messenger theme does not style system notifications.