Implement dynamic screencast target

This commit is contained in:
Ivan Molodetskikh
2025-03-15 11:23:01 +03:00
parent 392fc27de1
commit 31891e6642
6 changed files with 197 additions and 8 deletions
+13
View File
@@ -1648,6 +1648,11 @@ pub enum Action {
ToggleWindowRuleOpacity,
#[knuffel(skip)]
ToggleWindowRuleOpacityById(u64),
SetDynamicCastWindow,
#[knuffel(skip)]
SetDynamicCastWindowById(u64),
SetDynamicCastMonitor(#[knuffel(argument)] Option<String>),
ClearDynamicCastTarget,
}
impl From<niri_ipc::Action> for Action {
@@ -1892,6 +1897,14 @@ impl From<niri_ipc::Action> for Action {
niri_ipc::Action::ToggleWindowRuleOpacity { id: Some(id) } => {
Self::ToggleWindowRuleOpacityById(id)
}
niri_ipc::Action::SetDynamicCastWindow { id: None } => Self::SetDynamicCastWindow,
niri_ipc::Action::SetDynamicCastWindow { id: Some(id) } => {
Self::SetDynamicCastWindowById(id)
}
niri_ipc::Action::SetDynamicCastMonitor { output } => {
Self::SetDynamicCastMonitor(output)
}
niri_ipc::Action::ClearDynamicCastTarget {} => Self::ClearDynamicCastTarget,
}
}
}