1# Window Manager
2
3## Introduction
4
5The Window Manager subsystem provides basic capabilities of window and display management. It is the basis for UI display. The following figure shows the architecture of the Window Manager subsystem.
6
7**Figure 1** Architecture of the Window Manager subsystem
8
9![WindowManager-subsystem-architecture](./figures/WindowManager_EN.png)
10
11- **Window Manager Client**
12
13    Provides window object abstraction and window management interfaces, and connects to the ability and UI framework.
14
15- **Display Manager Client**
16
17    Provides display information abstraction and display management interfaces.
18
19- **Window Manager Server**
20
21    Provides capabilities such as window layout, Z-order control, window tree structure, window dragging, and window snapshot, and offers the window layout and focus window for multimodal input.
22
23- **Display Manager Server**
24
25    Provides display information, screenshot, screen on/off, and brightness processing control, and processes the mapping between the display and screen.
26
27## Directory Structure
28
29```text
30foundation/window/window_manager/
31├── dm                      # Stores Display Manager Client implementation code
32├── dmserver                # Stores Display Manager Server implementation code
33├── interfaces              # Stores external APIs
34│   ├── innerkits           # Stores native APIs
35│   └── kits                # Stores JS APIs and native APIs
36├── resources               # Stores resource files used by the framework
37├── sa_profile              # Stores system service configuration files
38├── snapshot                # Stores implementation code of the screenshot command line tool
39├── utils                   # Stores tools
40├── wm                      # Stores Window Manager Client implementation code
41├── wmserver                # Stores Window Manager Server implementation code
42```
43
44## Constraints
45
46- Programming language version
47  - C++ 11 or later
48
49## Available APIs
50
51- [Window](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-window.md)
52- [Display](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-display.md)
53
54## Repositories Involved
55
56- [graphic_graphic_2d](https://gitee.com/openharmony/graphic_graphic_2d)
57- [arkui_ace_engine](https://gitee.com/openharmony/arkui_ace_engine)
58- [ability_ability_runtime](https://gitee.com/openharmony/ability_ability_runtime)
59- [multimodalinput_input](https://gitee.com/openharmony/multimodalinput_input)
60