notcurses v1.4.x లైబ్రరీ యొక్క కొత్త వెర్షన్ విడుదల చేయబడింది “సాగా కొనసాగుతుంది! వు-టాంగ్! వు-టాంగ్!"
Notcurses అనేది ఆధునిక టెర్మినల్ ఎమ్యులేటర్ల కోసం TUI లైబ్రరీ. సాహిత్యపరంగా అనువదించబడింది - శాపాలు కాదు. ఇది C++-సురక్షిత శీర్షికలను ఉపయోగించి Cలో వ్రాయబడింది. కోసం రేపర్లు అందుబాటులో ఉన్నాయి రస్ట్, C ++ и పైథాన్.
అది ఏమిటి: ఆధునిక టెర్మినల్ ఎమ్యులేటర్లపై సంక్లిష్టమైన TUIలను సులభతరం చేసే లైబ్రరీ, ప్రకాశవంతమైన రంగులు మరియు యూనికోడ్కు గరిష్టంగా మద్దతు ఇస్తుంది. శాపాలకు అప్పగించిన అనేక పనులు నాట్కర్సెస్ (మరియు వైస్ వెర్సా) ఉపయోగించి నిర్వహించబడతాయి.
అది కాదు: X/Open శాపాలకు అనుకూలమైన అమలు లేదా ఇప్పటికే ఉన్న సిస్టమ్లలో ncurses భర్తీ.
సింగిల్ UNIX స్పెసిఫికేషన్లో భాగంగా అందించబడిన X/Open Curses APIని Notcurses విస్మరిస్తుంది. ఈ వివరణ చాలా కాలం చెల్లినది మరియు ఉదాహరణకు, నాన్-ఇండెక్స్డ్ 24-బిట్ కలర్ వంటి టెర్మినల్ ఫంక్షనాలిటీకి మద్దతు ఇవ్వదు. అలాగే, notcurses శాపాలకు ప్రత్యామ్నాయం కాదు. ఇది తక్కువ పోర్టబుల్ మరియు ఖచ్చితంగా తక్కువ హార్డ్వేర్లో పరీక్షించబడుతుంది.
వీలైనప్పుడల్లా, notcurses దాని పోర్టబిలిటీ నుండి గొప్పగా ప్రయోజనం పొందుతూ ncursesతో సరఫరా చేయబడిన terminfo లైబ్రరీని ఉపయోగిస్తుంది.
Notcurses వర్క్స్టేషన్లు, ఫోన్లు, ల్యాప్టాప్లు మరియు టాబ్లెట్లలో వినియోగదారులతో పరస్పర చర్య చేయడానికి అధునాతన కార్యాచరణను తెరుస్తుంది.
ఈ ప్రామాణికం కాని లైబ్రరీని ఎందుకు ఉపయోగించాలి?
-
బహుళ-థ్రెడ్ ప్రోగ్రామ్లలో థ్రెడ్ భద్రత మరియు సమర్ధవంతమైన ఉపయోగం మొదటి నుండి డిజైన్ పరిశీలనగా ఉంది.
-
X/Openతో పోలిస్తే మరింత బాగా ఆకృతీకరించబడిన API:
-
నేమ్స్పేస్ ఘర్షణలను నివారించడానికి ఎగుమతి చేయబడిన ఐడెంటిఫైయర్లు ప్రిఫిక్స్ చేయబడ్డాయి.
-
లైబ్రరీ ఆబ్జెక్ట్ ఫైల్ కనీస అక్షరాల సెట్ను ఎగుమతి చేస్తుంది. ప్రాక్టికల్, స్టాటిక్ కోడ్ లైన్ హెడర్ల కోసం మాత్రమే ఉపయోగించబడుతుంది. ఇది కంపైలర్ను ఆప్టిమైజ్ చేయడాన్ని సులభతరం చేస్తుంది మరియు లోడ్ సమయాన్ని తగ్గిస్తుంది.
-
-
అన్ని APIలు స్థానికంగా సార్వత్రిక అక్షర సమితికి (యూనికోడ్) మద్దతు ఇస్తాయి. సెల్ API భావనపై ఆధారపడి ఉంటుంది యూనికోడ్ యొక్క విస్తరించిన గ్రాఫిమ్ క్లస్టర్.
-
చిత్రాలు, ఫాంట్లు, వీడియోలు, హై-కాంట్రాస్ట్ టెక్స్ట్, స్ప్రిట్లు మరియు పారదర్శక ప్రాంతాలతో సహా విజువల్ ఫీచర్లు. అన్ని APIలు స్థానికంగా 24-బిట్ రంగుకు మద్దతు ఇస్తాయి, టెర్మినల్ ద్వారా అవసరమైన పరిమాణంలో ఉంటాయి.
-
Apache2 లైసెన్స్, కాకుండా నాటకం అనేక చర్యలలో, ఇది ncurses లైసెన్స్ (రెండోది "MIT-X11 యొక్క సంస్కరణ"గా సంగ్రహించబడింది).
మునుపటి ముఖ్యమైన విడుదల 1.1.0 నుండి, భారీ సంఖ్యలో ఫీచర్లు జోడించబడ్డాయి. ప్రధాన మార్పులు:
-
రీడింగ్ స్ట్రింగ్లకు లింక్ చేయబడిన ఉచిత-ఫారమ్ స్ట్రింగ్లను నమోదు చేయడానికి రీడింగ్ విడ్జెట్
-
సబ్ప్రాసెస్ను పుట్టించడం, దానిని నిర్వహించడం మరియు దాని ఫలితాలను తిరిగి ప్రసారం చేయడం కోసం సబ్ప్రాసెస్ విడ్జెట్.
-
Linux 5.3+ కొత్త clone3+pidfd మెకానిజంను ఉపయోగించి రేస్ కండిషన్ లేకుండా ప్రక్రియలను నిర్వహించవచ్చు.
-
విమానానికి ఏకపక్ష ఫైల్ డిస్క్రిప్టర్ను ప్రసారం చేయడానికి Fdplane విడ్జెట్ (దీనిపై ఉపప్రాసెస్ నిర్మించబడింది). రెండూ స్టైల్కు కాల్బ్యాక్లను అనుమతిస్తాయి లేదా టెక్స్ట్ని మార్చవచ్చు.
-
విమానాల భ్రమణం మరియు విజువల్ ఎఫెక్ట్స్. మెమరీ నుండి విజువలైజేషన్లను లోడ్ చేస్తోంది. యాదృచ్ఛిక RGBA/BGRx బ్లిటింగ్.
-
మెనుని ఎగువ మరియు దిగువ విమానాలలో (లేదా రెండింటిలో) ఉంచవచ్చు.
-
డైరెక్ట్ మోడ్లో పెద్ద మెరుగుదలలు.
-
పాలీఫిల్స్, గ్రేడియంట్లు మరియు అధిక కాంట్రాస్ట్ టెక్స్ట్.
-
ఉదాహరణగా Tetris జోడించబడింది.
-
Marek Habersack నుండి C++ రేపర్లు ఇప్పుడు మినహాయింపులను (అవసరమైతే) విసిరే సామర్థ్యాన్ని కలిగి ఉన్నాయి.
-
పైథాన్ మరియు రస్ట్ FFI నవీకరించబడింది మరియు పరీక్షించబడింది.
రచయిత వ్యాఖ్యలతో వీడియో డెమో
పుస్తకం “హ్యాకింగ్ ది ప్లానెట్! రచయిత నుండి Notcourses"తో
మూలం: linux.org.ru