Top Qs
Tijdlijn
Chat
Perspectief

Client-side decoration

softwareconcept waarbinnen programma's eigen titelbalken aanleveren Van Wikipedia, de vrije encyclopedie

Client-side decoration
Remove ads

Client-side decoration (CSD) is een softwareconcept. Binnen dit concept leveren grafische programma's eigen titelbalken aan, ter vervanging van de traditionele titelbalken van vensterbeheerders.[1][2] Een van de bekendste projecten die gebruikmaakt van CSD's is de Linux-werkomgeving GNOME.

Thumb
GNOME Bestanden met uitgebreide CSD (2021)

Door programma's zelf garant te laten staan voor titelbalken, kunnen ontwikkelaars aanvullende functionaliteit toevoegen, zoals extra knoppen en menu's.[3] Een CSD met dergelijke functies is dus feitelijk een combinatie van een titel- en werkbalk.

Remove ads

Geschiedenis

De eerste implementatie van CSD's, of in elk geval de meest gelijkende, is die van GlobalView 2.1 uit 1996.[4]

De term client-side decoration is echter afkomstig uit het X Window System, waar een client een programma is dat een venster opmaakt en vervolgens naar de X-server stuurt, die op zijn beurt weer het scherm aanstuurt. Het alternatief is server-side decoration (SSD), hoewel dat op X niet van toepassing is, daar de vensterbeheerder voor de titelbalk zorgt.

Ook in Wayland worden beide termen gebezigd. De implementatie is vrijwel hetzelfde als op X, met als enige verschil dat de vensterbeheerder daar tevens een zogeheten compositing window manager is.

Remove ads

Implementaties

Samenvatten
Perspectief

Toolkits

GTK

GTK was in 2013 de eerste toolkit op Linux die client-side decorations implementeerde met behulp van GtkHeaderBar.[5] GtkHeaderBar voegt de titelbalk, menubalk en werkbalk automatisch samen,[6] om zo meer ruimte te geven aan programma-inhoud en naar eigen zeggen beter gebruik te maken van de beschikbare titelbalkruimte. De implementatie wordt veelvuldig toegepast door op GNOME gerichte programma's.

Metro, UWP en Fluent

Programma's die gebruikmaken van het Universal Windows Platform (UWP) of Fluent hebben optioneel de mogelijkheid om hun eigen titelbalken aan te leveren.[7] Ook de oudere Metro-omgeving maakte hier gebruik van.

macOS

Op macOS kunnen met AppKit gemaakte programma's client-side decorations toepassen door gebruik van de NSWindow-widget.[8]

Thumb
Deepin Bestandsbeheer met CSD (2024)

Deepin Tool Kit

Deepin Tool Kit (DTK) is een aangepaste versie van Qt 6. Programma's die gebruikmaken van DTK hebben de optie om CSD's toe te voegen.

Programma's

Enkele bekende programma's die gebruikmaken van client-side decorations zijn:

Displayservers

Wayland

In Wayland zijn client-side decorations standaard beschikbaar, maar met behulp van xdg-decoration kan worden opgevraagd of programma's server-side decorations gebruiken. Enkele Wayland-vensterbeheerders die CSD ondersteunen zijn:

  • Mutter, de vensterbeheerder van GNOME Shell, heeft alleen ondersteuning voor CSD's;[9]
  • KWin, de vensterbeheerder van KDE Plasma, heeft ondersteuning voor zowel CSD's als SSD's, maar maakt op Wayland standaard gebruik van SSD's.[10][11]
  • cosmic-comp, de vensterbeheerder van COSMIC, ondersteunt eveneens beide, maar maakt standaard gebruik van CSD's.[12]
  • wl-roots, de Wayland-compositor van Sway, labwc, Wayfire en andere kleinere omgevingen, ondersteunt ook beide.[13]
Remove ads

Beperkingen

Als een programma is vastgelopen, kan het niet worden gesloten door op de sluitknop te klikken.[11]

Zie ook

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads