Κυκλοφορία Wayland-Protocols 1.48

Το πακέτο 1.48 του wayland-protocols έχει κυκλοφορήσει, το οποίο περιέχει ένα σύνολο πρωτοκόλλων και επεκτάσεων που συμπληρώνουν το βασικό πρωτόκολλο Wayland και παρέχουν τις δυνατότητες που απαιτούνται για τη δημιουργία σύνθετων διακομιστών και περιβαλλόντων χρήστη.

Στη νέα έκδοση:

  • Το πρωτόκολλο xdg-session-management έχει προστεθεί στην κατηγορία staging, παρέχοντας τη δυνατότητα επαναφοράς της κατάστασης και της θέσης των παραθύρων από μια διακεκομμένη συνεδρία σε περιβάλλοντα που βασίζονται στο Wayland, για παράδειγμα μετά από διακοπή λειτουργίας ενός σύνθετου διακομιστή ή εφαρμογής.
  • Το πρωτόκολλο εισαγωγής κειμένου έχει επεκταθεί, επιτρέποντας σε σύνθετους διακομιστές να εφαρμόζουν μεθόδους εισαγωγής και να στέλνουν κείμενο σε εφαρμογές. Για παράδειγμα, έχει προστεθεί η σημαία no_emoji για εισαγωγή χωρίς emoji, έχει υλοποιηθεί υποστήριξη για πρόσθετες ενέργειες πέρα ​​από την εισαγωγή κειμένου, έχει προστεθεί η σημαία γλώσσας για τη μετάδοση πληροφοριών γλώσσας, έχουν προστεθεί αιτήματα για εμφάνιση και απόκρυψη του πίνακα εισαγωγής και έχει προστεθεί η σημαία preedit_hint για την προσαρμογή του στυλ προεπεξεργασίας.
  • Προστέθηκε πειραματικό πρωτόκολλο xx-cutouts για τη λήψη πληροφοριών σχετικά με τις εγκοπές στην οθόνη (για παράδειγμα, η περιοχή κάτω από την μπροστινή κάμερα στην οθόνη του smartphone).
  • Έχει προστεθεί ένα πειραματικό πρωτόκολλο xx-zones για τη δημιουργία και την προσθήκη παραθύρων ανώτατου επιπέδου σε "ζώνες"—περιβάλλοντα με τον δικό τους χώρο συντεταγμένων. Αυτό το πρωτόκολλο επιτρέπει μια λογική διάταξη παραθύρων, με κάθε παράθυρο τοποθετημένο σε σχέση με κάθε άλλο παράθυρο.
  • Προστέθηκε ένα πειραματικό πρωτόκολλο, το xx-keyboard-filter, για να επιτρέπεται στον πελάτη να αναχαιτίζει επιλεγμένα συμβάντα πληκτρολογίου, να τροποποιεί συμβάντα εισόδου ή να εμποδίζει τη διέλευση ορισμένων συμβάντων στην εστιασμένη επιφάνεια Wayland.

Όλα τα πρωτόκολλα περνούν διαδοχικά από τις φάσεις ανάπτυξης, δοκιμής και σταθεροποίησης. Μετά την ολοκλήρωση της φάσης ανάπτυξης (η κατηγορία "ασταθής"), ένα πρωτόκολλο τοποθετείται στον κλάδο "staging" και περιλαμβάνεται επίσημα στη σουίτα wayland-protocols. Μετά την ολοκλήρωση των δοκιμών, μετακινείται στην κατηγορία stable. Τα πρωτόκολλα στην κατηγορία "staging" μπορούν στη συνέχεια να χρησιμοποιηθούν σε σύνθετα πρωτόκολλα. διακομιστές και υπολογιστές-πελάτες που απαιτούν σχετική λειτουργικότητα. Σε αντίθεση με την κατηγορία "ασταθής", η "σταδιοποίηση" απαγορεύει τις αλλαγές που διαταράσσουν τη συμβατότητα. Ωστόσο, εάν εντοπιστούν προβλήματα ή ελλείψεις κατά τη διάρκεια των δοκιμών, δεν μπορεί να αποκλειστεί η αντικατάσταση με μια νέα, σημαντική έκδοση πρωτοκόλλου ή άλλη επέκταση Wayland.

Για να επιταχυνθεί η παράδοση πρωτοκόλλων στους προγραμματιστές και να ενθαρρυνθεί η έγκαιρη εφαρμογή των πρωτοκόλλων σε υπάρχοντα έργα, ξεκινώντας από την προηγούμενη έκδοση, προστέθηκε μια "πειραματική" φάση, η οποία επιτρέπει αλλαγές που διακόπτουν τη συμβατότητα και την προσθήκη "ακατέργαστων" πρωτοκόλλων που μπορούν σταδιακά να φτάσουν στο σωστό επίπεδο. Ενώ ένα πρωτόκολλο χρειάζεται να σχηματίσει μια ομάδα υποστήριξης και να λάβει έναν ορισμένο αριθμό επιβεβαιώσεων (ACK) από τους αναθεωρητές για να εισέλθει στη φάση της σταδιοποίησης, χρειάζεται μόνο να μην λάβει αντιρρήσεις (NACK) κατά τη διάρκεια της περιόδου ελέγχου των δύο εβδομάδων για να εισέλθει στην πειραματική φάση.

Η σουίτα wayland-protocols περιλαμβάνει επί του παρόντος τα ακόλουθα σταθερά πρωτόκολλα, τα οποία είναι συμβατά προς τα πίσω:

  • viewporter" - επιτρέπει στον πελάτη να εκτελεί ενέργειες σχετικά με την κλιμάκωση και την περικοπή των άκρων της επιφάνειας στο πλάι υπηρέτης.
  • "χρόνος παρουσίασης" - παρέχει προβολή βίντεο.
  • Το "xdg-shell" είναι μια διεπαφή για τη δημιουργία και την αλληλεπίδραση με επιφάνειες ως παράθυρα, που σας επιτρέπει να τις μετακινήσετε στην οθόνη, να συμπτύξετε, να επεκτείνετε, να αλλάξετε το μέγεθος κ.λπ.
  • "linux-dmabuf" - παρέχει δυνατότητες για τη δημιουργία wl_buffers με βάση το DMA-BUF.
  • "tablet" - οργάνωση εισόδου από ταμπλέτες γραφικών.

Πρωτόκολλα που δοκιμάστηκαν στον κλάδο "staging":

  • drm-lease - παρέχει τους απαραίτητους πόρους για τη δημιουργία στερεοφωνικής εικόνας με διαφορετικά buffer για το αριστερό και το δεξί μάτι κατά την έξοδο σε ακουστικά εικονικής πραγματικότητας.
  • "ext-session-lock" - ορίζει ένα μέσο κλειδώματος μιας περιόδου λειτουργίας, για παράδειγμα, ενώ εκτελείται η προφύλαξη οθόνης ή εμφανίζεται το παράθυρο διαλόγου ελέγχου ταυτότητας.
  • "Single-pixel-buffer" - σας επιτρέπει να δημιουργείτε buffer ενός pixel που περιλαμβάνουν τέσσερις τιμές RGBA 32 bit.
  • "xdg-activation" - σας επιτρέπει να μεταφέρετε την εστίαση μεταξύ διαφορετικών επιφανειών πρώτου επιπέδου (για παράδειγμα, χρησιμοποιώντας την ενεργοποίηση xdg, μια εφαρμογή μπορεί να αλλάξει την εστίαση σε άλλη).
  • τύπος περιεχομένου - επιτρέπει στους πελάτες να περάσουν σύνθετο υπηρέτης Πληροφορίες σχετικά με το περιεχόμενο που εμφανίζεται, οι οποίες μπορούν να χρησιμοποιηθούν για τη βελτιστοποίηση της συμπεριφοράς που λαμβάνει υπόψη το περιεχόμενο, όπως ο ορισμός συγκεκριμένων ιδιοτήτων DRM, όπως ο "τύπος περιεχομένου". Δηλώνεται υποστήριξη για τους ακόλουθους τύπους περιεχομένου: καμία (δεν υπάρχουν πληροφορίες τύπου δεδομένων), φωτογραφία (ψηφιακή φωτογραφία που απαιτεί ελάχιστη επεξεργασία), βίντεο (βίντεο ή κινούμενη εικόνα, που απαιτεί πιο ακριβή συγχρονισμό για την αποφυγή τραυλισμού) και παιχνίδι (εκκίνηση παιχνιδιού, που απαιτεί έξοδο με ελάχιστη καθυστέρηση).
  • ext-idle-notify - Επιτρέπει στους σύνθετους διακομιστές να στέλνουν ειδοποιήσεις σε πελάτες σχετικά με την αδράνεια χρήστη, οι οποίες μπορούν να χρησιμοποιηθούν για την ενεργοποίηση πρόσθετων λειτουργιών εξοικονόμησης ενέργειας μετά από ορισμένο χρόνο αδράνειας.
  • Tearing-Control - σας επιτρέπει να απενεργοποιήσετε τον κατακόρυφο συγχρονισμό (VSync) με έναν κατακόρυφο παλμό απόσβεσης σε εφαρμογές πλήρους οθόνης, που χρησιμοποιείται για την προστασία από το σκίσιμο στην έξοδο. Σε εφαρμογές πολυμέσων, τα τεχνουργήματα που οφείλονται στο σχίσιμο είναι ανεπιθύμητο αποτέλεσμα, αλλά στα προγράμματα παιχνιδιών, τα τεχνουργήματα μπορούν να γίνουν ανεκτά εάν η αντιμετώπισή τους προκαλεί πρόσθετες καθυστερήσεις.
  • ext-foreign-toplevel-list - Ανακτά πληροφορίες σχετικά με επιφάνειες τοποθετημένες στο επάνω επίπεδο, οι οποίες σας επιτρέπουν να οργανώνετε τα παράθυρα για να προσαρμόζονται πάνω σε άλλο περιεχόμενο, για παράδειγμα, για να προσαρτήσετε τα δικά σας πάνελ και διακόπτες παραθύρων.
  • Security-context - σας επιτρέπει να αναγνωρίζετε πελάτες χρησιμοποιώντας απομόνωση sandbox. Ένας πελάτης μπορεί να καταχωρήσει μια νέα σύνδεση σε έναν σύνθετο διακομιστή που βασίζεται στο Wayland και να επισυνάψει ένα πλαίσιο ασφαλείας σε αυτόν, μετά από το οποίο ο διαχειριστής σύνθετου περιεχομένου θα περιορίσει τις διαθέσιμες δυνατότητες στην εγκατεστημένη σύνδεση με βάση το καθορισμένο πλαίσιο ασφαλείας.
  • Το σχήμα του δρομέα είναι ένας εναλλακτικός τρόπος για να προσαρμόσετε την εμφάνιση του δρομέα, με βάση τη μετάδοση μιας σειράς εικόνων δρομέα αντί να κολλήσετε σε μια επιφάνεια (wl_surface).
  • "ext-transient-seat" - σχεδιασμένο να δημιουργεί προσωρινές ανεξάρτητες συνεδρίες (καθίσματα) σχεδιασμένες για χρήση με εικονικές συσκευές εισόδου. Για παράδειγμα, κατά την υλοποίηση της δυνατότητας σύνδεσης σε απομακρυσμένη επιφάνεια εργασίας, το πρωτόκολλο σάς επιτρέπει να δημιουργήσετε μια ξεχωριστή περίοδο λειτουργίας για κάθε χρήστη με εικονικό πληκτρολόγιο και ποντίκι.
  • "xdg-toplevel-drag" - επεκτείνει τον μηχανισμό "drag & drop" με τη δυνατότητα σύνδεσης παραθύρων ανώτατου επιπέδου σε μια λειτουργία μεταφοράς, η οποία μπορεί να χρησιμοποιηθεί, για παράδειγμα, για την οργάνωση της μεταφοράς γραμμών εργαλείων ή καρτελών του προγράμματος περιήγησης με το ποντίκι. Το νέο πρωτόκολλο σάς επιτρέπει να δημιουργήσετε αποσπώμενα μέρη ενός παραθύρου που, όταν σύρονται από αυτό το παράθυρο, γίνονται νέα παράθυρα και μπορούν να μετακινηθούν πάνω από το υπάρχον παράθυρο πριν τα προσαρτήσετε ξανά.
  • "xdg-dialog" - σας επιτρέπει να εκχωρήσετε χαρακτηριστικά ειδικά για το διάλογο σε επιφάνειες ανώτατου επιπέδου, για παράδειγμα, μπορείτε να δημιουργήσετε τροπικούς διαλόγους που εμποδίζουν την αλληλεπίδραση του χρήστη με την υπόλοιπη διεπαφή.
  • "linux-drm-syncobj" - παρέχει εργαλεία για ρητό συγχρονισμό buffer χρησιμοποιώντας αντικείμενα συγχρονισμού DRM (Direct Rendering Manager). Υποτίθεται ότι στο πλαίσιο του συγχρονισμού κατά την απόδοση σε buffer, το προτεινόμενο πρωτόκολλο θα βελτιώσει την εργασία με προγράμματα οδήγησης που βασίζονται στα API γραφικών Vulkan και OpenGL (η υλοποίηση βασίζεται σε χειριστές στα προγράμματα οδήγησης). Το νέο πρωτόκολλο καθιστά δυνατή τη διασφάλιση της ολοκλήρωσης μιας λειτουργίας σχεδίασης σε ένα buffer πριν ο διαχειριστής σύνθεσης εμφανίσει αυτό το buffer.
  • alpha-modifier, ο οποίος επιτρέπει στους πελάτες να αλλάξουν το επίπεδο διαφάνειας της επιφάνειας και να μεταφέρουν λειτουργίες για να εξασφαλίσουν διαφάνεια στο πλάι του σύνθετου διακομιστή, ο οποίος με τη σειρά του μπορεί να ανακατευθύνει αυτές τις λειτουργίες στο KMS.
  • xdg-toplevel-icon - συνδέστε το εικονίδιο στο παράθυρο του ανώτερου επιπέδου.
  • ext-image-capture-source και ext-image-copy-capture - οργάνωση της λήψης περιεχομένου που εμφανίζεται στην οθόνη.
  • xdg-system-bell - σας επιτρέπει να εξάγετε ένα σήμα συστήματος, το οποίο μπορεί να χρησιμοποιηθεί, για παράδειγμα, ως προειδοποίηση σε έναν εξομοιωτή τερματικού. Η μορφή της εξόδου του σήματος καθορίζεται κατά την κρίση του σύνθετου διαχειριστή, μπορεί να είναι όχι μόνο ένας ήχος, αλλά και μια οπτική απόκριση.
  • fifo - υλοποιεί έναν μηχανισμό FIFO (first in, first out) για την επεξεργασία της ουράς ενημέρωσης περιεχομένου της εμφανιζόμενης επιφάνειας. Από την πρακτική πλευρά, το πρωτόκολλο επιτρέπει στην έξοδο να χρησιμοποιεί την αναμονή για την ολοκλήρωση της κάθετης σάρωσης (vblank) αντί να χρησιμοποιεί κλήσεις επανάκλησης κάθε φορά που είναι έτοιμο να εμφανίσει ένα νέο πλαίσιο, το οποίο λύνει το πρόβλημα του υψηλού φορτίου GPU κατά τη χρήση του VSync.
  • δέσμευση - σας επιτρέπει να δεσμεύσετε ένα χρονικό όριο στο περιεχόμενο επιφάνειας (ο σύνθετος διακομιστής θα πρέπει να αντικατοπτρίζει την αλλαγή περιεχομένου, αν είναι δυνατόν μετά την καθορισμένη ώρα, αλλά όχι νωρίτερα).
  • ext-data-control - Επιτρέπει σε προνομιούχους πελάτες να ελέγχουν την επεξεργασία δεδομένων, για παράδειγμα να εφαρμόζουν διαχειριστές προχείρου.
  • ext-workspace — υλοποιεί την έννοια εικονικές επιφάνειες εργασίας και προσφέρει συμβάντα με πληροφορίες σχετικά με την κατάσταση των επιφανειών εργασίας, καθώς και τη δυνατότητα ενεργοποίησης και απενεργοποίησης επιφανειών εργασίας. Το πρωτόκολλο μπορεί να χρησιμοποιηθεί για τη δημιουργία πινάκων ελέγχου και δεικτών που εμφανίζουν μια λίστα με τις διαθέσιμες εικονικές επιφάνειες εργασίας και επιτρέπουν την εναλλαγή μεταξύ τους.
  • διαχείριση χρωμάτων — παρέχει δυνατότητες διαχείρισης χρωμάτων και υποστήριξη για υψηλό δυναμικό εύρος (HDR). Αυτή η επέκταση επιτρέπει στις εφαρμογές-πελάτες να λαμβάνουν πληροφορίες σχετικά με τις ιδιότητες των συσκευών εξόδου που σχετίζονται με το χρώμα και να μεταβιβάζουν δεδομένα σχετικά με τις ιδιότητες χρώματος του δικού τους περιεχομένου στον σύνθετο διακομιστή. Στη σύνθετη λειτουργία, υπηρέτης Αυτές οι πληροφορίες μπορούν να χρησιμοποιηθούν για αυτόματη διαχείριση χρωμάτων κατά την προβολή περιεχομένου σε διάφορες συσκευές εξόδου, για παράδειγμα, για τη μετατροπή περιεχομένου σε μια παρουσίαση κατάλληλη για προβολή σε οθόνες HDR. Τα προφίλ ICC χρησιμοποιούνται για την περιγραφή χρωματικών χώρων.
  • xdg-toplevel-tag — Επιτρέπει στους υπολογιστές-πελάτες του Wayland να επισυνάπτουν ετικέτες σε επιφάνειες ανώτατου επιπέδου που μπορεί να χρησιμοποιήσει ο διακομιστής σύνθεσης για την αναγνώριση παραθύρων μετά την επανεκκίνηση της εφαρμογής (για παράδειγμα, μια εφαρμογή μπορεί να ορίσει ετικέτες "κύριο παράθυρο" και "ρυθμίσεις" για το κύριο παράθυρο και το παράθυρο ρυθμίσεων). Αυτή η αναγνώριση είναι χρήσιμη για την επαναφορά της θέσης, του μεγέθους και των ιδιοτήτων των παραθύρων μετά από μια επανεκκίνηση, καθώς και για τον ορισμό ειδικών κανόνων για μεμονωμένους τύπους παραθύρων.
  • αναπαράσταση-χρώματος — ορίζει την αναπαράσταση χρώματος της επιφάνειας Wayland. Οι εφαρμογές-πελάτες Wayland μπορούν να μεταβιβάσουν μεταδεδομένα που απαιτούνται για τον ορισμό της διαφάνειας, του χρωματικού μοντέλου, της υποδειγματοληψίας και του εύρους κβαντοποίησης, και χρησιμοποιούνται κατά τη μετατροπή ενός buffer με δεδομένα που αντιστοιχούν στο χρωματικό μοντέλο YCbCr σε αναπαράσταση RGB.
  • ext-background-effect - εφαρμόζει εφέ σε ημιδιαφανή μέρη μιας επιφάνειας Wayland, όπως θάμπωμα φόντου.
  • pointer-warp - Επιτρέπει σε μια εφαρμογή να μετακινήσει άμεσα τον δείκτη σε μια καθορισμένη θέση.

Πρωτόκολλα που αναπτύσσονται στον πειραματικό κλάδο:

  • xx-session-management - επαναφέρει την κατάσταση των παραθύρων για διακοπτόμενες συνεδρίες (για παράδειγμα, μετά από σφάλμα σύνθετου διαχειριστή).
  • xx-input-method — επιτρέπει στις εφαρμογές να υλοποιούν μεθόδους εισαγωγής κειμένου για σύνθετες διακομιστές και να δημιουργήσετε το εισαγόμενο κείμενο, το οποίο μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τη δημιουργία εικονικών πληκτρολογίων και επιπέδων IME (Επεξεργαστής Μεθόδου Εισαγωγής) για την επεξεργασία της εισόδου.
  • xx-text-input — επιτρέπει στους σύνθετους διακομιστές να εφαρμόζουν μεθόδους εισαγωγής και να στέλνουν κείμενο σε εφαρμογές. Το πρωτόκολλο τυποποιεί την αλληλεπίδραση μεταξύ σύνθετων υπηρέτης και εφαρμογές, και σας επιτρέπει να διαχειρίζεστε δυνατότητες όπως η μετάδοση κειμένου εισόδου, ο χειρισμός συμβάντων αλλαγής εστίασης εισόδου και η λήψη υπόψη των ιδιαιτεροτήτων των πεδίων εισόδου (γλώσσα, επιλογή κειμένου, τύπος περιεχομένου).

Πρωτόκολλα που αναπτύσσονται στον «ασταθή» κλάδο:

  • "fullscreen-shell" - έλεγχος της εργασίας σε λειτουργία πλήρους οθόνης.
  • "μέθοδος εισαγωγής" - επεξεργασία μεθόδων εισαγωγής.
  • "idle-inhibit" - αποκλεισμός της εκκίνησης της προφύλαξης οθόνης (προστασία οθόνης).
  • "input-timestamps" - χρονικές σημάνσεις για συμβάντα εισαγωγής.
  • "keyboard-shortcuts-inhibit" - ελέγχει την προσάρτηση των συντομεύσεων και των πλήκτρων πρόσβασης πληκτρολογίου.
  • Το "linux-explicit-synchronization" αφορά συγκεκριμένα Linux μηχανισμός συγχρονισμού των buffer σε σχέση με την επιφάνεια.
  • "χειρονομίες δείκτη" - έλεγχος από οθόνες αφής.
  • "Περιορισμοί δείκτη" - περιορισμοί δείκτη (μπλοκάρισμα).
  • "κύρια επιλογή" - κατ' αναλογία με το X11, διασφαλίζει τη λειτουργία του κύριου προχείρου (κύρια επιλογή), πληροφορίες από το οποίο εισάγονται συνήθως με το μεσαίο κουμπί του ποντικιού.
  • "Σχετικά συμβάντα δείκτη" - σχετικά συμβάντα δείκτη.
  • "εισαγωγή κειμένου" - οργάνωση της εισαγωγής κειμένου.
  • Το "xdg-foreign" είναι μια διεπαφή για την αλληλεπίδραση με τις επιφάνειες του "γειτονικού" πελάτη.
  • "xdg-decoration" - απόδοση διακοσμήσεων παραθύρων στην πλευρά του διακομιστή.
  • "xdg-output" - πρόσθετες πληροφορίες σχετικά με την έξοδο βίντεο (χρησιμοποιείται για κλασματική κλίμακα).
  • "xwayland-keyboard-grab" - καταγραφή εισόδου σε εφαρμογές XWayland.

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster