לאחר שלושה חודשי פיתוח, שוחרר Niri 26.04, שרת קומפוזיציה. הוא מיישם שיטת פריסת ריצוף בדומה להרחבת GNOME PaperWM, ומקבץ חלונות לסרט גלילה אינסופי. פתיחת חלון חדש מרחיבה את הסרט, בעוד שחלונות שנוספו בעבר נשארים ללא שינוי. הפרויקט מסתמך על פרוטוקול Wayland אך מאפשר הפעלת יישומי X11 באמצעות שרת Xwayland DDX. קוד הפרויקט כתוב ב-Rust ומורשה תחת רישיון GPLv3. חבילות זמינות עבור Fedora, NixOS ו-Arch. Linux ו-FreeBSD.
ההבדל המהותי בין Niri ל-PaperWM הוא שלכל צג יש סרט חלונות משלו שאינו מצטלב עם סרטים במסכים אחרים (ב-PaperWM, לא ניתן ליישם עבודה נפרדת עם צגים עקב קשירה לקואורדינטות חלונות גלובליות ב-GNOME Shell). נירי תומכת ב-HiDPI ויכולה לרוץ על מערכות עם מספר GPUs (לדוגמה, מערכות היברידיות עם כרטיס גרפי דיסקרטי ו-GPU משולב). ישנו ממשק מובנה לצילום מסך והקלטת שידורי מסך, שהתכונה שלו היא היכולת להוציא חלונות בודדים עם מידע סודי מהקלטה.
שולחנות עבודה וירטואליים בנירי נוצרים באופן דינמי, ובדומה ל-GNOME, מסודרים אנכית (סרט החלון מסתובב אופקית, בעוד שסרט שולחן העבודה מסתובב אנכית). כל צג יכול להציג קבוצה עצמאית של... שולחנות עבודה וירטואלייםניתן להשתמש במחוות משטח מגע כדי לעבור בין שולחנות עבודה לחלונות. בעת ניתוק צג, פריסת שולחן העבודה הווירטואלי נזכרת ומועברת לצג הנותר, וכאשר הצג מחזיר, הוא משוחזר למצבו המקורי. הגדרת התצורה מתבצעת באמצעות קובץ תצורה, המאפשר לך לשנות פרמטרים כגון רוחב מסגרת, כניסות, מצבי פלט וגדלי חלונות. שינויים שבוצעו בקובץ התצורה מוחלים אוטומטית מבלי להפעיל מחדש את המסך המורכב. שרת.
בגרסה החדשה:
- נוספה היכולת לטשטש את הרקע של חלונות שקופים. יישומים ורכיבי סביבת משתמש יכולים לשלוט בשקיפות באמצעות פרוטוקול Wayland ext-background-effect, ועבור תוכניות שאינן תומכות בפרוטוקול זה, ניתן להגדיר שקיפות באמצעות קשירה בקובץ התצורה. תמיכה מובנית בטשטוש רקע מיושמת בקליפות Dank Material Shell ו-Noctalia, במפעיל Vicinae, באמולטורי הטרמינלים foot, kitty ו-Ghostty, ובערכות הכלים Quickshell ו-winit. שני מצבי טשטוש רקע זמינים: "xray" (הטשטוש מחושב פעם אחת ולאחר מכן מוכנסת תמונה סטטית מוגדרת מראש) ו-"normal" (הטשטוש מתבצע תוך כדי תנועה).

- האפשרות "optional=true" נוספה להוראת קובץ התצורה "include", המשמשת להחלפת תוכן של קבצים אחרים. אפשרות זו מאפשרת לך לציין רכיבי תצורה אופציונליים. אם הקובץ הכלול חסר, תוצג אזהרה במקום שגיאה אם האפשרות "optional=true" קיימת. בתוך התצורה נוספה היכולת להשתמש בנתיב "~/" המשויך לתיקיית הבית.
- כדי לפשט את הניווט בין חלונות מרובים, בדומה לבלנדר, הסמן קופץ כעת אוטומטית מקצה אחד של המסך לקצה השני בעת גלילה אופקית עם העכבר על פני סביבת העבודה.
- בעת הקלטת שידורי מסך, מטא-נתונים של הסמן נשלחים כעת ל-PipeWire בנפרד מזרם הווידאו, מה שמאפשר, למשל, ל-OBS לצייר את הסמן באופן עצמאי. פקודות נוספו ל-IPC לניטור הקלטת מסך, עצירת הקלטת המסך וקבלת אירועי התחלה/עצירה של הקלטה (להצגת מחוון בפאנל).
- אנימציה משופרת של גלילה ופתיחה/צמצום חלונות.
- נוספה היכולת לבטל פעולת גרירה ושחרור על ידי לחיצה על מקש Escape.
- תמיכה משופרת בטאבלטים ובכדורי עקיבה.
- יכולות יצירת פרופילים של GPU הורחבו באמצעות חבילת Tracy. נוספה היכולת לעקוב אחר ביצועי רינדור וטשטוש. יושמה תמיכה במערכות גרפיקה היברידיות (GPU משולב + כרטיס מסך נפרד).
- אופטימיזציות לרינדור יושמו. בניית רשימת האובייקטים המוצגים על המסך הואצה פי 2-3 במערכות מודרניות ועד פי 8 במערכות ישנות יותר.
מקור: OpenNet.ru

