---
{
  "wiki": {
    "schema": "wiki-page/v1",
    "title": "XP-Content: aktueller Vertrag",
    "summary": "Stabiler Einstieg, Buildmanifest, gemeinsame Komponenten und gebündelte Assets.",
    "document_type": "reference",
    "status": "active",
    "navigation": {
      "placement": "unlisted"
    },
    "tags": [
      "xp",
      "contract",
      "css"
    ],
    "audience": [
      "developer",
      "admin",
      "codex"
    ],
    "owner": "infrastructure",
    "reviewed_at": "2026-10-05",
    "related": []
  }
}
---

# Fensterfokus und Hintergrundmaterial 1.5.0

Additiv zu window-attributes 1.4.0. Fokus, Geometrie und bestätigte Ansichtsrolle sind unabhängige Zustände. Farben und Fokus vergeben keine Rechte.

| Oberfläche | Attribut / Klasse | Werte |
| --- | --- | --- |
| Fenster | `data-xp-window-focus` | `foreground`, `background` |
| Fenster | `xp-window-foreground`, `xp-window-background` | genau eine Klasse |
| Fenster | `data-xp-window-state` | `normal`, `minimized`, `maximized` |
| Inhaltsfläche | `xp-window-content` | stabiler gemeinsamer Selektor |
| Inhaltsfläche | `xp-window-content-foreground`, `xp-window-content-background` | genau eine Klasse |
| Inhaltsfläche | `data-xp-window-focus` | gleicher Fokuswert wie das Fenster |

Der Host leitet Fokus aus seiner aktiven Fensterinstanz UND tatsächlicher Sichtbarkeit ab. Höchstens ein sichtbares Fenster ist Vordergrund; versteckte und minimierte Fenster sind Hintergrund. Maximieren erzwingt keinen dauerhaften Fokus. Taskleistenaktivierung, Pointer, Tastaturfokus, Iframe-Fokus, Minimieren, Schließen, Wiederherstellen und mobile Appwechsel synchronisieren die Attribute. Desktopfokus bedeutet nicht Browser-/Betriebssystemfokus: ein Wechsel in eine andere Browseranwendung ändert die interne Auswahl nicht. Dockfenster bleiben eigene Fokusinstanzen.

`xp-active`, `xp-maximized` und bestehende Lebenszyklusereignisse bleiben kompatibel. `window-gained-focus` / `window-lost-focus` werden nur bei Änderungen gemeldet. Der Host verwaltet Klassen an seiner Inhaltsfläche, auch um fremde Sandboxiframes; er liest oder ändert kein fremdes App-DOM. Fremde Apps brauchen kein Opt-in für die äußere Darstellung.

## Standard und Skins

`xp-window-focus.css` ist das gemeinsame, lokal gebündelte Asset. Standard: Hintergrundinhalt mit Opazität .72 und Sättigung .65. Titel/Rand behalten den bestätigten Rollenfarbton, erhalten eine helle Mischung und dunkle Titelschrift. Vordergrund ist klar. Fehlendes Fokusattribut bleibt optisch unverändert.

Skins dürfen `--xp-background-content-opacity` und `--xp-background-content-filter` an der Inhaltsfläche setzen oder die semantischen Selektoren überschreiben. XP Aero: Opazität .78, Blur 1.6px, Sättigung .65, Helligkeit 1.06; dazu helle Glasreflexe im Rollenfarbton. Die Unschärfe wirkt ausschließlich auf den eigenen Inhaltswrapper, nicht auf Fenstertitel, Controls oder die Rolle. Beim Aktivieren sofort scharf; kein blockierendes Overlay, kein versteckter Inhalt und kein DOM-Neuaufbau.

Transparenz aus, `prefers-reduced-transparency: reduce` und Forced Colors: Inhalt vollständig scharf/deckend. Forced Colors benutzt Systemfarben; Tastaturfokus bleibt sichtbar. Ohne Filterunterstützung bleibt die Opazitätsabstufung. Kein Effekt wird als Zugriffsschutz ausgegeben.

## XP-Content / Appadapter

XP-Content 1.8 bündelt dieselben Standardklassen. Ein eigener vertrauenswürdiger Adapter kann seine Rootfläche damit markieren, wenn sie nicht bereits durch den Host behandelt wird. Genau EIN Darstellungsbesitzer verhindert doppelte Abblassung. Kein neues MCP-HostContext-Protokoll: `_meta.version` bleibt 1.1.0. Die Shell-Version ist keine neue Authentifizierung; CSS darf keine Rolle ableiten.

## Prüfung

Zwei Fenster mit verschiedenen bestätigten Rollen öffnen, abwechselnd Titel/Inhalt und Taskleiste aktivieren. Titel behalten ihren Farbton, nur der Hintergrundinhalt wird weich. Auch Tastatur, Iframe, Min/Max/Restore, Schließen, Docking, kleine Viewports, Transparenz aus und Forced Colors prüfen. Historische Releases bleiben unverändert. Echte Rollen-/Geräteabnahme separat dokumentieren.

## Taskliste und minimierte Fenster (1.8.0)

Der Taskbereich enthält einen Eintrag je geöffnetem, taskfähigem Fenster, auch im minimierten Zustand. Eintrag: `.xp-task`, minimiert zusätzlich `.xp-task-minimized` und `data-xp-window-state="minimized"`; Fokus separat über `data-xp-window-focus`. `aria-pressed` kennzeichnet das aktive sichtbare Fenster, nicht Minimierung. Klick oder Enter/Leertaste stellt ein minimiertes Fenster wieder her und aktiviert es.

Container: `.xp-task-list` (Host zusätzlich `.xp-tasks`), `data-xp-taskbar-position="top|bottom|left|right"`; `data-xp-taskbar-orientation="horizontal|vertical"` ist abgeleitet. Hostroot spiegelt die Position als `data-xp-taskbar-position`; der bestehende Einstellungsselektor `data-taskbar-position` bleibt kompatibel. Fehlende/ungültige Position: bottom.

| Position | Default-Reihenfolge | Überlauf | Größe |
| --- | --- | --- | --- |
| top | horizontal links nach rechts, eine Zeile | horizontal scrollen | Basis 160px, maximal 210px |
| bottom | identisch zu top | horizontal scrollen | identisch zu top |
| left | vertikal oben nach unten, eine Spalte | vertikal scrollen | volle Breite, mindestens 44px Höhe |
| right | identisch zu left, nicht umgekehrt | vertikal scrollen | identisch zu left |

Stabile Öffnungs-/Wiederherstellungsreihenfolge im DOM; Fokus, Minimieren und Restore sortieren nicht um. Schließen entfernt den Eintrag, erneutes Öffnen fügt ihn hinten an. Keine automatische Gruppierung und kein Zeilenumbruch. Zu lange Namen mit Ellipse und vollständigem zugänglichem Buttonnamen; Tab-Reihenfolge entspricht sichtbarer Reihenfolge. Kein `row-reverse`, `column-reverse` oder CSS-order nur für minimierte Fenster.

Skin-Tokens: `--xp-task-gap`, `--xp-task-horizontal-size`, `--xp-task-vertical-size`. Vier Positionsselektoren bleiben unabhängig überschreibbar, obwohl jeweils zwei dieselben Defaults teilen. Skins dürfen Material und Abstände ändern, nicht still Fokus oder Fensterzustand. `xp-task-list.css` lokal bündeln; in xp-content.css enthalten. XP Aero verwendet diese Anordnung mit bestehendem Rollen-Glasmaterial.

Die WP-Lab-Einstellung bietet derzeit weiterhin oben/unten; links/rechts sind als Vertragslayout und Vorschau prüfbar. Die dauerhafte Vier-Seiten-Auswahl erfordert separat die serverseitige Einstellungsfreigabe. Phone/Tablet-Einzelansicht behält ihren eigenen Appwechsler.


## Systembereich: Defaults ab 1.8.2

Die `.xp-taskbar-system` fasst rechte Systembuttons, Vollbild und Uhr in einer
horizontalen Zeile zusammen. Einzeilige Taskleisten dürfen ihre Kindbuttons
nicht als vertikale Blockliste anzeigen. Ein explizites mehrzeiliges Host-Grid
hat weiterhin Vorrang; seitliche Leisten dürfen im Systembereich umbrechen.
Das identische xp-task-list.css gilt für das öffentliche iframe und WP-Lab.
