확장 창 관리자 힌트
Extended Window Manager Hints확장 창 관리자 힌트, 즉.k.a.NetWM은 윈도우 관리자와 애플리케이션 간의 통신을 위한 X 윈도우 시스템 표준이다.[1]그것은 ICCCM(Inter-Client Communication Convention Manual)의 기능을 기반으로 한다.
이 표준들은 화면과 입력 초점과 같은 공유 X 자원에 대한 접근의 조정을 위한 프로토콜을 공식화한다.창 관리자가 권한을 부여하거나 거부하는 동안 응용프로그램은 액세스를 요청한다.통신은 X 속성과 클라이언트 메시지를 통해 이루어진다.EWMH는 데스크톱 환경을 구현하기 위한 포괄적인 프로토콜 모음입니다.필수 프로토콜과 선택 프로토콜을 모두 정의한다.윈도우 관리자는 가상 데스크톱이나 계층화된 스택 순서 구현을 선택할 수 있지만, 그렇게 되면, EWMH는 이러한 정보가 전달되는 방식을 정의한다.
프로토콜 개요
모든 EWMH 프로토콜 식별자는 5자 접두사로 시작함_NET_
.
루트 창 속성
WM은 루트 창의 속성 집합을 업데이트해야 한다.
- _NET_Supported
- 이 WM에서 지원하는 모든 EWMH 프로토콜을 나열하십시오.
- _NET_CLIENT_LIST
- 이 WM에서 관리하는 모든 응용 프로그램 창을 나열하십시오.
- _NET_NUMBER_OF_DESKTOPS
- 가상 데스크톱 수를 표시하십시오.
- _NET_DESKTOP_GEOMetry
- 모든 데스크톱의 공통 크기를 정의하십시오.
- _NET_DESKTOP_VIEWPORT
- 각 데스크톱의 왼쪽 상단 모서리를 정의하십시오.
- _NET_CURRENT_DESKTOP
- 현재 데스크톱의 인덱스를 제공하십시오.
- _NET_DESKTOP_NAMES
- 모든 가상 데스크톱의 이름을 나열하십시오.
- _NET_ACTIVE_WINDOW
- 현재 활성 창을 제공한다.
- _NET_WORKAREA
- 각 바탕 화면에 대한 지오메트리를 포함한다.
- _NET_Supporting_WM_CHECK
- 활성 WM의 윈도우를 제공한다.
- _NET_Virtual_LOOST
- WM이 가상 루트 창을 지원하는지 여부.
- _NET_DESKTOP_LAYOUT
- 활성 호출기의 레이아웃을 보여준다.
- _NET_SHOWING_DESKTOP
- "데스크탑 설치" 모드의 경우 1이다.
클라이언트 메시지
응용 프로그램은 창 관리자에게 다음과 같은 클라이언트 메시지를 보낼 수 있다.
- _NET_WM_STATE
- 응용 프로그램 창의 상태를 변경하십시오.
- _NET_ACTIVE_WINDOW
- 응용 프로그램 창을 활성화하십시오.
- _NET_SHOWING_DESKTOP
- 응용 프로그램 창의 표시를 전환하십시오.
- _NET_CLOSE_WINDOW
- 응용 프로그램 창을 닫으십시오.
- _NET_WM_MOVERESIZE
- 대화식으로 응용 프로그램 창의 크기를 조정하십시오.
- _NET_MOVERESIZE_WINDOW
- 응용 프로그램 창의 크기를 즉시 조정하십시오.
- _NET_Request_FRAME_EXTENTS
- 테두리 치수를 참조
- _NET_WM_FullScreen_MONITORS
- 전체 화면 창에 대한 모니터를 정의하십시오.
WM이 창 스택을 지원하는 경우:
- _NET_RESTAK_WINDOW
- 창의 쌓기 순서를 변경하도록 요청하십시오.
WM이 가상 데스크톱을 지원하는 경우:
- _NET_CURRENT_DESKTOP
- 현재 바탕 화면을 변경하십시오.
- _NET_NUMBER_OF_DESKTOPS
- 데스크톱 수를 변경하십시오.
WM은 다음 메시지를 무시하도록 선택할 수 있다.
- _NET_DESKTOP_GEOMetry
- 모든 데스크톱의 차원을 변경하십시오.
- _NET_DESKTOP_VIEWPORT
- 현재 데스크톱의 뷰포트 변경
창 속성
EWMH는 다음과 같은 응용 프로그램 창 속성을 정의한다.
- _NET_WM_NAME
- 창문의 제목
- _NET_WM_VISIVEL_NAME
- WM에서 표시한 창호
- _NET_WM_ICON_NAME
- 아이콘의 제목
- _NET_WM_VISILE_ICON_NAME
- WM에서 표시한 아이콘 제목
- _NET_WM_DESKTOP
- 창이 있는 바탕 화면
- _NET_WM_WINDOW_TYPE
- 창의 기능 유형
- _NET_WM_STATE
- 현재 창 상태
- _NET_WM_허용됨_조치
- 지원되는 사용자 작업 목록
- _NET_WM_STRUT
- 창 가장자리에 공간을 예약하려면
- _NET_WM_STRUT_PARTIAL
- 화면 가장자리의 예약된 공간 세부 정보.
- _NET_WM_ICON_GEOMetry
- 가능한 아이콘의 기하학
- _NET_WM_ICON
- 클라이언트에 사용할 수 있는 아이콘 배열
- _NET_WM_PID
- 이 창을 소유하는 클라이언트의 프로세스 ID.
- _NET_WM_HANDLEED_아이콘
- 호출기가 아이콘을 제공하는지 여부.
- _NET_WM_USER_시간
- 이 창에서 마지막 사용자 작업 시간.
- _NET_WM_USER_TIME_WINDOW
- 사용자 활동을 표시하는 창
- _NET_Frame_EXTENS
- 왼쪽, 오른쪽, 위쪽 및 아래쪽 프레임 크기
- _NET_WM_OPAQUE_REGION
- 어느 창 영역이 완전히 불투명한지 여부.
- _NET_WM_BYPASS_COMPOSITOR
- 창이 닫히지 않도록 요청하십시오.
창 상태
ICCCM은 윈도우가 다음과 같은 세 가지 고유 상태만 정의한다.
- 인출됨
- 정상
- 상징적인.
게다가, 그것은 다음을 지원한다.Urgent
사용자의 주의를 요청하도록 플래그 지정.
EWMH는 13개의 창 상태 플래그를 정의한다.
- 위: 다른 사람 위에 창을 표시한다.
- 아래: 다른 창 아래 표시,
- DemandsAttention: 긴급 깃발과 동일,
- 집중: 윈도우에 입력 포커스가 있고,
- 전체 화면: 창 전체 화면 표시,
- 숨김: 창문의 매핑이 해제되어 있으며,
- 최대화됨가로: 창은 가로로 뻗고,
- MaximizedVertical: 창이 수직으로 확장되고,
- 모달: 창은 모달 팝업이지만
- 음영: 창이 롤업되고,
- SkipPager: 창이 호출기에 표시되면 안 되며,
- SkipTaskbar: 작업 표시줄에서 창을 무시하십시오.
- 고정: 모든 가상 데스크톱에 창이 표시되어야 함
추가 프로토콜
- _NET_WM_PING
- WM은 이것을 고객의 생존 여부를 테스트하는데 사용할 수 있다.
- _NET_WM_SYNC_REQEST
- 크기 조정 시 기명 동기화를 위해.
- _NET_WM_FULL_PRACKITY
- WM은 창문의 모든 배치를 처리할 것이다.
확장 창 관리자 힌트를 지원하는 창 관리자 목록
타일링 및 동적 창 관리자
창 관리자 쌓기
- 블랙박스[3]
- 컴피즈
- CTWM(4.0.0 기준[4])
- 에듀엠
- 플럭스박스[5]
- FVWM(v2.4 이전의 플러그인 및 v2.5의 기본 지원)[6][7]
- 아이스WM[8]
- JWM[9]
- KWIN
- 메타시티[10]
- 마르코
- 오픈박스[11]
기타 창 관리자
참고 및 참조
- ^ "Net WM - Blackbox". Archived from the original on 2007-10-01. Retrieved 2007-09-29.
- ^ "i3 _NET_SUPPORTED". Retrieved 2021-02-14.
- ^ "Blackbox COMPLIANCE". Retrieved 2021-02-15.
- ^ "ctwm 4.0.0 changes".
- ^ "Fluxbox EWMH Support". Retrieved 2009-09-09.
- ^ "Extended Window Manager Hints Support For FVWM".
- ^ "FVWM - Features".
- ^ "IceWM COMPLIANCE". Retrieved 2020-12-28.
- ^ "joewing.net JWM EWMH Support". Retrieved 2021-02-15.
- ^ "Metacity COMPLIANCE". Retrieved 2021-02-15.
- ^ "Openbox COMPLIANCE". Retrieved 2021-02-15.
- ^ xfwm4 표준