منصوبے کے بارے میں

صوفیا ایک تجرباتی ڈسپلے سرور اور کمپوزیٹر ہے جو ٹرانزیکشن پر مبنی انجن کے گرد بنایا گیا ہے، جس میں مقامی X11 فرنٹ اینڈ شامل ہے۔ اس کا مرکزی خیال یہ ہے کہ ونڈو کی جیومیٹری اور پکسلز ایک ہی بصری ٹرانزیکشن کے طور پر اکٹھے کمٹ ہوتے ہیں، تاکہ ایک رکا ہوا کلائنٹ آخری کمٹ شدہ حالت کو اسکرین پر برقرار رکھے جب تک کوئی متبادل تیار نہ ہو۔ یہ پروجیکٹ یونکس طرز کی ذمہ داریوں کی تقسیم پر عمل کرتا ہے۔ انجن جسمانی ان پٹ، سین گراف، فریم شیڈولنگ، بصری کمٹ، رینڈرنگ اور ڈسپلے آؤٹ پٹ کا مالک ہے۔ X11 فرنٹ اینڈ (Rust میں sophia-x-authority میں لکھا گیا) X11 کنکشن قبول کرتا ہے، وسائل کا انتظام کرتا ہے، پروٹوکول قواعد نافذ کرتا ہے اور کلائنٹ کی حالت کو انجن ٹرانزیکشنز میں ترجمہ کرتا ہے۔ ونڈو مینجمنٹ، شیل UI اور بین-ایپلیکیشن منتقلی الگ الگ عملوں کے ذریعے سنبھالی جاتی ہے جو ورژن شدہ پروٹوکول پر بات چیت کرتے ہیں۔ اہم اجزاء: - صوفیا انجن: ان پٹ، سین گراف، ہٹ-ٹیسٹنگ، ڈیمیج ٹریکنگ، فریم شیڈولنگ، ایٹمک بصری کمٹ اور اسکین آؤٹ کے لیے کمپوزیٹر اتھارٹی۔ - صوفیا X سرور فرنٹ اینڈ: X11 وسائل، سلیکشنز، گریبس اور پروٹوکول چیک؛ namespace-تصدیق شدہ سطحی ٹرانزیکشنز جاری کرتا ہے۔ - صوفیا WM: sophia_wm_v1 کے ذریعے opaque لی آؤٹ نوڈس اور سطحی ہینڈلز کا استعمال کرتے ہوئے لی آؤٹ اور فوکس تجویز کرتا ہے، جس میں XIDs، عنوانات، PIDs یا کلپ بورڈ مواد تک رسائی نہیں ہوتی۔ Hagia حوالہ ونڈو مینیجر ہے۔ - صوفیا شیل: sophia_shell_v1 کے ذریعے پینلز، لانچرز اور سوئچرز فراہم کرتا ہے، اسکرین کے کناروں کے ساتھ جگہ کی درخواست کرتا ہے، اور بروکر کے ذریعے صاف شدہ میٹا ڈیٹا حاصل کرتا ہے۔ Narthex ڈیسکٹرپٹر شیل کا حوالہ ہے۔ - صوفیا پورٹلز: کلپ بورڈ شیئرنگ، ڈریگ-اینڈ-ڈراپ اور اسکرین کیپچر کو namespaces کے درمیان بروکر کرتا ہے، جس میں ہر مخصوص وصول کنندہ کے لیے اجازت درکار ہوتی ہے۔ Namespace تنہائی ایک بنیادی ڈیزائن نقطہ ہے۔ قابل اعتماد ایپلیکیشنز ایک namespace شیئر کر سکتی ہیں اور روایتی X11 آبجیکٹ ماڈل استعمال کر سکتی ہیں، جبکہ تنہائی کی ضرورت والی ایپلیکیشنز الگ namespaces میں چلتی ہیں جہاں کراس-namespace وسائل کی تلاش ناکام ہو جاتی ہے۔ پورٹلز مخصوص منتقلی کو اجازت دیتے ہیں بغیر کسی namespace کو عام رسائی کے لیے کھولے۔ دستاویزات میں صوفیا پر ونڈو مینیجرز، شیلز یا ڈیسک ٹاپ ماحول بنانے کے لیے ایک رہنما، فن تعمیر، پروٹوکول، ترتیب اور سیکیورٹی تصریحات کا اشاریہ، اور تحقیقات اور ڈیزائن فیصلوں کی ایک ترقیاتی نوٹ بک شامل ہے۔ موجودہ کام todo.md میں ٹریک کیا جاتا ہے۔ حیثیت: صوفیا ایک تحقیقی پروٹوٹائپ ہے۔ X11 موجودہ ایپلیکیشن پروٹوکول ہے اور Rust فرنٹ اینڈ اس کا ایک ذیلی سیٹ نافذ کرتا ہے؛ ایپلیکیشن مطابقت اور اینڈ-ٹو-اینڈ توثیق ابھی جاری ہے۔ دیگر پروٹوکول فرنٹ اینڈز، بشمول Wayland، مستقبل کا کام ہیں۔ پروجیکٹ BSD 3-Clause لائسنس کے تحت ہے۔