
クライアントサイドデコレーション(CSD )とは、グラフィカルアプリケーションソフトウェアが独自のウィンドウデコレーションを描画できるようにする概念であり、従来はウィンドウマネージャの責任であった。[ 1 ]
クライアントサイドデコレーションは、従来のタイトルバーを持たないアプリケーションを指す場合に使われることがあります。しかし、これはこの用語の誤用です。基本的なタイトルバーを持つアプリケーションでも、クライアントサイドデコレーションは可能です。[ 2 ]
従来のサーバー側の装飾ではなくクライアント側の装飾を使用することで、アプリケーションは独自のタイトルバーを描画できるようになり、ウィンドウの装飾をカスタマイズしたり、最大化されたウィンドウに多くの空きスペースがある典型的なウィンドウマネージャバーに機能(グラフィカルコントロール要素)を追加したりするための幅広い可能性が生まれます。[ 3 ]
クライアントサイドデコレーションという用語は、 X Window Systemに由来します。X Window System では、クライアントはウィンドウをレンダリングしてディスプレイを制御するXサーバーに送信するアプリケーションです。代替案としてサーバーサイドデコレーション(SSD) がありますが、X ではデコレーションはウィンドウマネージャによって描画され、ウィンドウマネージャは実際には「サーバー」ではありません。これらの用語はWaylandでも使用されます。Wayland では、クライアントはウィンドウをレンダリングしてディスプレイを制御するとともに合成ウィンドウマネージャとしても機能する Wayland サーバーに送信するアプリケーションです。
GTKは、GtkHeaderBarウィジェットを使用してクライアント側の装飾を実装したLinux上の最初のGUIツールキットでした。[ 4 ]
GtkHeaderBar は、タイトルバー、メニューバー、ツールバーを1 つの水平バーに統合することで、アプリケーションコンテンツのためのスペースを増やし、空のバーを表示することで無駄なスペースを削減します。これにより、従来のデスクトップ向け部分をアプリケーションから取り除くことで、デスクトップシステムから小型デバイスまで、さまざまなコンピュータのフォームファクタ間で柔軟な UI と一貫した UX を実現できます。これらはGNOME Shellで標準サポートされており、 GNOME アプリケーションで広く使用されています。
Universal Windows Platform applications can choose to draw their own title bars.[5]
In macOS, AppKit applications use client-side decoration when using the NSWindow widget.[6]
Electron has the option to use a frame-less window (without toolbar, menu bar, tabs), however the application is responsible for drawing its own shadows.[7]

Deepin Tool Kit is a small modified widget toolkit based on Qt6, it is used by the Deepin Desktop Environment.
Notable applications with client-side decoration:
Wayland was designed to have client-side decorations (including the shadows of windows) by default, but has an optional protocol, known as xdg-decoration, which allows an application (client) to query whether the window manager supports server-side decoration and if so for a client to request it.[9]
アプリケーションがフリーズした場合、ユーザーはウィンドウフレームの閉じるボタンをクリックしてもアプリケーションを閉じることができません。[ 12 ]