Wayland-protocols 1.46 پیکیج جاری کیا گیا ہے، جس میں پروٹوکولز اور ایکسٹینشنز کا ایک سیٹ شامل ہے جو بنیادی Wayland پروٹوکول کی تکمیل کرتے ہیں اور جامع سرورز اور صارف کے ماحول کی تعمیر کے لیے ضروری صلاحیتیں فراہم کرتے ہیں۔
نئے ورژن میں:
- ایک تجرباتی پروٹوکول، xx-input-method، شامل کیا گیا ہے، جس سے ایپلی کیشنز کو جامع سرورز کے لیے ٹیکسٹ ان پٹ طریقوں کو لاگو کرنے اور ان پٹ ٹیکسٹ تیار کرنے کی اجازت دی گئی ہے، جسے استعمال کیا جا سکتا ہے، مثال کے طور پر، ان پٹ پروسیسنگ کے لیے ورچوئل کی بورڈز اور IME (ان پٹ میتھڈ ایڈیٹر) پرتیں بنانے کے لیے۔
- تجرباتی xx-text-input پروٹوکول شامل کر دیا گیا ہے، جس سے جامع سرورز کو ان پٹ طریقوں کو لاگو کرنے اور ایپلی کیشنز کو متن بھیجنے کی اجازت ملتی ہے۔ پروٹوکول جامع سرور اور ایپلی کیشنز کے درمیان تعاملات کو معیاری بناتا ہے اور ان پٹ ٹیکسٹ کو منتقل کرنے، ان پٹ فوکس ایونٹس کو سنبھالنے، اور اکاؤنٹ میں ان پٹ فیلڈ کی تفصیلات (زبان، متن کا انتخاب، مواد کی قسم) جیسی خصوصیات پر کنٹرول کو قابل بناتا ہے۔
- کلر مینجمنٹ-v1 اور کلر-ریپریزنٹیشن-v1 پروٹوکولز کو بہتر بنایا گیا ہے، جو کلر مینجمنٹ، HDR سپورٹ، اور Wayland سطح کی رنگین نمائندگی کی وضاحت کرنے کی صلاحیتیں فراہم کرتے ہیں۔
تمام پروٹوکول ترتیب وار ترقی، جانچ اور استحکام کے مراحل سے گزرتے ہیں۔ ترقی کے مرحلے ("غیر مستحکم" زمرہ) کو مکمل کرنے کے بعد، پروٹوکول کو "اسٹیجنگ" برانچ میں رکھا جاتا ہے اور سرکاری طور پر وے لینڈ پروٹوکول سیٹ میں شامل کیا جاتا ہے، اور جانچ مکمل ہونے کے بعد، اسے مستحکم زمرے میں منتقل کر دیا جاتا ہے۔ "اسٹیجنگ" زمرے کے پروٹوکول پہلے سے ہی جامع سرورز اور کلائنٹس میں استعمال کیے جا سکتے ہیں جہاں متعلقہ فعالیت کی ضرورت ہوتی ہے۔ "غیر مستحکم" زمرے کے برعکس، "اسٹیجنگ" میں ایسی تبدیلیاں کرنا ممنوع ہے جو مطابقت کی خلاف ورزی کرتی ہیں، لیکن اگر جانچ کے دوران مسائل اور کوتاہیوں کی نشاندہی کی جاتی ہے، تو پروٹوکول کے نئے اہم ورژن یا کسی اور Wayland ایکسٹینشن سے تبدیلی کو خارج نہیں کیا جائے گا۔
ڈیولپرز کو پروٹوکولز کی فراہمی کو تیز کرنے اور موجودہ پروجیکٹس میں پروٹوکول کے جلد نفاذ کی حوصلہ افزائی کے لیے، پچھلی ریلیز سے شروع کرتے ہوئے، ایک "تجرباتی" مرحلہ شامل کیا گیا، جو مطابقت کو توڑنے والی تبدیلیوں اور "کچے" پروٹوکول کے اضافے کی اجازت دیتا ہے جنہیں بتدریج مناسب سطح پر لایا جا سکتا ہے۔ اگرچہ ایک پروٹوکول کو اسٹیجنگ مرحلے میں داخل ہونے کے لیے ایک سپورٹ ٹیم بنانے اور جائزہ لینے والوں سے ایک مخصوص تعداد میں اعترافات (ACKs) حاصل کرنے کی ضرورت ہوتی ہے، اسے تجرباتی مرحلے میں داخل ہونے کے لیے صرف دو ہفتے کے جائزے کی مدت کے دوران کوئی اعتراضات (NACKs) حاصل کرنے کی ضرورت ہوتی ہے۔
Wayland-protocols سوٹ میں فی الحال درج ذیل مستحکم پروٹوکول شامل ہیں، جو پسماندہ مطابقت رکھتے ہیں:
- "viewporter" - کلائنٹ کو سرور کی طرف اسکیلنگ اور سرفیس ایج ٹرمنگ کے اعمال انجام دینے کی اجازت دیتا ہے۔
- "پریزنٹیشن ٹائم" - ویڈیو ڈسپلے فراہم کرتا ہے۔
- "xdg-shell" سطحوں کو ونڈوز کے طور پر بنانے اور ان کے ساتھ تعامل کرنے کا ایک انٹرفیس ہے، جس سے آپ انہیں اسکرین کے گرد منتقل کر سکتے ہیں، گر سکتے ہیں، پھیل سکتے ہیں، سائز تبدیل کر سکتے ہیں، وغیرہ۔
- "linux-dmabuf" - DMA-BUF کی بنیاد پر wl_buffers بنانے کی صلاحیت فراہم کرتا ہے۔
- "ٹیبلیٹ" - گرافک ٹیبلٹس سے ان پٹ کی تنظیم۔
"اسٹیجنگ" برانچ میں جانچے گئے پروٹوکول:
- drm-lease - ورچوئل رئیلٹی ہیڈ سیٹس پر آؤٹ پٹ کرتے وقت بائیں اور دائیں آنکھوں کے لیے مختلف بفرز کے ساتھ سٹیریو امیج بنانے کے لیے ضروری وسائل فراہم کرتا ہے۔
- "ext-session-lock" - سیشن کو لاک کرنے کا ایک ذریعہ بیان کرتا ہے، مثال کے طور پر، جب اسکرین سیور چل رہا ہو یا تصدیقی ڈائیلاگ ظاہر ہو۔
- "سنگل-پکسل-بفر" - آپ کو سنگل پکسل بفر بنانے کی اجازت دیتا ہے جس میں چار 32-بٹ RGBA ویلیوز شامل ہیں۔
- "xdg-activation" - آپ کو مختلف فرسٹ لیول سطحوں کے درمیان فوکس منتقل کرنے کی اجازت دیتا ہے (مثال کے طور پر، xdg-activation کا استعمال کرتے ہوئے، ایک ایپلی کیشن فوکس کو دوسری پر تبدیل کر سکتی ہے)۔
- مواد کی قسم - کلائنٹس کو جامع سرور پر دکھائے جانے والے مواد کے بارے میں معلومات منتقل کرنے کی اجازت دیتا ہے، جس کا استعمال مواد سے آگاہی کے رویے کو بہتر بنانے کے لیے کیا جا سکتا ہے، جیسے کہ "مواد کی قسم" جیسی مخصوص DRM خصوصیات کو ترتیب دینا۔ مندرجہ ذیل مواد کی اقسام کے لیے سپورٹ کا اعلان کیا گیا ہے: کوئی نہیں (ڈیٹا کی قسم کے بارے میں کوئی معلومات نہیں ہے)، تصویر (ڈیجیٹل تصاویر کا آؤٹ پٹ، کم سے کم پروسیسنگ کی ضرورت ہے)، ویڈیو (ویڈیو یا اینیمیشن، ہنگامہ آرائی سے بچنے کے لیے زیادہ درست مطابقت پذیری کی ضرورت ہے) اور گیم (لانچنگ) کھیل، کم سے کم تاخیر سے آؤٹ پٹ)۔
- ext-idle-notify - جامع سرورز کو صارف کی غیرفعالیت کے بارے میں کلائنٹس کو اطلاعات بھیجنے کی اجازت دیتا ہے، جس کا استعمال غیرفعالیت کے ایک مخصوص وقت کے بعد اضافی بجلی کی بچت کے طریقوں کو فعال کرنے کے لیے کیا جا سکتا ہے۔
- ٹیئرنگ کنٹرول - آپ کو فل سکرین ایپلی کیشنز میں عمودی ڈیمپنگ پلس کے ساتھ عمودی مطابقت پذیری (VSync) کو غیر فعال کرنے کی اجازت دیتا ہے، جو آؤٹ پٹ میں پھٹنے سے بچانے کے لیے استعمال ہوتا ہے۔ ملٹی میڈیا ایپلی کیشنز میں، پھاڑنے کی وجہ سے نمونے ایک ناپسندیدہ اثر ہیں، لیکن گیمنگ پروگراموں میں، نمونے کو برداشت کیا جا سکتا ہے اگر ان سے نمٹنے میں اضافی تاخیر ہوتی ہے۔
- ext-foreign-toplevel-list - اوپر کی سطح پر رکھی ہوئی سطحوں کے بارے میں معلومات حاصل کرتی ہے، جو آپ کو دوسرے مواد کے اوپری حصے پر ڈوک کرنے کے لیے ونڈوز کو منظم کرنے کی اجازت دیتی ہے، مثال کے طور پر، آپ کے اپنے پینلز اور ونڈو سوئچز کو منسلک کرنے کے لیے۔
- سیکیورٹی سیاق و سباق - آپ کو سینڈ باکس تنہائی کا استعمال کرتے ہوئے کلائنٹس کی شناخت کرنے کی اجازت دیتا ہے۔ ایک کلائنٹ Wayland پر مبنی کمپوزٹ سرور کے ساتھ ایک نیا کنکشن رجسٹر کر سکتا ہے اور اس کے ساتھ ایک سیکورٹی سیاق و سباق منسلک کر سکتا ہے، جس کے بعد کمپوزٹ مینیجر مخصوص سیکورٹی سیاق و سباق کی بنیاد پر قائم کنکشن کے لیے دستیاب صلاحیتوں کو محدود کر دے گا۔
- کرسر کی شکل کرسر کی ظاہری شکل کو اپنی مرضی کے مطابق کرنے کا ایک متبادل طریقہ ہے، جس کی بنیاد کسی سطح (wl_surface) پر چھیننے کے بجائے کرسر کی تصاویر کی ایک سیریز کو منتقل کرنے پر مبنی ہے۔
- "ext-transient-seat" کو مجازی ان پٹ ڈیوائسز کے ساتھ استعمال کے لیے ڈیزائن کردہ عارضی آزاد سیشنز (سیٹیں) بنانے کے لیے ڈیزائن کیا گیا ہے۔ مثال کے طور پر، سے رابطہ قائم کرنے کی صلاحیت کو نافذ کرتے وقت ریموٹ ڈیسک ٹاپ پروٹوکول ہر صارف کے لیے ورچوئل کی بورڈ اور ماؤس کے ساتھ الگ سیشن بنانے کی اجازت دیتا ہے۔
- "xdg-toplevel-drag" - ڈریگ آپریشن کے ساتھ ٹاپ لیول ونڈوز کو منسلک کرنے کی صلاحیت کے ساتھ "ڈریگ اینڈ ڈراپ" میکانزم کو بڑھاتا ہے، جسے استعمال کیا جا سکتا ہے، مثال کے طور پر، ماؤس کے ساتھ ٹول بار یا براؤزر ٹیبز کو گھسیٹنے کو منظم کرنے کے لیے۔ نیا پروٹوکول آپ کو ونڈو کے الگ کرنے کے قابل حصوں کو بنانے کی اجازت دیتا ہے جو اس ونڈو سے گھسیٹنے پر، نئی ونڈو بن جاتے ہیں اور دوبارہ منسلک ہونے سے پہلے موجودہ ونڈو کے اوپر منتقل کیے جا سکتے ہیں۔
- "xdg-dialog" - آپ کو اعلی سطحی سطحوں پر ڈائیلاگ سے متعلق مخصوص خصوصیات تفویض کرنے کی اجازت دیتا ہے، مثال کے طور پر، آپ ایسے موڈل ڈائیلاگ بنا سکتے ہیں جو صارف کے بقیہ انٹرفیس کے ساتھ تعامل کو روکتے ہیں۔
- "linux-drm-syncobj" - DRM (Direct Rendering Manager) سنکرونائزیشن آبجیکٹ کا استعمال کرتے ہوئے واضح بفر سنکرونائزیشن کے لیے ٹولز فراہم کرتا ہے۔ یہ فرض کیا جاتا ہے کہ بفر کو پیش کرتے وقت مطابقت پذیری کے تناظر میں، مجوزہ پروٹوکول Vulkan اور OpenGL گرافکس APIs پر مبنی ڈرائیوروں کے ساتھ کام کو بہتر بنائے گا (عمل درآمد ڈرائیوروں میں ہینڈلرز پر مبنی ہے)۔ نیا پروٹوکول اس بات کو یقینی بناتا ہے کہ کمپوزٹنگ مینیجر اس بفر کو ظاہر کرنے سے پہلے بفر میں ڈرا آپریشن مکمل ہو جائے۔
- alpha-modifier، جو کلائنٹس کو سطح کی شفافیت کی سطح کو تبدیل کرنے اور کمپوزٹ سرور کے اطراف میں شفافیت کو یقینی بنانے کے لیے آپریشنز کو منتقل کرنے کی اجازت دیتا ہے، جس کے نتیجے میں ان آپریشنز کو KMS پر ری ڈائریکٹ کیا جا سکتا ہے۔
- xdg-toplevel-icon - آئیکن کو ٹاپ لیول ونڈو سے باندھیں۔
- ext-image-capture-source اور ext-image-copy-capture - اسکرین پر دکھائے جانے والے مواد کو کیپچر کرنے کی تنظیم۔
- xdg-system-bell - آپ کو سسٹم سگنل آؤٹ پٹ کرنے کی اجازت دیتا ہے، جسے استعمال کیا جا سکتا ہے، مثال کے طور پر، ٹرمینل ایمولیٹر میں وارننگ کے طور پر۔ سگنل آؤٹ پٹ کی شکل کا تعین جامع مینیجر کی صوابدید پر ہوتا ہے؛ یہ نہ صرف آواز بلکہ بصری ردعمل بھی ہو سکتا ہے۔
- fifo - ظاہر شدہ سطح کے مواد کی اپ ڈیٹ کی قطار پر کارروائی کرنے کے لیے FIFO (پہلے میں، پہلے باہر) میکانزم کو لاگو کرتا ہے۔ عملی طور پر، پروٹوکول آؤٹ پٹ کو عمودی اسکیننگ مکمل ہونے کے انتظار میں استعمال کرنے کی اجازت دیتا ہے (vblank) ہر بار کال بیک کالز استعمال کرنے کے بجائے جب یہ ایک نیا فریم ڈسپلے کرنے کے لیے تیار ہوتا ہے، جو VSync استعمال کرتے وقت زیادہ GPU لوڈ کا مسئلہ حل کرتا ہے۔
- کمٹ ٹائمنگ - آپ کو سطحی مواد کے لیے ایک وقت کی حد کا پابند کرنے کی اجازت دیتا ہے (مجمع سرور کو مخصوص وقت کے بعد اگر ممکن ہو تو مواد کی تبدیلی کی عکاسی کرنی چاہیے، لیکن اس سے پہلے نہیں)۔
- ext-data-control - مراعات یافتہ کلائنٹس کو ڈیٹا پروسیسنگ کو کنٹرول کرنے کی اجازت دیتا ہے، مثال کے طور پر کلپ بورڈ مینیجرز کو لاگو کرنا۔
- ext-workspace - تصور کو نافذ کرتا ہے۔ ورچوئل ڈیسک ٹاپس اور ڈیسک ٹاپس کی حالت کے بارے میں معلومات کے ساتھ ساتھ ڈیسک ٹاپس کو چالو اور غیر فعال کرنے کی صلاحیت کے ساتھ واقعات پیش کرتا ہے۔ پروٹوکول کا استعمال ڈیش بورڈز اور اشارے بنانے کے لیے کیا جا سکتا ہے جو دستیاب ورچوئل ڈیسک ٹاپس کی فہرست دکھاتے ہیں اور ان کے درمیان سوئچنگ کی اجازت دیتے ہیں۔
- رنگ کا انتظام — رنگ کے انتظام کے لیے صلاحیتیں فراہم کرتا ہے اور برائٹنس کی توسیعی متحرک رینج (HDR، ہائی ڈائنامک رینج) کے لیے معاونت فراہم کرتا ہے۔ اضافی توسیع کے ساتھ، کلائنٹ ایپلی کیشنز آؤٹ پٹ ڈیوائسز کے رنگ سے متعلق خصوصیات کے بارے میں معلومات حاصل کر سکتی ہیں اور ان کے اپنے مواد کے رنگ سے متعلق خصوصیات کے بارے میں ڈیٹا کو کمپوزٹ سرور کو منتقل کر سکتی ہیں۔ ایک جامع سرور میں، یہ معلومات مختلف آؤٹ پٹ ڈیوائسز پر مواد کو ڈسپلے کرتے وقت رنگ کو خود بخود منظم کرنے کے لیے استعمال کیا جا سکتا ہے، مثال کے طور پر مواد کو HDR مانیٹر پر ڈسپلے کے لیے موزوں پریزنٹیشن میں تبدیل کرنے کے لیے۔ آئی سی سی پروفائلز رنگ کی جگہوں کو بیان کرنے کے لیے استعمال کیے جاتے ہیں۔
- xdg-toplevel-tag — Wayland کلائنٹس کو اعلی سطحی سطحوں پر ٹیگ منسلک کرنے کی اجازت دیتا ہے جسے کمپوزٹنگ سرور ایپلی کیشن کے دوبارہ شروع ہونے کے بعد ونڈوز کی شناخت کے لیے استعمال کر سکتا ہے (مثال کے طور پر، ایک ایپلیکیشن مین ونڈو اور سیٹنگز ونڈو کے لیے "مین ونڈو" اور "سیٹنگز" ٹیگز سیٹ کر سکتی ہے)۔ اس طرح کی شناخت دوبارہ شروع کرنے کے بعد ونڈوز کی پوزیشن، سائز، اور خصوصیات کو بحال کرنے اور ونڈوز کی انفرادی اقسام کے لیے خصوصی اصولوں کی وضاحت کے لیے مفید ہے۔
- رنگ کی نمائندگی - Wayland سطح کی رنگ کی نمائندگی کی وضاحت کرتا ہے۔ Wayland کلائنٹس شفافیت، کلر ماڈل، سب سیمپلنگ، اور کوانٹائزیشن رینج کی وضاحت کے لیے درکار میٹا ڈیٹا پاس کر سکتے ہیں، اور YCbCr کلر ماڈل سے متعلقہ ڈیٹا کے ساتھ بفر کو RGB نمائندگی میں تبدیل کرتے وقت استعمال کیا جا سکتا ہے۔
- ext-background-effect - Wayland کی سطح کے نیم شفاف حصوں پر اثرات کا اطلاق ہوتا ہے، جیسے کہ پس منظر کا دھندلا پن۔
- پوائنٹر وارپ - ایک ایپلیکیشن کو پوائنٹر کو فوری طور پر ایک مخصوص پوزیشن پر منتقل کرنے کی اجازت دیتا ہے۔
تجرباتی شاخ میں پروٹوکول تیار کیے جا رہے ہیں:
- xx-session-management - رکاوٹ والے سیشنز کے لیے ونڈوز کی حالت کو بحال کرتا ہے (مثال کے طور پر، جامع مینیجر کے کریش کے بعد)۔
"غیر مستحکم" برانچ میں پروٹوکول تیار کیے جا رہے ہیں:
- "فل سکرین شیل" - فل سکرین موڈ میں کام کا کنٹرول۔
- "input-method" - پروسیسنگ ان پٹ کے طریقے۔
- "idle-inhibit" - اسکرین سیور (اسکرین سیور) کے آغاز کو روکنا۔
- "input-timestamps" - ان پٹ واقعات کے لیے ٹائم اسٹیمپ۔
- "keyboard-shortcuts-inhibit" - کی بورڈ شارٹ کٹس اور ہاٹکیز کے اٹیچمنٹ کو کنٹرول کرتا ہے۔
- "linux-explicit- synchronization" کے لیے مخصوص ہے۔ Linux سطح کے سلسلے میں بفرز کو ہم آہنگ کرنے کا طریقہ کار۔
- "پوائنٹر-اشارے" - ٹچ اسکرینوں سے کنٹرول۔
- "پوائنٹر کی رکاوٹیں" - پوائنٹر کی رکاوٹیں (مسدود کرنا)۔
- "پرائمری سلیکشن" - X11 کے ساتھ مشابہت کے ساتھ، یہ پرائمری کلپ بورڈ (پرائمری سلیکشن) کے آپریشن کو یقینی بناتا ہے، جس سے معلومات عام طور پر ماؤس کے درمیانی بٹن کے ساتھ داخل کی جاتی ہیں۔
- "رشتہ دار پوائنٹر ایونٹس" - رشتہ دار پوائنٹر ایونٹس۔
- "ٹیکسٹ ان پٹ" - ٹیکسٹ ان پٹ کی تنظیم۔
- "xdg-foreign" "پڑوسی" کلائنٹ کی سطحوں کے ساتھ بات چیت کرنے کا ایک انٹرفیس ہے۔
- "xdg-decoration" - سرور کی طرف ونڈو کی سجاوٹ پیش کرنا۔
- "xdg-output" - ویڈیو آؤٹ پٹ کے بارے میں اضافی معلومات (فرکشنل اسکیلنگ کے لیے استعمال کیا جاتا ہے)۔
- "xwayland-keyboard-grab" - XWayland ایپلی کیشنز میں ان پٹ کیپچر کریں۔
ماخذ: opennet.ru
