feat: overlap notify

This commit is contained in:
Ashley Wulber 2024-11-26 16:09:31 -05:00
parent 6e91eabf4c
commit 301892aaa5
No known key found for this signature in database
GPG key ID: 5216D4F46A90A820
11 changed files with 441 additions and 51 deletions

View file

@ -1,5 +1,6 @@
mod layer;
mod output;
mod overlap_notify;
mod popup;
mod seat;
mod session_lock;
@ -12,6 +13,7 @@ use cctk::sctk::reexports::client::protocol::{
pub use layer::*;
pub use output::*;
pub use overlap_notify::*;
pub use popup::*;
pub use seat::*;
pub use session_lock::*;
@ -26,6 +28,8 @@ pub enum Event {
Popup(PopupEvent, WlSurface, Id),
/// output event
Output(OutputEvent, WlOutput),
/// Overlap notify event
OverlapNotify(overlap_notify::OverlapNotifyEvent),
/// window event
Window(WindowEvent),
/// Seat Event

View file

@ -0,0 +1,21 @@
use cctk::{sctk::shell::wlr_layer::Layer, wayland_protocols::ext::foreign_toplevel_list::v1::client::ext_foreign_toplevel_handle_v1::ExtForeignToplevelHandleV1};
#[derive(Debug, Clone, PartialEq)]
pub enum OverlapNotifyEvent {
OverlapToplevelAdd {
toplevel: ExtForeignToplevelHandleV1,
logical_rect: crate::Rectangle,
},
OverlapToplevelRemove {
toplevel: ExtForeignToplevelHandleV1,
},
OverlapLayerAdd {
identifier: String,
exclusive: u32,
layer: Option<Layer>,
logical_rect: crate::Rectangle,
},
OverlapLayerRemove {
identifier: String,
},
}