Window manager — grafik ish stolida ilova oynalarining joylashuvi, o‘lchami, fokus holati va ko‘rinish qatlamini boshqaradigan tizim komponentidir. U oynani ekranga chiqaradigan grafik server yoki compositor bilan hamkorlik qiladi, foydalanuvchining klaviatura va sichqoncha amallarini oynalar ustidagi operatsiyalarga aylantiradi. Ba’zi muhitlarda window manager mustaqil dastur, boshqalarida esa desktop environment yoki compositor tarkibidir.
Asosiy vazifalar
Window manager oynaga dekoratsiya — sarlavha, chegara va boshqaruv tugmalarini — berishi mumkin. U yangi oynaning boshlang‘ich joyini tanlaydi, qaysi oyna input fokusini olishini belgilaydi, minimizatsiya va maximizatsiyani bajaradi. Virtual desktop yoki workspace bir ekran yuzasida bir nechta mantiqiy ish maydoni yaratadi.
Har bir oynaning metadata si mavjud: ilova identifikatori, title, talab qilingan o‘lcham, modal yoki transient bog‘lanish. Qoidalar shu atributlarga qarab oynani ma’lum monitor, workspace yoki qatlamga joylashtiradi. Ilova tavsiya beradi, lekin yakuniy siyosat window managerga tegishli; aks holda bitta ilova butun ish stolining boshqaruvini egallashi mumkin.
Stacking va tiling usullari
Stacking window manager oynalarni ustma-ust joylashtiradi. Foydalanuvchi ularni erkin siljitadi va o‘lchamini o‘zgartiradi; aktiv oyna odatda yuqori qatlamga chiqadi. Tiling manager esa ekran maydonini bo‘laklarga ajratib, oynalarni qoplashmasdan avtomatik joylaydi. Dynamic variant ikkala modelni workspace bo‘yicha almashtirishi mumkin.
Layout algoritmi ekran geometriyasi, panel uchun ajratilgan maydon, minimum size va monitor scalingni hisobga oladi. Ko‘p monitorli muhitda koordinata tizimi, turli DPI va monitor uzilgandagi qayta joylashuv muhim. Oyna ekrandan tashqarida qolsa, foydalanuvchi uni boshqara olmaydi; shu bois saqlangan layout yangi topologiyaga moslashtiriladi.
Grafik protokollar bilan aloqasi
X Window System’da window manager X server mijozidir va oynalarni reparenting yoki propertylar orqali boshqaradi. Compositing manager oynalar tasvirini alohida bufferlarda birlashtirib, soya va animatsiya qo‘shadi. Wayland modelida compositor odatda display server va window manager vazifalarini birlashtiradi; klient boshqa oynalarning global koordinatasi yoki mazmuniga bevosita kira olmaydi.
Bu ajratish xavfsizlikka ham ta’sir qiladi. Global keylogging, boshqa oynaga soxta input yuborish yoki ekran mazmunini o‘qish imkoniyati protokol va portal siyosati bilan cheklanadi. Screen sharing foydalanuvchi roziligi va aniq tanlangan surface orqali beriladi.
Sozlash va diagnostika
Shortcut konfliktlari, fokus almashishi, tearing va noto‘g‘ri scaling keng tarqalgan muammolardir. Diagnostikada session turi, GPU driver, monitor topologiyasi va ilova toolkit’i aniqlanadi. Konfiguratsiya yangilanganda eski syntax va plugin mosligi tekshiriladi. Window manager qulab tushsa ilovalar ayrim arxitekturalarda yashab qolishi mumkin, ammo oynalarni boshqarish vaqtincha yo‘qoladi; session supervisor uni qayta ishga tushiradi.
Standartlar va ilova xatti-harakati
Ilovalar oynaning type va relationship metadata sini to‘g‘ri berishi kerak. Dialog parent oynaga transient sifatida bog‘lansa, manager uni parent bilan birga fokuslaydi va workspace almashtirishda yo‘qotmaydi. Fullscreen so‘rovi foydalanuvchi siyosatini chetlab o‘tmaydi; notification va always-on-top qatlamlari suiiste’mol qilinmasligi zarur. Session restore faqat geometriyani emas, document identity va monitor mavjudligini hisobga oladi. Accessibility xizmati fokusdagi oynani aniq bilishi uchun focus stealing prevention bilan assistive technology ehtiyoji muvozanatlanadi. Automated UI testlar headless compositor’da bajarilishi mumkin, lekin real multi-DPI va GPU holati alohida integration testni talab qiladi.
Bog‘liq tushunchalar
Desktop environment, Display server, Compositor, Wayland, X Window System, Workspace, Tiling layout