162b8cbc9Sopenharmony_ci# WMS<a name="EN-US_TOPIC_0000001122925147"></a>
262b8cbc9Sopenharmony_ci
362b8cbc9Sopenharmony_ci-   [Introduction](#section11660541593)
462b8cbc9Sopenharmony_ci-   [Directory Structure](#section161941989596)
562b8cbc9Sopenharmony_ci-   [Compilation and Building](#section137768191623)
662b8cbc9Sopenharmony_ci-   [Description](#section1312121216216)
762b8cbc9Sopenharmony_ci    -   [Usage](#section129654513264)
862b8cbc9Sopenharmony_ci
962b8cbc9Sopenharmony_ci-   [Repositories Involved](#section1371113476307)
1062b8cbc9Sopenharmony_ci
1162b8cbc9Sopenharmony_ci## Introduction<a name="section11660541593"></a>
1262b8cbc9Sopenharmony_ci
1362b8cbc9Sopenharmony_ciThe graphics service uses the client/server \(C/S\) architecture and is divided into two sub-services: Window Manager Service \(WMS\) and Input Manager Service \(IMS\). The application calls the APIs provided by the client to obtain the window status and process events. The server interacts with the hardware to implement display and input event distribution.
1462b8cbc9Sopenharmony_ci
1562b8cbc9Sopenharmony_ci-   WMS: Manages and combines windows of different applications in a unified manner. Each window is bound to a  **RootView**  object.
1662b8cbc9Sopenharmony_ci-   IMS: Connects to the underlying input event driver framework to monitor and distribute input events.
1762b8cbc9Sopenharmony_ci
1862b8cbc9Sopenharmony_ci**Figure  1** <a name="fig163546295165"></a>  
1962b8cbc9Sopenharmony_ci
2062b8cbc9Sopenharmony_ci
2162b8cbc9Sopenharmony_ci![](figures/en-us_image_0000001127903103.png)
2262b8cbc9Sopenharmony_ci
2362b8cbc9Sopenharmony_ci## Directory Structure<a name="section161941989596"></a>
2462b8cbc9Sopenharmony_ci
2562b8cbc9Sopenharmony_ci```
2662b8cbc9Sopenharmony_ci/foundation/window/window_manager_lite
2762b8cbc9Sopenharmony_ci├── frameworks      # Client
2862b8cbc9Sopenharmony_ci│   ├── ims         # Input event management service client
2962b8cbc9Sopenharmony_ci│   └── wms         # Window management service client
3062b8cbc9Sopenharmony_ci├── interfaces      # APIs
3162b8cbc9Sopenharmony_ci│   ├── innerkits   # APIs between modules
3262b8cbc9Sopenharmony_ci├── services        # Server
3362b8cbc9Sopenharmony_ci│   ├── ims         # Input event management service
3462b8cbc9Sopenharmony_ci│   └── wms         # Window management service
3562b8cbc9Sopenharmony_ci└── test            # Test code
3662b8cbc9Sopenharmony_ci```
3762b8cbc9Sopenharmony_ci
3862b8cbc9Sopenharmony_ci## Compilation and Building<a name="section137768191623"></a>
3962b8cbc9Sopenharmony_ci
4062b8cbc9Sopenharmony_ci```
4162b8cbc9Sopenharmony_ci# Generate the wms_server and libwms_client.so files in the out directory of the product folder through GN compilation.
4262b8cbc9Sopenharmony_cihb build window_manager_lite
4362b8cbc9Sopenharmony_ci```
4462b8cbc9Sopenharmony_ci
4562b8cbc9Sopenharmony_ci## Description<a name="section1312121216216"></a>
4662b8cbc9Sopenharmony_ci
4762b8cbc9Sopenharmony_ci### Usage<a name="section129654513264"></a>
4862b8cbc9Sopenharmony_ci
4962b8cbc9Sopenharmony_ci-   WMS provides methods to display various UI components, send event notifications, and process various events. For details, see the related source code.
5062b8cbc9Sopenharmony_ci-   **test/sample\_window**  provides the unit testing for each WMS API. Refer to it for the usage of WMS.
5162b8cbc9Sopenharmony_ci
5262b8cbc9Sopenharmony_ci## Repositories Involved<a name="section1371113476307"></a>
5362b8cbc9Sopenharmony_ci
5462b8cbc9Sopenharmony_ci[Graphic subsystem](https://gitee.com/openharmony/docs/blob/master/en/readme/graphics.md)
5562b8cbc9Sopenharmony_ci
5662b8cbc9Sopenharmony_ci**window_manager_lite**
5762b8cbc9Sopenharmony_ci
5862b8cbc9Sopenharmony_ci[graphic_surface_lite](https://gitee.com/openharmony/graphic_surface_lite/blob/master/README.md)
5962b8cbc9Sopenharmony_ci
6062b8cbc9Sopenharmony_ci[arkui_ui_lite](https://gitee.com/openharmony/arkui_ui_lite/blob/master/README.md)
6162b8cbc9Sopenharmony_ci
6262b8cbc9Sopenharmony_ci[graphic_graphic_utils_lite](https://gitee.com/openharmony/graphic_graphic_utils_lite/blob/master/README.md)