Κυκλοφόρησε το notcurses v1.4.1 - μια βιβλιοθήκη για σύγχρονες διεπαφές κειμένου


Κυκλοφόρησε το notcurses v1.4.1 - μια βιβλιοθήκη για σύγχρονες διεπαφές κειμένου

Κυκλοφόρησε μια νέα έκδοση της βιβλιοθήκης notcurses v1.4.x «το έπος συνεχίζεται! wu-tang! wu-tang!»

Το Notcurses είναι μια βιβλιοθήκη TUI για σύγχρονους εξομοιωτές τερματικών. Κυριολεκτικά μεταφρασμένο – όχι κατάρες. Είναι γραμμένο σε C, χρησιμοποιώντας κεφαλίδες C++-safe. Περιτυλίγματα διαθέσιμα για Σκωρία, C + + и Python.

Τι είναι: μια βιβλιοθήκη που απλοποιεί πολύπλοκα TUI σε σύγχρονους εξομοιωτές τερματικών, υποστηρίζοντας στο μέγιστο τα φωτεινά χρώματα και το Unicode. Πολλές εργασίες που ανατίθενται σε κατάρες μπορούν να εκτελεστούν χρησιμοποιώντας notcurses (και το αντίστροφο).

Τι δεν είναι: Μια συμβατή εφαρμογή X/Open κατάρες ή αντικατάσταση ncurses σε υπάρχοντα συστήματα.

Το Notcurses καταργεί το X/Open Curses API που παρέχεται ως μέρος της προδιαγραφής Single UNIX. Αυτή η προδιαγραφή είναι ξεπερασμένη εδώ και πολύ καιρό και, για παράδειγμα, δεν υποστηρίζει λειτουργίες τερματικού, όπως μη ευρετηριασμένο χρώμα 24-bit. Ως εκ τούτου, το notcurses δεν αντικαθιστά τις κατάρες. Είναι λιγότερο φορητό και σίγουρα έχει δοκιμαστεί σε λιγότερο υλικό.
Όποτε είναι δυνατόν, το notcurses χρησιμοποιεί τη βιβλιοθήκη terminfo που παρέχεται με το ncurses, επωφελούμενη σε μεγάλο βαθμό από τη φορητότητά του.
Το Notcurses ανοίγει προηγμένες λειτουργίες για αλληλεπίδραση με χρήστες σε σταθμούς εργασίας, τηλέφωνα, φορητούς υπολογιστές και tablet.

Γιατί να χρησιμοποιήσετε αυτήν τη μη τυπική βιβλιοθήκη;

  • Η ασφάλεια των νημάτων και η αποτελεσματική χρήση σε προγράμματα πολλαπλών νημάτων ήταν από την αρχή ένα θέμα σχεδιασμού.

  • Πιο καλά διαμορφωμένο API σε σύγκριση με το X/Open:

    • Τα αναγνωριστικά που εξάγονται έχουν πρόθεμα για την αποφυγή συγκρούσεων χώρου ονομάτων.

    • Το αρχείο αντικειμένου βιβλιοθήκης εξάγει ένα ελάχιστο σύνολο χαρακτήρων. Όπου είναι πρακτικό, ο στατικός κώδικας χρησιμοποιείται μόνο για κεφαλίδες γραμμής. Αυτό διευκολύνει τη βελτιστοποίηση του μεταγλωττιστή και μειώνει τους χρόνους φόρτωσης.

  • Όλα τα API υποστηρίζουν εγγενώς το καθολικό σύνολο χαρακτήρων (Unicode). Το API κυψέλης βασίζεται στην ιδέα Εκτεταμένο σύμπλεγμα γραφημάτων της Unicode.

  • Οπτικά χαρακτηριστικά, όπως εικόνες, γραμματοσειρές, βίντεο, κείμενο υψηλής αντίθεσης, sprites και διαφανείς περιοχές. Όλα τα API υποστηρίζουν εγγενώς χρώμα 24-bit, κβαντισμένο όπως απαιτείται από το τερματικό.

  • Άδεια Apache2, σε αντίθεση με Δράμα σε αρκετές πράξεις, που είναι η άδεια ncurses (η τελευταία συνοψίζεται ως "αναδιατύπωση του MIT-X11").

Από την προηγούμενη σημαντική έκδοση 1.1.0, έχει προστεθεί ένας τεράστιος αριθμός λειτουργιών. Βασικές αλλαγές:

  • Γραφικό στοιχείο ανάγνωσης για εισαγωγή συμβολοσειρών ελεύθερης μορφής που συνδέονται με συμβολοσειρές ανάγνωσης

  • Ένα γραφικό στοιχείο υποδιεργασίας για τη δημιουργία μιας υποδιεργασίας, τη διαχείρισή της και τη ροή των αποτελεσμάτων της.

  • Το Linux 5.3+ χρησιμοποιεί τον νέο μηχανισμό clone3+pidfd για τη διαχείριση διαδικασιών χωρίς συνθήκη κούρσας.

  • Γραφικό στοιχείο Fdplane για ροή ενός αυθαίρετου περιγραφέα αρχείου στο επίπεδο (στο οποίο είναι χτισμένη η υποδιεργασία). Και οι δύο επιτρέπουν στις επανακλήσεις να διαμορφώνουν στυλ ή να χειρίζονται με άλλο τρόπο κείμενο.

  • Περιστροφή επιπέδων και οπτικά εφέ. Φόρτωση οπτικοποιήσεων από τη μνήμη. Τυχαία έκρηξη RGBA/BGRx.

  • Το μενού μπορεί να τοποθετηθεί σε ένα (ή και στα δύο) από το επάνω και το κάτω επίπεδο.

  • Μεγάλες βελτιώσεις στην Direct mode.

  • Πολυγεμίσματα, διαβαθμίσεις και κείμενο υψηλής αντίθεσης.

  • Προστέθηκε το Tetris ως παράδειγμα.

  • Τα περιτυλίγματα C++ από τον Marek Habersack έχουν πλέον τη δυνατότητα να βάζουν εξαιρέσεις (αν χρειάζεται).

  • Οι Python και Rust FFI ενημερώθηκαν και δοκιμάστηκαν.

Επίδειξη βίντεο με σχόλια συγγραφέα
Το βιβλίο «Hacking The Planet! με Notcourses» από τον συγγραφέα

Πηγή: linux.org.ru

Προσθέστε ένα σχόλιο