Efter 7 mÄnaders utveckling har utgÄvan av den kompositiv manager Sway 1.11 publicerats, byggd med hjÀlp av protokollet Wayland och kompatibel med det mosaikbaserade fönsterhanteringssystemet i3 och panelen i3bar. Projektets kod Àr skriven i C och distribueras under MIT-licensen. Projektet Àr inriktat pÄ anvÀndning i Linux och FreeBSD.
Sway möjliggör att placera fönster pÄ skÀrmen logiskt snarare Àn rumsligt. Fönstren arrangeras i ett rutnÀt som optimalt utnyttjar bildskÀrmsutrymmet och gör det möjligt att snabbt manipulera fönster med enbart tangentbordet. Kompatibiliteten med i3 sÀkerstÀlls pÄ kommandonivÄ, konfigurationsfiler och IPC, vilket gör att Sway kan anvÀndas som en transparent ersÀttning för i3, som anvÀnder Wayland istÀllet för X11.
För att skapa en fullvÀrdig anvÀndarmiljö erbjuds flera komponenter: swayidle (bakgrundsprocess med implementering av vilolÀge), swaylock (skÀrmslÀckare), mako (notificationshanterare), grim (skÀrmdumpar), slurp (markera omrÄde pÄ skÀrmen), wf-recorder (videoinspelning), waybar (programpanel), virtboard (virtuellt tangentbord), wl-clipboard (hantering av urklipp), wallutils (hantering av skrivbordsbakgrunder).
Sway utvecklas som ett modulÀrt projekt byggt ovanpÄ wlroots-biblioteket, som innehÄller alla grundlÀggande primitiva för att organisera arbetet av kompositiv managern. Wlroots inkluderar bakÀndar för att abstrahera Ätkomst till skÀrmen, inmatningsenheter, rendering utan direkt Ätkomst till OpenGL, interaktion med KMS/DRM, libinput, Wayland och X11 (en mellanlager tillhandahÄlls för att köra X11-applikationer baserat pÄ Xwayland). Utöver Sway anvÀnds wlroots-biblioteket aktivt ocksÄ i andra projekt. Förutom stöd för C/C++ sprÄk tillhandahÄlls Àven bindningar för sprÄk som Scheme, Common Lisp, Go, Haskell, OCaml, Zig, Python och Rust.
I den nya utgÄvan:
- Stöd för Wayland-protokollet linux-drm-syncobj-v1 har lagts till för explicit synkronisering av buffertar, vilket gör det möjligt att försÀkra sig om att ritningsoperationen i bufferten Àr avslutad innan kompositiv managern visar denna buffert.
- Stöd för Wayland-protokollet alpha-modifier-v1 har lagts till, vilket gör det möjligt för klienter att Àndra opaciteten hos ytan och utföra operationer för att sÀkerstÀlla transparens pÄ sidan av kompositorn. servern, som i sin tur kan vidarebefordra dessa operationer till den kÀrnnivÄmodul KMS.
- Stöd för Wayland-protokollen ext-image-capture-source och ext-image-copy-capture har lagts till för att fÄnga innehÄll som visas pÄ skÀrmen.
- Stöd för Wayland-protokollet ext-data-control har lagts till, vilket gör att privilegierade klienter kan hantera databehandling, till exempel för att implementera kalkylatorer för urklipp.
- Stöd för metadata för sÀkerhetskontexter, implementerade med Wayland-protokollet security-context-v1, har integrerats i mekanismen för interprocesskommunikation (IPC).
- Utdatajusteringslogiken har förbÀttrats för att möjliggöra mer kvalitativa och snabba ÄterstÀllningar till andra enheter.
- Stöd för pekarhanteringsknappar har lagts till.
- Tangentkombinationer för att kalla pÄ verktygen pactl, brightnessctl och grim har lagts till i standardkonfigurationsfilen.
- Det föreslagna standardmenyn har översatts till att anvÀnda verktyget wmenu-run och Àr inte lÀngre beroende av skriptet dmenu_path.
- Nya funktioner i biblioteken wlroots 0.19 har aktiverats. Bland Àndringarna i wlroots:
- Wayland-protokollen har implementerats:
- color-management-v1 (för stöd av HDR10);
- ext-image-capture-source-v1 och ext-image-copy-capture-v1 (för att fÄnga skÀrminnehÄll);
- ext-data-control-v1 (för att hantera urklippet);
- xdg-toplevel-icon-v1 (för att koppla egna ikoner);
- xdg-dialog-v1 (för att skapa avancerade dialogrutor);
- xdg-system-bell-v1 (för att spela upp signaler);
- ext-idle-notify-v1 (för att övervaka aktivitet);
- presentation-time (för adaptiv justering av uppdateringsfrekvensen pÄ skÀrmen);
- wlr-layer-shell-v1.5 (för att definiera grÀnser för exklusiva omrÄden pÄ skÀrmen).
- Stöd för explicit synkronisering av buffertar har implementerats i renderingbacks och motorer genom anvÀndning av DRM (Direct Rendering Manager) synkroniseringsobjekt.
- Support för Multi-GPU har lagts till för utdataenheter, sÄsom USB-adapter GUD.
- Implementeringen av direkt utdata (direct scanout) i backend stöder nu beskÀrning och skalning av buffertar.
- Operationer med scen-grafen (Scene-graph) har optimerats.
- Wayland-protokollen har implementerats:

KĂ€lla: opennet.ru
