Articulo de referencia

Decoración del lado del cliente

Ejemplo de una aplicación que utiliza la decoración del lado del cliente para dibujar sus propios controles de ventana. (Widget GtkHeaderBar en Archivos GNOME , enero de 2014) L...

Ejemplo de una aplicación que utiliza la decoración del lado del cliente para dibujar sus propios controles de ventana. (Widget GtkHeaderBar en Archivos GNOME , enero de 2014)

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 , responsabilidad que históricamente recaía en el administrador de ventanas . [ 1 ]

A veces, la expresión «decoración del lado del cliente» se utiliza para referirse a las aplicaciones que no tienen una barra de título tradicional. Sin embargo, esto es un uso incorrecto de la frase, ya que incluso las aplicaciones que tienen una barra de título básica pueden tener decoración 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 típica de administrador de ventanas 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 visualización. La alternativa se denomina «decoración del lado del servidor » (SSD), aunque en X la decoración la dibuja el gestor de ventanas, que en realidad no es el «servidor». Estos términos también se utilizan en Wayland , donde un cliente es la aplicación que renderiza una ventana y la envía al servidor Wayland, que controla la visualización y también funciona como un gestor 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 única barra horizontal para ofrecer más espacio al contenido de la aplicación, reduciendo así el espacio desperdiciado al mostrar barras vacías. Esto contribuye a lograr una interfaz de usuario flexible y una experiencia de usuario consistente en diferentes formatos de ordenador, desde sistemas de escritorio hasta dispositivos compactos, al eliminar los elementos tradicionales orientados al escritorio de las aplicaciones. Estas funciones cuentan con soporte de primera clase en GNOME Shell y son ampliamente utilizadas por las aplicaciones de GNOME .

UWP

Las aplicaciones de la Plataforma Universal de Windows pueden optar por 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 usar una ventana sin marco (sin barra de herramientas, barra de menú ni pestañas), sin embargo, la aplicación es responsable de dibujar sus propias sombras. [ 7 ]

Kit de herramientas Deepin

Deepin File Manager, una aplicación basada en Qt con decoración del lado del cliente.

Deepin Tool Kit es un pequeño conjunto de herramientas de widgets modificado basado en Qt 6, utilizado por el entorno de escritorio Deepin .

Aplicaciones

Aplicaciones destacadas con decoración del lado del cliente:

  • Steam utilizó su propio conjunto de herramientas de widgets llamado "VGUI" antes de cambiar a una interfaz de usuario basada en HTML renderizada por el CEF integrado de Steam en 2023, aunque algunos diálogos todavía se renderizan de forma nativa o utilizan VGUI. [ 8 ]
  • 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.
  • Discord es una aplicación Electron y, por lo tanto, admite decoraciones tanto del lado del cliente como del servidor en Windows, macOS y Linux.

Servidores de visualización

Wayland

Wayland fue diseñado para tener decoraciones del lado del cliente (incluidas las sombras de las ventanas) por defecto, 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 la solicite. [ 9 ]

  • Mutter , el compositor utilizado por GNOME Shell , bajo Wayland solo admite decoración del lado del cliente. [ 10 ]
  • KWin , el compositor utilizado por KDE Plasma, admite decoración tanto del lado del cliente como del servidor, siendo esta última la predeterminada en Wayland. [ 11 ] [ 12 ]
  • cosmic-comp, el compositor utilizado por COSMIC , admite la decoración tanto del lado del cliente como del servidor, utilizando por defecto la primera. [ 13 ] (cosmic-comp no es un gestor de ventanas X11).
  • wlroots, el compositor de Wayland utilizado por Sway , labwc, Wayfire y otros compositores de Wayland más pequeños, admite decoración tanto del lado del cliente como del servidor. [ 14 ]

Limitaciones

Si la aplicación se bloquea, el usuario no puede cerrarla haciendo clic en el botón de cerrar en el marco de la ventana. [ 12 ]

Historia

  • En 2008, Adobe lanzó Photoshop CS4, que utiliza decoraciones del lado del cliente.
  • En 2012, Microsoft utilizó elementos decorativos del lado del cliente en su nuevo lenguaje de diseño Metro , añadiendo objetos de la barra de herramientas, como botones de retroceso, a la barra de título de las ventanas.
  • En 2013, GTK añadió soporte para decoraciones del lado del cliente con el lanzamiento de GTK 3.10. [ 15 ] [ 16 ]

Véase también

Referencias

  1. Mclasen (13 de enero de 2014). "Decoraciones del lado del cliente, continuación" . blogs.gnome.org . Consultado el 17 de enero de 2019 .
  2. Müllner, Florian. "Una pequeña nota sobre la decoración de ventanas" . blogs.gnome.org . Consultado el 13 de noviembre de 2019 .
  3. Larabel, Michael. "La iniciativa CSD impulsa que las aplicaciones abandonen las barras de título en favor de las barras de encabezado" . Phoronix . Consultado el 28 de enero de 2018 .
  4. "GtkHeaderBar" . Manual de referencia de GTK+ 3. Archivado del original el 18 de enero de 2019. Consultado el 17 de enero de 2019 .
  5. "Personalización de la barra de título" . Microsoft Docs . 10 de octubre de 2017. Archivado del original el 19 de enero de 2019. Consultado el 17 de enero de 2019 .
  6. "NSWindow" . Documentación para desarrolladores de Apple . Consultado el 7 de junio de 2019 .
  7. "Ventana sin marco" . Electron . Archivado del original el 17 de octubre de 2021. Consultado el 17 de enero de 2019 .
  8. "Actualización de Steam: superposición en el juego, notificaciones y una nueva capa de pintura" (video) . youtube.com . Steam. 14 de junio de 2023. Consultado el 27 de octubre de 2025 .
  9. Desarrollo del protocolo Wayland , Wayland, archivado del original el 8 de mayo de 2019 , recuperado el 13 de noviembre de 2019.
  10. Bernard, Tobias (26 de enero de 2018). "Presentación de la Iniciativa CSD: Espacio y Significado" . GNOME . Consultado el 28 de enero de 2018 .
  11. Flöser, Martin (27 de enero de 2018). "Decoraciones del lado del servidor y Wayland" . Blog de Martin . Consultado el 29 de abril de 2025 .
  12. 1 2 Zahorodnii, Vlad (23 de julio de 2020). "Soporte de CSD en KWin" . Blog de Vlad Zahorodnii . Recuperado el 5 de marzo de 2024 .
  13. "Las aplicaciones GTK y QT ignoran el encabezado COSMIC · Problema n.° 1132 · pop-os/cosmic-comp" . GitHub . Consultado el 29 de abril de 2025 .
  14. "wlroots" . GitLab . Consultado el 29 de abril de 2025 .
  15. n8willis (25 de septiembre de 2013). "GTK+ 3.10 lanzado" . lwn.net . Consultado el 17 de enero de 2019 .
  16. Clasen, Matthias (23 de septiembre de 2013). "GTK+ 3.10 lanzado" . Gnome (Lista de correo) . Recuperado el 27 de octubre de 2025 .