Μετά από σχεδόν ένα χρόνο ανάπτυξης, κυκλοφόρησε το Sway 1.12, ένας διαχειριστής σύνθεσης που δημιουργήθηκε χρησιμοποιώντας το πρωτόκολλο Wayland και είναι συμβατός με τον διαχειριστή παραθύρων πλακιδίων i3 και τον πίνακα i3bar. Ο κώδικας του έργου είναι γραμμένος σε C και διανέμεται με την άδεια MIT. Το έργο στοχεύει στην Linux και το FreeBSD.
Το Sway χρησιμοποιεί λογική τοποθέτηση παραθύρων (ο διαχειριστής παραθύρων επιλέγει δυναμικά τη θέση και το μέγεθος του παραθύρου, λαμβάνοντας υπόψη άλλα ανοιχτά παράθυρα και αποτρέποντας την επικάλυψη παραθύρων) αντί για την παραδοσιακή χωρική τοποθέτηση (ο χρήστης επιλέγει μια αυθαίρετη θέση και μέγεθος παραθύρου, με πιθανή επικάλυψη). Τα παράθυρα είναι διατεταγμένα σε ένα πλέγμα που αξιοποιεί βέλτιστα τον χώρο της οθόνης και επιτρέπει τον γρήγορο χειρισμό των παραθύρων χρησιμοποιώντας μόνο το πληκτρολόγιο. Η συμβατότητα με το i3 παρέχεται σε επίπεδο εντολών, αρχείου διαμόρφωσης και IPC, επιτρέποντας στο Sway να χρησιμοποιηθεί ως απρόσκοπτη αντικατάσταση του i3, χρησιμοποιώντας το Wayland αντί για το X11.
Για τη δημιουργία ενός πλήρους περιβάλλοντος χρήστη, προσφέρονται τα ακόλουθα συνοδευτικά στοιχεία: swayidle (διαδικασία παρασκηνίου με την εφαρμογή κατάστασης αναμονής), swaylock (προστασία οθόνης), mako (διαχείριση ειδοποιήσεων), grim (δημιουργία στιγμιότυπων οθόνης), slurp (επιλογή μια περιοχή στην οθόνη), συσκευή εγγραφής wf (λήψη βίντεο), γραμμή διαδρομής (γραμμή εφαρμογών), virtboard (πληκτρολόγιο οθόνης), wl-clipboard (εργασία με το πρόχειρο), wallutils (διαχείριση ταπετσαρίας επιφάνειας εργασίας).
Το Sway αναπτύσσεται ως ένα αρθρωτό έργο που βασίζεται στη βιβλιοθήκη wlroots, η οποία περιέχει όλα τα βασικά πρωτόγονα για την οργάνωση του composite manager. Το Wlroots περιλαμβάνει backends για
Αφαίρεση πρόσβασης στην οθόνη, συσκευές εισόδου, απόδοση χωρίς άμεση πρόσβαση στην OpenGL, αλληλεπίδραση με KMS/DRM, libinput, Wayland και X11 (παρέχεται ένα επίπεδο για την εκτέλεση εφαρμογών X11 που βασίζονται στο Xwayland). Εκτός από το Sway, η βιβλιοθήκη wlroots χρησιμοποιείται ενεργά και σε άλλα έργα. Εκτός από την υποστήριξη για C/C++, παρέχονται συνδέσεις για Scheme, Common Lisp, Go, Haskell, OCaml, Zig, Python και Rust.
Στη νέα έκδοση:
- Προστέθηκε η δυνατότητα καταγραφής μεμονωμένων παραθύρων.
- Υλοποιήθηκε υποστήριξη για έξοδο υψηλού δυναμικού εύρους HDR10 κατά τη χρήση απόδοσης που βασίζεται σε Vulkan API.
- Προστέθηκε υποστήριξη για πρωτόκολλα Wayland:
- color-management-v1 για διαχείριση χρωμάτων και υποστήριξη για εκτεταμένο δυναμικό εύρος (HDR, Υψηλό Δυναμικό Εύρος).
- color-representation-v1 για τον ορισμό της χρωματικής αναπαράστασης μιας επιφάνειας Wayland.
- xdg-toplevel-tag-v1 για τους πελάτες Wayland για την προσάρτηση ετικετών σε επιφάνειες ανώτατου επιπέδου που μπορεί να χρησιμοποιήσει ο διακομιστής σύνθεσης για την επαναφορά της θέσης, του μεγέθους και των ιδιοτήτων των παραθύρων μετά από επανεκκινήσεις και για τον ορισμό ειδικών κανόνων για ορισμένα είδη παραθύρων.
- ext-workspace-v1 για τη δημιουργία πινάκων ή ενδείξεων που παραθέτουν τις διαθέσιμες εικονικές επιφάνειες εργασίας και επιτρέπουν την εναλλαγή μεταξύ τους.
- wl_fixes για την αντιμετώπιση προβλημάτων με άλλα υποκείμενα API πρωτοκόλλου που δεν μπορούν να αντιμετωπιστούν από τις εγγενείς δυνατότητες αυτών των API.
- Έχει υλοποιηθεί η επιλογή "--device-primaries", η οποία, όταν καθοριστεί, προκαλεί τη δημιουργία του χρωματικού προφίλ με βάση τα δεδομένα που ανακτώνται από την οθόνη μέσω EDID.
- Προστέθηκε υποστήριξη για την ανίχνευση της παρουσίας ενός πληκτρολογίου χρησιμοποιώντας τη σημαία LIBINPUT_SWITCH_KEYPAD_SLIDE στο libinput.
- Το αρχείο διαμόρφωσης περιλαμβάνει συνδέσεις για ειδικά πλήκτρα πολυμέσων (παύση, συνέχιση αναπαραγωγής, επόμενο κομμάτι, κ.λπ.) για τον έλεγχο της αναπαραγωγής περιεχομένου πολυμέσων χρησιμοποιώντας το βοηθητικό πρόγραμμα playerctl.
- Το προφίλ χρώματος εξόδου sRGB έχει αλλάξει ώστε να χρησιμοποιεί τη λειτουργία μεταφοράς τμηματικά sRGB αντί για γάμμα 2.2 (για γάμμα 2.2, θα πρέπει να χρησιμοποιείται ξεχωριστό προφίλ γάμμα22, το οποίο είναι το προεπιλεγμένο).
- Η εκτέλεση σε συστήματα με μη υποστηριζόμενες GPU (για παράδειγμα, κατά τη χρήση ιδιόκτητων προγραμμάτων οδήγησης NVIDIA) έχει πλέον ως αποτέλεσμα μια προειδοποίηση αντί για σφάλμα. Αυτή η προειδοποίηση μπορεί να απενεργοποιηθεί χρησιμοποιώντας τη σημαία "--unsupported-gpu" ή τη μεταβλητή περιβάλλοντος SWAY_UNSUPPORTED_GPU.
- Προστέθηκε επίσημη υποστήριξη για τη χρήση διαχειριστών οθόνης για την εκκίνηση του Sway.
- Χρησιμοποιούνται νέες δυνατότητες της βιβλιοθήκης wlroots 0.20. Οι αλλαγές στη νέα έκδοση του wlroots περιλαμβάνουν: Υποστήριξη για τον ορισμό της χρωματικής αναπαράστασης μιας επιφάνειας Wayland, διαχείριση χρωμάτων και υποστήριξη HDR χρησιμοποιώντας τα πρωτόκολλα color-representation-v1 και color-management-v1. Υποστήριξη για το πρωτόκολλο Wayland cursor-shape-v1 για την προσαρμογή της εμφάνισης του δρομέα.
ext-workspace-v1 για τη χρήση της έννοιας της εικονικής επιφάνειας εργασίας και xdg-toplevel-tag-v1 για την αναγνώριση παραθύρων/επιφανειών μέσω σύνδεσης ετικετών.

Πηγή: opennet.ru
