Sway เป็นผู้จัดการหน้าต่างที่เหลือเชื่อและแน่นอนว่าเป็นหนึ่งในผู้จัดการ Wayland Window ที่ได้รับการยอมรับมากที่สุด อย่างไรก็ตามมันถูก จำกัด ให้รวมฟังก์ชั่นที่มีอยู่ใน i3 เท่านั้น ส้อมนี้จะใช้ WLR_Renderer อย่างง่ายและแทนที่ด้วย fx_renderer ของเราซึ่งสามารถแสดงผลด้วยเอฟเฟกต์ GLES2 แฟนซี สิ่งนี้พร้อมกับการเปลี่ยนแปลงเล็กน้อยขยายคุณสมบัติของ Sway เพื่อรวมสิ่งต่อไปนี้:

SwayFX ยังมีอยู่ใน Fedora COPR
เข้าร่วม Discord ของเรา
blur enable|disableblur_xray enable|disable : สิ่งนี้จะตั้งค่าหน้าต่างลอยตัวเป็นเบลอตามพื้นหลังไม่ใช่หน้าต่างด้านล่าง คุณอาจต้องการตั้งค่าให้ disable :)blur_passes <integer value 0 - 10>blur_radius <integer value 0 - 10>blur_noise <float value 0 - 1>blur_brightness <float value 0 - 2>blur_contrast <float value 0 - 2>blur_saturation <float value 0 - 2>corner_radius <val>shadows enable|disableshadows_on_csd enable|disable ( หมายเหตุ : เงาอาจไม่พอดีกับหน้าต่างบางส่วน)shadow_blur_radius <integer value 0 - 99>shadow_color <hex color with alpha> ex, #0000007Fshadow_offset <x offset> <y offset>shadow_inactive_color <hex color with alpha> ex, #0000007Flayer_effects <layer namespace> <effects>swaymsg -r -t get_outputs | jq '.[0].layer_shell_surfaces | .[] | .namespace'layer_effects "waybar" blur enable; shadows enable; corner_radius 6swaymsg "layer_effects 'waybar' 'blur enable; shadows enable; corner_radius 6'"blur <enable|disable>blur_ignore_transparent <enable|disable>shadows <enable|disable>corner_radius <int>default_dim_inactive <float value 0.0 - 1.0>for_window [CRITERIA_HERE] dim_inactive <float value 0.0 - 1.0>dim_inactive_colors.unfocused <hex color> ex, #000000FFdim_inactive_colors.urgent <hex color> ex, #900000FFfor_window [CRITERIA HERE] saturation <set|plus|minus> <val 0.0 <-> 2.0>titlebar_separator enable|disablescratchpad_minimize enable|disable : เราขอแนะนำให้ปิดการตั้งค่านี้เนื่องจากมี kinks มากมายที่จะรีดที่นี่ หากคุณติดตั้ง Nix คุณสามารถสร้างและเรียกใช้ SwayFX ได้อย่างง่ายดาย:
nix build
./result/bin/sway
นอกจากนี้คุณยังสามารถนำเปลือกพัฒนาและทำตามคำแนะนำการสร้างด้านล่างโดยไม่ต้องติดตั้งการอ้างอิงทั้งหมดด้วยตนเอง:
nix develop
ตรวจสอบ Install-deb.md
ติดตั้งการพึ่งพา:
* คอมไพล์เวลา dep
เรียกใช้คำสั่งเหล่านี้:
meson build/
ninja -C build/
sudo ninja -C build/ install
ในระบบที่ไม่มี logind หรือ seatd คุณต้องเก็บไบนารี Sway:
sudo chmod a+s /usr/local/bin/sway
SwayFX จะลดการอนุญาตรูทหลังจากเริ่มต้น
SwayFX ชอบที่จะได้รับคุณสมบัติใหม่ ๆ ที่คุณเต็มใจที่จะสร้าง! โดยทั่วไปเราต้องการที่จะมุ่งเน้นไปที่การปรับปรุงประเภทของตาเพื่อให้ขอบเขตของเราเหมาะสม หากคุณต้องการสร้างบางสิ่งที่คุณคิดว่าอาจไม่ได้อยู่ในจุดสนใจโปรดยกประเด็นและเราสามารถพูดคุยกันได้ว่ามันจะเหมาะสมกับโครงการนี้หรือไม่
นี่คือโครงร่างที่รวดเร็วว่าการเปลี่ยนแปลงส่วนใหญ่ของเราส่วนใหญ่อยู่กับที่เก็บข้อมูลหลัก:
sway/desktop/render.c : ไฟล์ที่จัดการกับการเรียก fx_renderer เพื่อแสดงผลไปยังหน้าจอจัดการกับการติดตามความเสียหายและการปรับขนาดsway/desktop/fx_renderer/fx_renderer.c : เนื้อสัตว์และมันฝรั่งของโครงการนี้มีโครงสร้างคล้ายกับ wlr_renderer มากที่สุดsway/desktop/fx_renderer/shaders : สถานที่ทั้งหมดของ shaders ที่ fx_renderer ใช้สด ทีม SwayFX ขอขอบคุณผู้ดูแลและผู้สนับสนุนของผู้จัดการหน้าต่าง Sway ก่อนและสำคัญที่สุด เราเป็นเพียงกลุ่มผู้ที่ชื่นชอบการแกว่งที่ต่ำต้อยที่ต้องการขยายการสร้างของคุณ
นอกจากนี้เรายังขอขอบคุณศิลปินที่มีความสามารถในชุมชนของเราสำหรับการจัดสรรสินทรัพย์ทางสายตาที่ให้เสน่ห์โครงการนี้:
สุดท้ายเราขอขอบคุณชุมชนที่เพลิดเพลินและใช้ Window Manager ที่เราใช้เวลามากในการดูแลรักษา