# App Window

Native desktop window with a title bar and no address bar, wrapped around any app content you pass as children.

```bash
npx shadcn add https://www.reelcn.dev/r/app-window.json
```

Usage:

```tsx
<Center>
  <AppWindow title="Settings">
    <div style={{ width: "100%", height: "100%", background: "#fff" }} />
  </AppWindow>
</Center>
```

Use for:

- Framing a desktop app, editor or settings panel in a launch video
- Two app windows side by side inside `split-screen`

Avoid:

- A website with an address bar. Use `browser-window`


## Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| delay? | `number` | — | Frames to wait before entering. |
| duration? | `number` | — | Enter duration in frames. Defaults to 0.6s. Some items reuse `duration` for an unrelated local timing. See that item's own prop docs. |
| exit? | `number \| boolean` | — | Exit at the end of the parent `<Sequence>`. `false` keeps it on screen, a number sets the exit length in frames. |
| motion? | `MotionPersonality` | — | Override the theme's motion personality. |
| poster? | `boolean` | — | Renders fully entered, with no exit: for a still frame or thumbnail. Defaults to `false`. |
| holdFrames? | `number` | — | Delays the start of the exit window by this many frames, for a minimum on-screen hold. Defaults to `0`. |
| title? | `string` | — | Shown centered in the title bar. |
| width? | `number` | — | Window width as a fraction of the safe area (0–1). Defaults to 0.8 in landscape, 1 otherwise. |
| aspect? | `number` | `16 / 10` | Window aspect ratio (width / height). Defaults to 16/10. |
| children? | `ReactNode` | — |  |
| barColor? | `string` | — |  |
| background? | `string` | — |  |
| borderColor? | `string` | — |  |
| titleColor? | `string` | — |  |
| radius? | `number` | — | Corner radius in design units. Defaults to the theme radius. |
| style? | `CSSProperties` | — |  |
| className? | `string` | — |  |