నాలుగు నెలల అభివృద్ధి తర్వాత, గ్రాఫికల్ యూజర్ ఇంటర్ఫేస్ను రూపొందించడానికి బహుళ-ప్లాట్ఫారమ్ టూల్కిట్ విడుదల ప్రచురించబడింది - GTK 4.6.0. GTK 4 కొత్త అభివృద్ధి ప్రక్రియలో భాగంగా అభివృద్ధి చేయబడుతోంది, ఇది అప్లికేషన్ డెవలపర్లకు స్థిరమైన మరియు మద్దతు ఉన్న APIని అనేక సంవత్సరాల పాటు అందించడానికి ప్రయత్నిస్తుంది, తదుపరి GTKలో API మార్పుల కారణంగా ప్రతి ఆరు నెలలకు ఒకసారి అప్లికేషన్లను తిరిగి వ్రాయవలసి ఉంటుంది అనే భయం లేకుండా ఉపయోగించవచ్చు. శాఖ.
GTK 4.6లో కొన్ని ముఖ్యమైన మెరుగుదలలు:
- పాత OpenGL-ఆధారిత రెండరింగ్ ఇంజన్ తీసివేయబడింది, దాని స్థానంలో కొత్త NGL రెండరింగ్ ఇంజన్, GTK 4.2 నుండి డిఫాల్ట్గా అందించబడింది, ఇది మెరుగైన పనితీరును అందిస్తుంది. NGL పేరు GL గా మార్చబడింది. ఆకృతి లోడింగ్ కోడ్ తిరిగి వ్రాయబడింది, ఇమేజ్ ఫార్మాట్లు మరియు కలర్ స్పేస్లకు మద్దతు మెరుగుపరచబడింది.
- మూలకం పరిమాణాలు మరియు విడ్జెట్ లేఅవుట్ గణనతో అనుబంధించబడిన కోడ్ గణనీయంగా పునర్నిర్మించబడింది. గతంలో, GtkWidget::halign మరియు GtkWidget::valign లక్షణాలు మూలకాలను ఉంచేటప్పుడు డిఫాల్ట్ విడ్జెట్ పరిమాణంపై ఆధారపడి ఉంటాయి, ఇది ఏరియా-ఫిల్ మోడ్లో ఒక పరిమాణాన్ని మాత్రమే పేర్కొన్నప్పుడు, మూలకం అదనపు స్థలాన్ని తీసుకునేలా చేస్తుంది. GTK 4.6 ఒకదానికొకటి సాపేక్షంగా తప్పిపోయిన పరిమాణాన్ని కొలిచే సామర్థ్యాన్ని పరిచయం చేస్తుంది (ఉదాహరణకు, వెడల్పు పేర్కొనబడితే, ప్లేస్మెంట్ అందుబాటులో ఉన్న ఎత్తును పరిగణనలోకి తీసుకోవచ్చు), విడ్జెట్లు అనవసరమైన స్థలాన్ని తీసుకోకుండా సన్నగా ఉండటానికి అనుమతిస్తుంది.


- GtkBox విడ్జెట్ పిల్లల మూలకాల యొక్క వ్యక్తిగత పరిమాణాన్ని లెక్కించే సామర్థ్యాన్ని కలిగి ఉంటుంది. మునుపు చైల్డ్ విడ్జెట్ల మధ్య వాటి డిఫాల్ట్ పరిమాణం ఆధారంగా స్థలం సమానంగా పంపిణీ చేయబడినప్పటికీ, GTK 4.6 ఇప్పుడు అవుట్పుట్ చేసేటప్పుడు పిల్లల వాస్తవ పరిమాణాన్ని పరిగణనలోకి తీసుకుంటుంది.
- GtkLabel విడ్జెట్ ఎన్ని పంక్తులలోనైనా టెక్స్ట్ చుట్టడానికి మద్దతును కలిగి ఉంటుంది, అందుబాటులో ఉన్న నిలువు స్థలాన్ని తీసుకునే ఇరుకైన లేబుల్లను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది.
- GtkWindow తరగతి కనీస పరిమాణాన్ని కారక నిష్పత్తికి సర్దుబాటు చేసే సామర్థ్యాన్ని జోడించింది, ఇది విండో చాలా చిన్నదనే భయం లేకుండా ఏకపక్షంగా పరిమాణాన్ని మార్చడానికి మిమ్మల్ని అనుమతిస్తుంది. "Window.titlebar" ప్రాపర్టీ జోడించబడింది.
- విడ్జెట్ సరికాని పరిమాణాన్ని అందించినట్లయితే పరిమాణం సరిపోలని కొత్త హెచ్చరిక జోడించబడింది. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: 'for_size >= కనిష్ట వ్యతిరేక పరిమాణం' అనే వాదన విఫలమైంది: 23 >= 42
- GtkTextView విడ్జెట్ ఇప్పుడు కుడివైపు సమలేఖనం చేయబడిన లేదా మధ్యకు సమలేఖనం చేయబడిన ట్యాబ్లకు మద్దతు ఇస్తుంది. టెక్స్ట్ మార్పిడి మరియు లైన్ ఎత్తు పరిగణనలకు మద్దతు జోడించబడింది. పేర్కొన్న లేబుల్ ఆపరేషన్కు మెరుగైన స్క్రోలింగ్. మార్పులను రద్దు చేయడంలో మెరుగైన నిర్వహణ. క్లిప్బోర్డ్ నుండి వచనాన్ని అతికించేటప్పుడు మరియు ఎమోజి పేస్ట్ ఇంటర్ఫేస్ను ఎక్కడ ప్రదర్శించాలో ఎంచుకోవడంలో సమస్యలు పరిష్కరించబడ్డాయి.
- GtkMenuButton విడ్జెట్ దాని స్వంత చైల్డ్ ఎలిమెంట్లను నిర్వచించే సామర్థ్యాన్ని అందిస్తుంది.
- GtkBuilderలో టెంప్లేట్ ప్రీకంపైలేషన్ వేగవంతం చేయబడింది.
- GtkComboBox మరియు GtkDropDown విడ్జెట్లను యాక్టివేట్ చేయడానికి యాక్టివేట్ సిగ్నల్ జోడించబడింది.
- బాణం చూపబడిందో లేదో నియంత్రించడానికి GtkDropDown విడ్జెట్కు షో-బాణం ప్రాపర్టీని జోడించారు.

- మెను టెక్స్ట్లో Pango మార్కప్ని ఉపయోగించడానికి GtkPopoverMenuకి యూజ్-మార్కప్ అట్రిబ్యూట్ జోడించబడింది.
- స్టైల్ సిస్టమ్ చిన్న పెద్ద అక్షరాలను ప్రదర్శించడానికి మరియు వచనాన్ని మార్చడానికి టెక్స్ట్-ట్రాన్స్ఫార్మ్ కోసం CSS లక్షణాల ఫాంట్-వేరియంట్-క్యాప్లకు మద్దతు ఇస్తుంది.
- సింబల్ చిహ్నాల రంగును నియంత్రించడానికి GtkSymbolicPaintable ఇంటర్ఫేస్ జోడించబడింది.
- తనిఖీ ఇంటర్ఫేస్కు డ్రాగ్-అండ్-డ్రాప్ ఆపరేషన్లను ట్రాక్ చేయడానికి మద్దతు జోడించబడింది, ప్రస్తుత ఇన్పుట్ మాడ్యూల్ చూపబడింది, క్లిప్బోర్డ్ కంటెంట్ వ్యూయర్ జోడించబడింది, gtk_widget_measure() విజువలైజేషన్ కోసం గ్రాఫ్ అమలు చేయబడింది మరియు ఈవెంట్లను లాగ్ చేయగల సామర్థ్యం అందించబడింది. gtk4-node-editor యుటిలిటీకి డ్రాగ్-అండ్-డ్రాప్ మోడ్కు మద్దతు జోడించబడింది.
- Wayland కోసం, అధిక-కాంట్రాస్ట్ మోడ్ని సక్రియం చేయడానికి సెట్టింగ్ అమలు చేయబడింది. wl_seat v7 ప్రోటోకాల్కు మద్దతు జోడించబడింది.
- టెక్స్ట్ రెండరింగ్ని GTK3 ప్రవర్తనకు దగ్గరగా తీసుకురావడానికి gtk-hint-font-metrics సెట్టింగ్ జోడించబడింది.
- X11-ఆధారిత సిస్టమ్ల కోసం, టచ్ప్యాడ్ నియంత్రణ సంజ్ఞలకు (XInput 2.4ని ఉపయోగిస్తున్నప్పుడు) మరియు మెరుగైన విండో టైటిల్-డ్రాగ్ ప్రవర్తనకు మద్దతు జోడించబడింది.
- GTK మరియు గ్రాఫిక్స్ సబ్సిస్టమ్ల మధ్య పొరను అందించే GDK లైబ్రరీ, OpenGL మరియు OpenGL ES వెర్షన్ల తనిఖీని మెరుగుపరిచింది. HSL కలర్ స్పేస్ కోసం మద్దతు జోడించబడింది. అల్లికలను లోడ్ చేస్తున్నప్పుడు మరియు ఇమేజ్ ఫార్మాట్లను ప్రాసెస్ చేస్తున్నప్పుడు, libpng, libjpeg మరియు libtiff లైబ్రరీలు నేరుగా పాల్గొంటాయి. EGL ప్రారంభ కోడ్ ఫ్రంటెండ్ వైపుకు తరలించబడింది. కొత్త APIలు జోడించబడ్డాయి: gdk_texture_new_from_bytes, gdk_texture_new_from_filename, gdk_texture_download_float, gdk_texture_save_to_png_bytes, gdk_texture_save_to_tiff, gdk_texture_from_bytes.
- Git రిపోజిటరీలోని "మాస్టర్" బ్రాంచ్ "మెయిన్"గా పేరు మార్చబడింది.
మూలం: opennet.ru



