Extract SizeChange::from(PresetSize)

This commit is contained in:
Ivan Molodetskikh
2025-01-31 19:24:26 +03:00
parent 73f6d3366e
commit 88c6778771
3 changed files with 11 additions and 10 deletions
+9
View File
@@ -768,6 +768,15 @@ pub enum PresetSize {
Fixed(#[knuffel(argument)] i32),
}
impl From<PresetSize> for SizeChange {
fn from(value: PresetSize) -> Self {
match value {
PresetSize::Proportion(prop) => SizeChange::SetProportion(prop * 100.),
PresetSize::Fixed(fixed) => SizeChange::SetFixed(fixed),
}
}
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct DefaultPresetSize(pub Option<PresetSize>);
+1 -6
View File
@@ -677,12 +677,7 @@ impl<W: LayoutElement> FloatingSpace<W> {
};
let preset = self.options.preset_window_heights[preset_idx];
let change = match preset {
PresetSize::Proportion(prop) => SizeChange::SetProportion(prop * 100.),
PresetSize::Fixed(fixed) => SizeChange::SetFixed(fixed),
};
self.set_window_height(Some(&id), change, true);
self.set_window_height(Some(&id), SizeChange::from(preset), true);
let tile = &mut self.tiles[idx];
tile.floating_preset_height_idx = Some(preset_idx);
+1 -4
View File
@@ -862,10 +862,7 @@ impl<W: LayoutElement> Layout<W> {
activate: ActivateWindow,
) -> Option<&Output> {
let resolved_width = self.resolve_default_width(&window, width, is_floating);
let resolved_height = height.map(|h| match h {
PresetSize::Proportion(prop) => SizeChange::SetProportion(prop * 100.),
PresetSize::Fixed(fixed) => SizeChange::SetFixed(fixed),
});
let resolved_height = height.map(SizeChange::from);
let id = window.id().clone();
match &mut self.monitor_set {