
La decoración del lado del cliente ( CSD ) es el concepto de permitir que un software de aplicación gráfica sea responsable de dibujar sus propias decoraciones de ventana , históricamente responsabilidad del administrador de ventanas . [1]
En ocasiones, se utiliza la decoración del lado del cliente para referirse a las aplicaciones que no tienen una barra de título tradicional. Sin embargo, se trata de un uso incorrecto de la frase, ya que incluso las aplicaciones que tienen una barra de título básica pueden estar decoradas del lado del cliente. [2]
Al utilizar la decoración del lado del cliente en lugar de la decoración tradicional del lado del servidor, las aplicaciones pueden dibujar su propia barra de título, lo que permite una amplia gama de posibilidades para personalizar las decoraciones de las ventanas y agregar funcionalidad adicional ( elementos de control gráfico ) a lo que de otro modo sería una barra de administrador de ventanas típica con mucho espacio vacío en las ventanas maximizadas. [3]
Terminología
El término "Decoración del lado del cliente" proviene del sistema X Window , donde un cliente es la aplicación que renderiza una ventana y la envía al servidor X que controla la pantalla. La alternativa se llama " Decoración del lado del servidor " (SSD), aunque en X la decoración la dibuja el administrador de ventanas, que en realidad no es el "servidor". Esos términos también se usan en Wayland , donde un cliente es la aplicación que renderiza una ventana y la envía al servidor Wayland, que controla la pantalla y también funciona como un administrador de ventanas de composición .
Implementaciones
Kits de herramientas de widgets
GTK
GTK fue el primer kit de herramientas GUI en Linux que implementó la decoración del lado del cliente utilizando el widget GtkHeaderBar. [4]
GtkHeaderBar fusiona la barra de título , la barra de menú y la barra de herramientas en una barra horizontal unificada para dar más espacio al contenido de la aplicación, lo que reduce potencialmente la cantidad de espacio desperdiciado al mostrar barras vacías. Esto puede ayudar a lograr una interfaz de usuario flexible y una experiencia de usuario consistente en diferentes formatos de computadora , desde sistemas de escritorio hasta dispositivos de formato pequeño , al eliminar las partes tradicionales orientadas al escritorio de las aplicaciones. Estas tienen un soporte de primera clase en GNOME Shell y son ampliamente utilizadas por las aplicaciones de GNOME .
Programa de trabajo en equipo
Las aplicaciones de la Plataforma universal de Windows pueden elegir dibujar sus propias barras de título. [5]
macOS
En macOS , las aplicaciones AppKit utilizan la decoración del lado del cliente cuando utilizan el widget NSWindow. [6]
Electrón
Electron tiene la opción de utilizar una ventana sin marco (sin barra de herramientas, barra de menú, pestañas), sin embargo la aplicación es responsable de dibujar sus propias sombras. [7]
Kit de herramientas Deepin

Deepin Tool Kit es un pequeño kit de herramientas de widgets modificado basado en Qt5 , utilizado por Deepin Desktop Environment .
Aplicaciones
Aplicaciones destacadas con decoración del lado del cliente:
- Steam utiliza su propio kit de herramientas de widgets llamado "VGUI".
- Firefox utiliza decoraciones del lado del cliente cuando la barra de título está deshabilitada.
- Google Chrome y otros navegadores basados en Chromium utilizan decoraciones del lado del cliente en Windows y macOS, y admiten decoraciones tanto del lado del cliente como del servidor en Linux.
Servidores de visualización
Wayland
Wayland fue diseñado para tener decoraciones del lado del cliente (incluyendo las sombras de las ventanas) de forma predeterminada, pero tiene un protocolo opcional, conocido como xdg-decoration, que permite a una aplicación (cliente) consultar si el administrador de ventanas admite la decoración del lado del servidor y, de ser así, que un cliente lo solicite. [8] Mutter , el compositor utilizado por GNOME Shell , bajo Wayland solo admite la decoración del lado del cliente, [9] mientras que KWin admite la decoración tanto del lado del cliente como del servidor.
Limitaciones
Si la aplicación se cuelga, el usuario no puede cerrarla haciendo clic en el botón de cerrar en el marco de la ventana. [10]
Historia
- En 2008, Adobe lanzó Photoshop CS4, que utiliza decoraciones del lado del cliente.
- En 2012, Microsoft utiliza decoraciones del lado del cliente en su nuevo lenguaje de diseño Metro agregando objetos de la barra de herramientas, como botones de retroceso, a la barra de título de las ventanas.
- En 2013, GTK agregó soporte para decoraciones del lado del cliente con el lanzamiento de GTK 3.10. [11]
Véase también
Referencias
- ^ "Decoraciones del lado del cliente, continuación". blogs.gnome.org . Consultado el 17 de enero de 2019 .
- ^ "Una pequeña nota sobre la decoración de ventanas | Florian Müllner" . Consultado el 13 de noviembre de 2019 .
- ^ "La iniciativa CSD está presionando para que las aplicaciones abandonen las barras de título en favor de las barras de encabezado - Phoronix". Phoronix . Consultado el 28 de enero de 2018 .
- ^ "GtkHeaderBar: Manual de referencia de GTK+ 3". developer.gnome.org . Consultado el 17 de enero de 2019 .
- ^ mijacobs. «Personalización de la barra de título: aplicaciones UWP de Windows». docs.microsoft.com . Consultado el 17 de enero de 2019 .
- ^ "NSWindow - AppKit | Documentación para desarrolladores de Apple". developer.apple.com . Consultado el 7 de junio de 2019 .
- ^ "Ventana sin marco | Electron". electronjs.org . Consultado el 17 de enero de 2019 .
- ^ Desarrollo del protocolo Wayland, Wayland, 2019-10-07 , consultado el 2019-11-13
- ^ Bernard, Tobias. "Presentación de la Iniciativa CSD: espacio y significado". GNOME . Consultado el 28 de enero de 2018 .
- ^ Zahorodnii, Vlad (23 de julio de 2020). "Soporte de CSD en KWin". Blog de Vlad Zahorodnii . Consultado el 5 de marzo de 2024 .
- ^ "GTK+ 3.10 lanzado [LWN.net]". lwn.net . Consultado el 17 de enero de 2019 .