TGViewer
Linux Experts Linux Experts @linux_exp · 253 subscribers
Post #46 450
خیلی‌ها وقتی از X11 میان سمت Wayland، این سوال براشون پیش میاد که چرا اینجا مثل X نمی‌گیم Window Manager و به جاش می‌گیم compositor؟

اول فرق X و Wayland رو بفهمیم. تو دنیای X داستان این‌طوری بود:
▫️ یه X server داشتیم که کارش صحبت با کارت گرافیک و ورودی‌ها بود و پنجره‌ها رو روی صفحه می‌کشید.
▫️ یه Window Manager جدا که تصمیم می‌گرفت پنجره‌ها کجا باشن، فوکوس دست کی باشه، تایل بشن یا شناور، دکمه‌ها چه رفتاری داشته باشن و …
▫️ یه compositor (اختیاری) مثل compton یا picom که تصویر نهایی دسکتاپ رو با سایه و شفافیت و افکت‌ها ترکیب می‌کرد.
تو X این‌ها می‌تونستن توی یک برنامه هم جمع بشن. مثلاً KWin یا Mutter روی X هم WM هستن هم compositing manager. یعنی ترکیب‌شون ممنوع نبود، فقط معماری طوری بود که جدا بودن‌شون هم ممکن و رایج بود.

💠 توی Wayland چی عوض شده؟
اینجا از دید پروتکل، همیشه یک سرور Wayland وجود داره که همون چیزیه که بهش می‌گیم compositor. این سرور:
▫️ مستقیماً با DRM/KMS و کارت گرافیک کار می‌کنه.
▫️ ورودی‌ها (کیبورد، موس، تاچ و …) رو دریافت می‌کنه. 
▫️ بافرهایی که اپ‌ها رندر کردن رو می‌گیره. 
▫️ تصمیم می‌گیره هر سطح (surface) کجا و چطوری روی کدوم مانیتور نمایش داده بشه. 
▫️ در عمل، همون کارهای یک Window Manager رو هم مثل فوکوس، تایلینگ، فلو، فول‌اسکرین، ورک‌اسپیس‌ها و … انجام می‌ده.

چرا نمی‌گیم Wayland Window Manager؟
▫️ از دید فنی، نقش اصلی این برنامه کامپوزیت کردن بافرها و ساختن تصویر نهایی خروجه؛ مدیریت پنجره فقط یک بخش از ماجراست.
▫️ پروتکل Wayland حول این کامپوزیتور طراحی شده و مرکز مدیریت گرافیکه که هم با سخت‌افزار ارتباط می‌گیره، هم با اپ‌ها، هم سیاست‌های پنجره‌ها رو اجرا می‌کنه.
▫️ چیزی به‌عنوان WM مستقل که فقط سیاست بده به شکل استاندارد توی پروتکل وجود نداره؛ اگر هم بخشی از منطق به یه پروسۀ دیگه واگذار بشه، باز هم از نگاه Wayland، تصمیم‌گیرندۀ نهایی همون compositor هست و اون یکی فقط helper حساب می‌شه.
🔘 @linux_exp | #wayland #x11 #wm
  • 👍 6
  • 🔥 4
  • ❤ 3
  • 👏 1
More from @linux_exp
  1. Jun 13, 2026🚨 اگه از آرچ لینوکس یا توزیع‌های هم‌خانواده‌اش (مثل مَنجارو و اندِور) استفاده می‌کنید فعل…
  2. Jun 13, 2026سلام دوستان عزیز، پس از ماه‌ها قطعی و سکوت اجباری، بالاخره تصمیم گرفتیم دوباره فعالیت کانا…
  3. Mar 9, 2026لیست میرورهای داخلی ایران توی این شرایط به کارتون میاد 🐧 میرورهای لینوکس - mirror.arvancl…
  4. Feb 25, 2026♨️ Niri WM setup in Alpine linux 💡از اونجایی که منابع کافی(حتی زبان اصلی) برای این موضوع…
  5. Feb 23, 2026✅ و در نهایت برای راه‌اندازی مواردی که گفته شد می‌تونید از داکیومنت زیر استفاده کنید: 🔗 h…
  6. Feb 23, 2026💢 قدم اول درک کارکرد P2P و نقش Bootstrap ➖ توی ارتباط‌گیری P2P دو دستگاه به‌صورت مستقیم ب…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →