GTK 3.96، GTK 4 کی تجرباتی ریلیز، شائع ہوئی۔

10 ماہ بعد ماضی کا ٹیسٹ کی رہائی پیش کیا GTK 3.96GTK 4 کی آئندہ مستحکم ریلیز کی ایک نئی تجرباتی ریلیز۔ GTK 4 برانچ کو ایک نئے ترقیاتی عمل کے حصے کے طور پر تیار کیا جا رہا ہے جو ایپلیکیشن ڈویلپرز کو کئی سالوں سے ایک مستحکم اور معاون API فراہم کرنے کی کوشش کرتا ہے جسے بغیر کسی خوف کے استعمال کیا جا سکتا ہے۔ اگلی GTK برانچ میں API کو تبدیل کرنے کی وجہ سے ہر چھ ماہ بعد درخواست کو دوبارہ لکھنا پڑتا ہے۔ جب تک GTK 4 مکمل طور پر مستحکم نہیں ہو جاتا، یہ سفارش کی جاتی ہے کہ صارفین کو پیش کردہ ایپلیکیشنز برانچ کا استعمال کرتے ہوئے بنتی رہیں۔ GTK 3.24.

اہم تبدیلیاں GTK 3.96 میں:

  • API میں جی ایس (GTK Scene Kit)، جو OpenGL اور Vulkan کے ذریعے گرافک مناظر کی رینڈرنگ فراہم کرتا ہے، غلطیوں پر کام کیا گیا ہے، جو نئے ڈیبگنگ ٹول gtk4-node-editor کی بدولت شناخت کرنا آسان ہو گیا ہے، جو آپ کو لوڈ اور ڈسپلے کرنے کی اجازت دیتا ہے۔ رینڈرنگ نوڈ کو سیریلائزڈ فارمیٹ میں (انسپیکشن موڈ GTK انسپکٹر میں محفوظ کیا جا سکتا ہے)، اور مختلف بیک اینڈز استعمال کرتے وقت رینڈرنگ کے نتائج کا موازنہ بھی کریں۔

    GTK 3.96، GTK 4 کی تجرباتی ریلیز، شائع ہوئی۔

  • 3D تبدیلی کی صلاحیتوں کو اس سطح پر لایا گیا ہے جو آپ کو حرکت پذیری کے اثرات جیسے گھومنے والا کیوب بنانے کی اجازت دیتا ہے۔

    GTK 3.96، GTK 4 کی تجرباتی ریلیز، شائع ہوئی۔

  • مکمل طور پر دوبارہ لکھا براڈوے GDK بیک اینڈ ایک ویب براؤزر ونڈو میں GTK لائبریری آؤٹ پٹ رینڈر کرنے کے لیے ڈیزائن کیا گیا ہے۔ پرانا براڈوے نفاذ GTK 4 میں تجویز کردہ رینڈرنگ طریقوں میں فٹ نہیں بیٹھتا تھا (بفر میں آؤٹ پٹ کے بجائے، یہ اب رینڈر نوڈس پر مبنی ایک ماڈل استعمال کرتا ہے، جہاں آؤٹ پٹ اعلی سطحی کارروائیوں کے درخت کی شکل میں تشکیل دیا جاتا ہے، OpenGL اور Vulkan کا استعمال کرتے ہوئے GPU کے ذریعے مؤثر طریقے سے کارروائی کی گئی)۔
    براڈوے کا نیا آپشن براؤزر میں انٹرفیس کو پیش کرنے کے لیے رینڈر نوڈس کو CSS اسٹائل کے ساتھ DOM نوڈس میں تبدیل کرتا ہے۔ اسکرین کی ہر نئی حالت کو پچھلی حالت کی نسبت DOM ٹری میں تبدیلی کے طور پر پروسیس کیا جاتا ہے، جو ریموٹ کلائنٹ کو منتقل ہونے والے ڈیٹا کے سائز کو کم کرتا ہے۔ 3D تبدیلیاں اور گرافک اثرات CSS ٹرانسفارم پراپرٹی کے ذریعے لاگو کیے جاتے ہیں۔

  • GDK Wayland پروٹوکول کو ذہن میں رکھتے ہوئے ڈیزائن کردہ APIs کو لاگو کرنا جاری رکھتا ہے، اور X11 پر مبنی APIs کو صاف کرتا ہے یا انہیں علیحدہ X11 بیک اینڈ پر منتقل کرتا ہے۔ چائلڈ سرفیسز اور عالمی نقاط کے استعمال سے دور جانے کے لیے کام میں پیش رفت ہو رہی ہے۔ GDK_SURFACE_SUBSURFACE کے لیے سپورٹ کو GDK سے ہٹا دیا گیا ہے۔
  • ڈریگ اینڈ ڈراپ آپریشنز کو انجام دینے سے منسلک کوڈ کی ری فیکٹرنگ جاری رہی، بشمول مجوزہ علیحدہ GdkDrag اور GdkDrop اشیاء؛
  • ایونٹ ہینڈلنگ کو آسان بنا دیا گیا ہے اور اب اسے صرف ان پٹ کے لیے استعمال کیا جاتا ہے۔ بقیہ ایونٹس کو الگ الگ سگنلز سے تبدیل کیا جاتا ہے، مثال کے طور پر آؤٹ پٹ ایونٹس کی بجائے، کنفیگریشن ایونٹس کی بجائے سگنل "GdkSurface::render" تجویز کیا جاتا ہے - "GdkSurface::size-changed"، واقعات کی نقشہ سازی کے بجائے - "GdkSurface: :mapped"، بجائے gdk_event_handler_set() - "GdkSurface::event"؛
  • Wayland کے لیے GDK بیک اینڈ نے GtkSettings کی ترتیبات تک رسائی کے لیے پورٹل انٹرفیس کے لیے تعاون شامل کیا ہے۔ ان پٹ طریقوں کے ساتھ کام کرنے کے لیے، text-input-unstable-v3 پروٹوکول توسیع کے لیے تعاون تجویز کیا گیا ہے۔
  • ویجیٹس کی ترقی کے لیے، ایک نیا GtkLayoutManager آبجیکٹ متعارف کرایا گیا ہے جس کے ذریعے نظر آنے والے علاقے کے لے آؤٹ پر منحصر عناصر کی ترتیب کو کنٹرول کرنے کے نظام کے نفاذ کے ساتھ۔ GtkLayoutManager GTK کنٹینرز جیسے GtkBox اور GtkGrid میں چائلڈ پراپرٹیز کو تبدیل کرتا ہے۔ کئی ریڈی میڈ لے آؤٹ مینیجرز تجویز کیے گئے ہیں: ایک چائلڈ عنصر والے سادہ کنٹینرز کے لیے GtkBinLayout، لکیری طور پر منسلک چائلڈ عناصر کے لیے GtkBoxLayout، بچوں کے عناصر کو گرڈ کے ساتھ سیدھ میں کرنے کے لیے GtkGridLayout، چائلڈ عناصر کی من مانی پوزیشننگ کے لیے GtkFixedLayout، روایتی عناصر کے لیے GtkBoxLayout، ایلیمنٹ پر مبنی ٹرانسمیشن عناصر ہینڈلرز
  • چائلڈ عناصر کے صفحہ ڈسپلے کے لیے عوامی طور پر قابل رسائی اشیاء کو GtkAssistant، GtkStack اور GtkNotebook ویجٹ میں شامل کیا گیا ہے، جس میں ان ویجٹس کی غیر لے آؤٹ سے متعلقہ چائلڈ پراپرٹیز کو منتقل کیا جاتا ہے۔ چونکہ تمام موجودہ چائلڈ پراپرٹیز کو ریگولر پراپرٹیز، لے آؤٹ پراپرٹیز، یا پیج آبجیکٹ میں منتقل کر دیا گیا ہے، چائلڈ پراپرٹیز کے لیے سپورٹ کو GtkContainer سے مکمل طور پر ہٹا دیا گیا ہے۔
  • بنیادی GtkEntry فعالیت کو ایک نئے GtkText ویجیٹ میں منتقل کر دیا گیا ہے، جس میں ایک بہتر GtkEditable ایڈیٹنگ انٹرفیس بھی شامل ہے۔ تمام موجودہ ڈیٹا ان پٹ ذیلی طبقات کو نئے GtkText ویجیٹ کی بنیاد پر GtkEditable نفاذ کے طور پر دوبارہ بنایا گیا ہے۔
  • پاس ورڈ کے اندراج کے فارم کے لیے ایک نیا GtkPasswordEntry ویجیٹ شامل کیا گیا۔
  • GtkWidgets نے CSS یا gtk_widget_allocate argument کے ذریعے GskTransform کے لیے مخصوص لکیری تبدیلی کے طریقوں کا استعمال کرتے ہوئے بچوں کے عناصر کو تبدیل کرنے کی صلاحیت شامل کی ہے۔ مخصوص خصوصیت GtkFixed ویجیٹ میں پہلے ہی لاگو کی گئی ہے۔
  • نئے لسٹ جنریشن ماڈلز شامل کیے گئے ہیں: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel اور GtkSingleSelection۔ مستقبل میں ہم GtkListView میں فہرست ماڈلز کے لیے سپورٹ شامل کرنے کا ارادہ رکھتے ہیں۔
  • GtkBuilder نے شناخت کنندہ کے ذریعہ لنکس استعمال کرنے کے بجائے مقامی طور پر (ان لائن) آبجیکٹ کی خصوصیات کو سیٹ کرنے کی صلاحیت شامل کی ہے۔
  • UI فائلوں کو GTK 4 سے GTK 3 میں تبدیل کرنے کے لیے gtk4-builder-tool میں کمانڈ شامل کی گئی۔
  • کلیدی تھیمز، ٹیبلر مینوز، اور کومبو بکس کے لیے سپورٹ بند کر دی گئی ہے۔ GtkInvisible ویجیٹ کو ہٹا دیا گیا ہے۔

    ماخذ: opennet.ru

نیا تبصرہ شامل کریں