diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-05 12:39:20 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-05 12:39:20 +0400 |
| commit | 2e4a2e13b175fcbb0fef58214f7de5b60775214a (patch) | |
| tree | a3e71dbe9986919a012e003be0d563d109e68505 /src | |
| parent | df0ee996ee0c70d4fb0fb853535e1563da3c0d09 (diff) | |
| download | niri-2e4a2e13b175fcbb0fef58214f7de5b60775214a.tar.gz niri-2e4a2e13b175fcbb0fef58214f7de5b60775214a.tar.bz2 niri-2e4a2e13b175fcbb0fef58214f7de5b60775214a.zip | |
Make missing scale = automatic selection
That was the intention, but I missed it before.
Diffstat (limited to 'src')
| -rw-r--r-- | src/niri.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/niri.rs b/src/niri.rs index b6bfb84d..aee3650b 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -1014,7 +1014,7 @@ impl State { let config = self.niri.config.borrow_mut(); let config = config.outputs.iter().find(|o| o.name == name); - let scale = config.map(|c| c.scale).unwrap_or_else(|| { + let scale = config.and_then(|c| c.scale).unwrap_or_else(|| { let size_mm = output.physical_properties().size; let resolution = output.current_mode().unwrap().size; guess_monitor_scale(size_mm, resolution) @@ -1077,7 +1077,12 @@ impl State { niri_ipc::ModeToSet::Specific(mode) => Some(mode), } } - niri_ipc::OutputAction::Scale { scale } => config.scale = scale, + niri_ipc::OutputAction::Scale { scale } => { + config.scale = match scale { + niri_ipc::ScaleToSet::Automatic => None, + niri_ipc::ScaleToSet::Specific(scale) => Some(scale), + } + } niri_ipc::OutputAction::Transform { transform } => config.transform = transform, niri_ipc::OutputAction::Position { position } => { config.position = match position { @@ -1666,7 +1671,7 @@ impl Niri { let config = self.config.borrow(); let c = config.outputs.iter().find(|o| o.name == name); - let scale = c.map(|c| c.scale).unwrap_or_else(|| { + let scale = c.and_then(|c| c.scale).unwrap_or_else(|| { let size_mm = output.physical_properties().size; let resolution = output.current_mode().unwrap().size; guess_monitor_scale(size_mm, resolution) |
