Das oder die Hauptfenster Ihrer Anwendung
Allan Day
aday@gnome.org
Christian Kirbach
christian.kirbach@gmail.com 2014
Mario Blättermann
mario.blaettermann@gmail.com 2016

# Primäre Fenster

Primäre Fenster sind der grundlegende Container der obersten Ebene für die Benutzeroberfläche Ihrer Anwendung. Sie sollten die Kernfunktionalität Ihrer Anwendung präsentieren.

# Anwendungsfälle

Jede Anwendung sollte ein primäres Fenster anzeigen, wenn der Starter aktiviert wird. Das schließt Anwendungen ein, die hauptsächlich einen Hintergrunddienst bieten.

# Anwendungstypen

Es gibt zwei Hauptmodelle für primäre Fenster:

## Anwendungen mit einer Instanz

Anwendungen mit einer einzelnen Instanz haben ein einzelnes primäres Fenster. Dieses Modell ist für Messaging-Anwendungen üblich, wie E-Mail, Chat oder Kontakte.

## Anwendungen mit mehreren Instanzen

Anwendungen mit mehreren Instanzen können mehrere Anwendungsfenster haben. Typischerweise sind die primären Fenster dabei identisch. Anwendungen mit mehreren Instanzen sind häufig Betrachter oder Editoren, zum Beispiel für Dokumente oder Bilder.

Both single and multiple instance applications can allow multiple content items to be opened, either through the use of tabs or browser-style navigation. However, multiple windows do offer additional capabilities, which include:

Anzeige verschiedener Inhaltsobjekte nebeneinander.

Platzierung von Inhalten auf verschiedenen Arbeitsflächen.

Organisieren von Inhalten in verschiedenen Fenstern (falls Reiter verwendet werden).

### Primäre Eltern-/Kind-Fenster

Anwendungen mit mehreren Instanzen haben typischerweise identische primäre Fenster (zum Beispiel mehrere Webbrowser-Fenster). Dies ist jedoch nicht immer der Fall.

Primäre Fenster können eine Eltern-/Kind-Beziehung haben. In diesem Anwendungstyp gibt es immer nur ein Eltern-Fenster. Dieses enthält typischerweise Inhaltsobjekte, die im Eltern-Fenster oder in einem separaten Kind-Fenster geöffnet werden könnten. Dies ermöglicht, dass mehrere Inhaltsobjekte gleichzeitig geöffnet sein können.

Da Kind-Fenster nur über ein Eltern-Fenster geöffnet werden können, sind diese nicht von diesen abhängig, wenn es darum geht, sie geöffnet zu halten: Das Schließen eines Eltern-Fensters bedingt nicht das Schließen aller ihrer Kind-Fenster.

Die Notes-Anwendung von GNOME ist ein gutes Beispiel für primäre Eltern-/Kind-Fenster.

# Allgemeine Richtlinien

Ein einzelnes primäres Fenster sollte stets angezeigt werden, wenn Ihre Anwendung gestartet ist.

Falls Ihr Anwendungsstarter aktiviert wird, während Ihre Anwendung läuft, sollten alle primären Fenster der Anwendung angezeigt werden.

Primäre Fenster sollten die Hauptfunktionen Ihrer Anwendung bereitstellen. Verlagern Sie keine grundlegende Funktionalität in Dialoge oder sekundäre Fenster.

Primäre Fenster sollten unabhängig sein. Das bedeutet, dass durch das Schließen eines primären Fensters nicht auch die Schließung eines anderen primären Fensters ausgelöst werden sollte.

Dialogfenster sollten stets von einem primären Fenster abhängig sein. Erläuterungen hierzu finden Sie auf der Seite zu Dialogen.

Die Richtlinien zur Anzeigekompatibilität sind insbesondere für primäre Fenster relevant: Seien Sie vorsichtig, um sicherzustellen, dass diese den Anweisungen für minimale Bildschirmgrößen, der Anzeigeausrichtung und Einrasten im halben Bildschirm folgen.

Quit sollte alle primären Fenster schließen.

# API-Referenz

GtkWindow

GtkApplicationWindow