summaryrefslogtreecommitdiff
path: root/src/river_protocols/status/dispatch.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/river_protocols/status/dispatch.rs')
-rw-r--r--src/river_protocols/status/dispatch.rs92
1 files changed, 0 insertions, 92 deletions
diff --git a/src/river_protocols/status/dispatch.rs b/src/river_protocols/status/dispatch.rs
deleted file mode 100644
index 65d6e0c..0000000
--- a/src/river_protocols/status/dispatch.rs
+++ /dev/null
@@ -1,92 +0,0 @@
-use super::protocol::{zriver_output_status_v1, zriver_status_manager_v1};
-use wayland_client::{Connection, Dispatch, QueueHandle};
-
-use smithay_client_toolkit::{
- error::GlobalError,
- globals::{GlobalData, ProvidesBoundGlobal},
- registry::{ProvidesRegistryState, RegistryHandler},
-};
-
-use super::{RiverStatusData, RiverStatusHandler, RiverStatusState};
-
-impl<D> RegistryHandler<D> for RiverStatusState
-where
- D: Dispatch<zriver_status_manager_v1::ZriverStatusManagerV1, GlobalData>
- + RiverStatusHandler
- + ProvidesRegistryState
- + 'static,
-{
- fn ready(data: &mut D, _conn: &Connection, qh: &QueueHandle<D>) {
- data.river_status_state().status_manager =
- data.registry().bind_one(qh, 1..=2, GlobalData).into();
- }
-}
-
-impl ProvidesBoundGlobal<zriver_status_manager_v1::ZriverStatusManagerV1, 1> for RiverStatusState {
- fn bound_global(&self) -> Result<zriver_status_manager_v1::ZriverStatusManagerV1, GlobalError> {
- self.status_manager.get().cloned()
- }
-}
-
-impl ProvidesBoundGlobal<zriver_status_manager_v1::ZriverStatusManagerV1, 2> for RiverStatusState {
- fn bound_global(&self) -> Result<zriver_status_manager_v1::ZriverStatusManagerV1, GlobalError> {
- self.status_manager.get().cloned()
- }
-}
-
-impl<D> Dispatch<zriver_status_manager_v1::ZriverStatusManagerV1, GlobalData, D>
- for RiverStatusState
-where
- D: Dispatch<zriver_status_manager_v1::ZriverStatusManagerV1, GlobalData>
- + RiverStatusHandler
- + 'static,
-{
- fn event(
- _: &mut D,
- _: &zriver_status_manager_v1::ZriverStatusManagerV1,
- _: zriver_status_manager_v1::Event,
- _: &GlobalData,
- _: &Connection,
- _: &QueueHandle<D>,
- ) {
- unreachable!("zriver_status_manager_v1 has no events")
- }
-}
-
-impl<D> Dispatch<zriver_output_status_v1::ZriverOutputStatusV1, RiverStatusData, D>
- for RiverStatusState
-where
- D: Dispatch<zriver_output_status_v1::ZriverOutputStatusV1, RiverStatusData>
- + RiverStatusHandler
- + 'static,
-{
- fn event(
- data: &mut D,
- status: &zriver_output_status_v1::ZriverOutputStatusV1,
- event: zriver_output_status_v1::Event,
- _udata: &RiverStatusData,
- conn: &Connection,
- qh: &QueueHandle<D>,
- ) {
- use zriver_output_status_v1::Event;
-
- // Remove any statuses that have been dropped
- data.river_status_state()
- .output_statuses
- .retain(|status| status.upgrade().is_some());
-
- if let Some(status) = data.river_status_state().get_output_status(status) {
- match event {
- Event::FocusedTags { tags } => data.focused_tags_updated(conn, qh, &status, tags),
- Event::UrgentTags { tags } => data.urgent_tags_updated(conn, qh, &status, tags),
- Event::ViewTags { tags } => {
- let tags = tags
- .chunks_exact(4)
- .map(|bytes| u32::from_ne_bytes(bytes.try_into().unwrap()))
- .collect();
- data.views_tags_updated(conn, qh, &status, tags);
- }
- }
- }
- }
-}