클라이언트 측 장식

Client-side decoration
클라이언트 사이드 장식을 사용하여 자체 창 컨트롤을 그리는 응용 프로그램의 예(GtkHeaderBar 위젯 on GNOME Files, 2014-01)

클라이언트 사이드 데코레이션(CSD)은 그래픽 애플리케이션소프트웨어윈도 [1]매니저의 역할인 독자적인 윈도 데코레이션을 담당할 수 있도록 하는 개념입니다.

클라이언트측의 장식이, 종래의 타이틀바가 없는 애플리케이션을 참조하기 위해서 사용되는 경우가 있습니다.그러나 기본 제목 표시줄이 있는 응용 프로그램도 클라이언트 측을 [2]장식할 수 있으므로 이는 구문의 오용입니다.

기존의 서버측 장식이 아닌 클라이언트측 장식을 사용함으로써 어플리케이션은 독자적인 타이틀 바를 그릴 수 있습니다.이를 통해 윈도 장식을 커스터마이즈할 수 있으며 공백이 많은 일반적인 윈도 매니저 바에 추가 기능(그래픽 제어 요소)을 추가할 수 있습니다.e가 [3]최대 창에 표시됩니다.

용어.

Linux 및 Unix와 유사한 시스템에서는 클라이언트 사이드 장식이라고 불리며, 여기서 클라이언트는 창을 렌더링하여 X 서버로 전송하는 응용 프로그램입니다.다른 방법은 서버 사이드 장식(SSD)이라고 불리는데, X에서는 장식이 실제로 "서버"가 아닌 창 관리자에 의해 그려집니다.

실장

위젯 툴킷

GTK

GTK는 GtkHeaderBar [4]위젯을 사용하여 클라이언트 측 장식을 구현한 최초의 Linux GUI 툴킷입니다.

GtkHeaderBar는 제목 표시줄, 메뉴 표시줄 및 도구 모음을 하나의 통합된 수평 막대로 통합하여 응용 프로그램 컨텐츠에 더 많은 공간을 확보하여 빈 막대를 표시함으로써 낭비되는 공간을 줄입니다.이것에 의해, 데스크탑 시스템으로부터 스몰 폼 팩터 디바이스에 이르기까지, 종래의 데스크탑용 부품을 애플리케이션에서 배제하는 것으로, 다양한 컴퓨터팩터에 걸쳐, 유연한 UI 와 일관된 UX 를 실현할 수 있습니다.GNOME 쉘에서 1등급을 지원하며 GNOME 애플리케이션에서 널리 사용됩니다.

UWP

유니버설 윈도 플랫폼애플리케이션에서는, 독자적인 타이틀 [5]바를 그릴 수 있습니다.

MacOS

macOS에서 AppKit 애플리케이션은 NSWindow [6]위젯을 사용할 때 클라이언트 측 장식을 사용합니다.

전자

Electron에는 프레임이 없는 창(툴바, 메뉴바, 탭 없음)을 사용할 수 있는 옵션이 있지만 응용 프로그램은 그림자를 [7]직접 그립니다.

Deepin 툴 키트

Deepin File Manager는 클라이언트 측 장식이 있는 QT 기반 응용 프로그램입니다.

Deepin Tool Kit는 Qt5를 기반으로 한 소형 수정 위젯 툴킷으로 Deepin Desktop Environment에서 사용됩니다.

적용들

클라이언트측의 장식이 있는 주목되는 애플리케이션:

  • 스팀, "VGUI"라는 자체 위젯 툴킷을 사용합니다.
  • Firefox는 제목 표시줄이 비활성화된 경우 클라이언트 측 장식을 사용합니다.
  • Google Chrome 및 기타 Chromium 기반 브라우저는 Windows 및 MacOS에서 클라이언트 측 장식을 사용하며 Linux에서 클라이언트 및 서버 장식을 모두 지원합니다.

디스플레이 서버

웨이랜드

Wayland는 기본적으로 클라이언트 측 장식(윈도우의 그림자 포함)을 사용하도록 설계되었지만 xdg-decoration이라고 하는 선택적 프로토콜을 가지고 있습니다. 이 프로토콜을 통해 응용 프로그램(클라이언트)은 윈도우 관리자가 서버 측 장식을 지원하는지, 지원하는지 여부를 쿼리할 수 있습니다.[8]GNOME Shell에서 사용되는 컴포지터인 Mutter는 Wayland에서 클라이언트 측 [9]장식만 지원하는 반면 KWin은 클라이언트 측과 서버 측 장식을 모두 지원합니다.

역사

  • 2008년 Adobe는 클라이언트 측 장식을 사용한 Photoshop CS4를 출시했습니다.
  • 2012년에 Microsoft는 Windows 제목 표시줄에 뒤로 버튼과 같은 툴바 개체를 추가하여 새로운 메트로 설계 언어로 클라이언트 측 장식을 사용합니다.
  • 2013년 GTK는 [10]GTK 3.10 출시와 함께 클라이언트 측 장식 지원을 추가하였습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Client-side decorations, continued". blogs.gnome.org. Retrieved 2019-01-17.
  2. ^ "A small note on window decorations Florian Müllner". Retrieved 2019-11-13.
  3. ^ "The CSD Initiative Is Pushing For Apps To Abandon Title Bars In Favor Of Header Bars - Phoronix". Phoronix. Retrieved 2018-01-28.
  4. ^ "GtkHeaderBar: GTK+ 3 Reference Manual". developer.gnome.org. Retrieved 2019-01-17.
  5. ^ mijacobs. "Title bar customization - Windows UWP applications". docs.microsoft.com. Retrieved 2019-01-17.
  6. ^ "NSWindow - AppKit Apple Developer Documentation". developer.apple.com. Retrieved 2019-06-07.
  7. ^ "Frameless Window Electron". electronjs.org. Retrieved 2019-01-17.
  8. ^ Wayland protocol development, Wayland, 2019-10-07, retrieved 2019-11-13
  9. ^ Bernard, Tobias. "Introducing the CSD Initiative – Space and Meaning". GNOME. Retrieved 2018-01-28.
  10. ^ "GTK+ 3.10 released [LWN.net]". lwn.net. Retrieved 2019-01-17.

외부 링크