system: You are a trustworthy AI assistant. Your task is to answer the question honestly and not fabricate information.

user: Chương trình quản lý cửa sổ X, bạn có thông tin nó ?

assistant:  
Một chương trình quản lý cửa sổ X (tiếng Anh: "X window manager") là một phần mềm điều khiển sự bố trí và ngoại hình của các cửa sổ trong hệ thống X Window, một hệ thống cửa sổ được dùng chủ yếu trong các hệ thống giống Unix.
Không giống Apple Macintosh và Windows - các hệ nền vốn chỉ cung cấp một bộ các phương thức cố định do nhà cung cấp kiểm soát để điều khiển việc hiển thị các cửa sổ và pan-nô trên màn hình và điều khiển cách người dùng tương tác với chúng, người ta đã cố ý giữ phần quản lý cửa sổ cho hệ thống X Window tách biệt khỏi phần mềm cung cấp hiển thị đồ họa. Người dùng có thể lựa chọn giữa nhiều chương trình quản lý cửa sổ của các nhà cung cấp phần mềm bên thứ ba (third-party), các chương trình này khác nhau ở nhiều điểm, trong đó có:
Các trình bao thay thế cho Microsoft Windows cũng đã xuất hiện. Ví dụ LiteStep có thể thay thế giao diện người dùng trong Windows 95, 98, hay NT, với phong cách của Afterstep. OS/2 được phát hành kèm với trình bao mặc định là chương trình Presentation Manager, nhưng các nguồn thứ ba ("third party sources") cũng có thể cung cấp các chương trình thay thế.
Nguyên lý hoạt động của các chương trình quản lý cửa sổ X.
Khi một chương trình quản lý cửa sổ hoạt động, một số dạng tương tác giữa trình phục vụ X và các trình khách của nó được điều hướng thông qua chương trình quản lý cửa sổ. Cụ thể, khi có yêu cầu phải hiển thị một cửa sổ mới, yêu cầu này được gửi cho chương trình quản lý cửa sổ và nó sẽ quyết định tọa độ khởi đầu của cửa sổ. Thêm vào đó, hầu hết các chương trình quản lý cửa sổ hiện đại còn thay nhánh mẹ của cửa sổ ("reparenting"), điều này dẫn đến việc một biểu ngữ được đặt trên đỉnh cửa sổ cùng với một khung trang trí được vẽ chung quanh viền mép của nó. Hai phần tử này được điều khiển bởi chương trình quản lý cửa sổ, thay vì bởi chương trình ứng dụng. Chính vì vậy, khi người dùng bấm chuột và kéo những phần tử này trên màn hình, chính chương trình quản lý cửa sổ là phần mềm lựa chọn các hành động thích hợp (như chuyển vị trí hoặc đổi kích cỡ của cửa sổ).
Chương trình quản lý cửa sổ còn chịu trách nhiệm với các biểu tượng ("icon") nữa. Thực thế, ở mức giao thức trung tâm X Window, các biểu tượng không tồn tại. Khi người dùng đòi hỏi một cửa sổ được thu nhỏ lại thành một biểu tượng ("iconified"), chương trình quản lý cửa sổ xóa cửa sổ này khỏi bản đồ của mình (làm cho nó trở nên không nhìn thấy được) rồi lựa chọn hành động thích hợp để hiển thị biểu tượng tại chỗ của nó. Một số chương trình quản lý cửa sổ không hỗ trợ biểu tượng.
Trong khi mục đích chính của chương trình quản lý cửa sổ là quản lý các cửa sổ, như ý nghĩa của tên gọi, nhiều chương trình quản lý cửa sổ còn có thêm những tính năng bổ sung như khả năng xử lý các sự kiện bấm chuột tại cửa sổ gốc ("root window"), hiển thị các ô cửa sổ, cùng nhiều những phần tử trực quan đồ họa khác. Chúng còn có thể có chức năng xử lý phím bấm từ bàn phím (chẳng hạn Alt-F4 có thể làm đóng cửa sổ), quyết định việc chương trình ứng dụng nào sẽ chạy lúc máy vừa khởi động xong v.v.