From b9f0ab044e13a20fd00f3e34d7bad25253f88b90 Mon Sep 17 00:00:00 2001 From: Samuel Onoja Date: Fri, 25 Sep 2026 03:34:59 +0100 Subject: [PATCH] feat: expose surface alpha modifier --- compositor/src/handlers/mod.rs | 1 + compositor/src/state.rs | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/compositor/src/handlers/mod.rs b/compositor/src/handlers/mod.rs index 610d5f2..ca308af 100644 --- a/compositor/src/handlers/mod.rs +++ b/compositor/src/handlers/mod.rs @@ -237,6 +237,7 @@ impl XdgForeignHandler for Ferese { impl XdgToplevelIconHandler for Ferese {} smithay::delegate_compositor!(Ferese); +smithay::delegate_alpha_modifier!(Ferese); smithay::delegate_cursor_shape!(Ferese); smithay::delegate_data_device!(Ferese); smithay::delegate_dmabuf!(Ferese); diff --git a/compositor/src/state.rs b/compositor/src/state.rs index daad6c1..ecef294 100644 --- a/compositor/src/state.rs +++ b/compositor/src/state.rs @@ -47,6 +47,7 @@ use smithay::{ }, utils::{Logical, Point, Size}, wayland::{ + alpha_modifier::AlphaModifierState, compositor::{CompositorClientState, CompositorState, with_states}, cursor_shape::CursorShapeManagerState, dmabuf::{DmabufState, ImportNotifier}, @@ -123,6 +124,7 @@ pub struct Ferese { last_animation_tick: Instant, pub popups: PopupManager, pub seat: Seat, + pub alpha_modifier_state: AlphaModifierState, pub compositor_state: CompositorState, pub cursor_shape_state: CursorShapeManagerState, pub data_device_state: DataDeviceState, @@ -321,6 +323,7 @@ impl Ferese { ) -> Result> { let display_handle = display.handle(); crate::handlers::screencopy::init_global(&display_handle); + let alpha_modifier_state = AlphaModifierState::new::(&display_handle); let compositor_state = CompositorState::new::(&display_handle); let cursor_shape_state = CursorShapeManagerState::new::(&display_handle); let xdg_shell_state = XdgShellState::new::(&display_handle); @@ -425,6 +428,7 @@ impl Ferese { last_animation_tick: start_time, popups: PopupManager::default(), seat, + alpha_modifier_state, compositor_state, cursor_shape_state, data_device_state,