Simplify compositor and shell conditionals

Flatten nested guards in swipe cleanup, recording updates and popup dismissal. Use an eager optional fallback for workspace layouts and an array in the malformed-opacity test.
This commit is contained in:
Samuel Onoja committed 2026-10-04 14:43:43 +01:00
1 parent 3ba1f3522d
commit 5706a71941
5 files changed
+8 -10

No files matched your search

+1 -1
View File
@@ -590,7 +590,7 @@ mod tests {
assert_eq!(decode_region_opacities(&[]), Some(vec![]));
assert!(decode_region_opacities(&bytes[..11]).is_none());
assert!(decode_region_opacities(&1001u32.to_ne_bytes()).is_none());
assert!(decode_region_opacities(&vec![0; 33 * 4]).is_none());
assert!(decode_region_opacities(&[0; 33 * 4]).is_none());
}
#[test]
+1 -2
View File
@@ -160,13 +160,12 @@ impl Ferese {
.focus_swipe
.as_ref()
.is_some_and(|swipe| !self.focus_swipe_is_current(swipe))
&& let Some(swipe) = self.focus_swipe.take()
{
if let Some(swipe) = self.focus_swipe.take() {
self.presentation_dependencies
.restore_viewport(swipe.workspace, swipe.dependencies);
self.release_presentation_dependencies();
}
}
let mut active_animation = false;
let mut completed_slides = Vec::new();
@@ -330,7 +330,7 @@ impl Ferese {
.as_ref()
.filter(|swipe| swipe.workspace == workspace.id)
.and_then(|swipe| swipe.layout.as_ref())
.or_else(|| match &workspace.layout {
.or(match &workspace.layout {
WorkspaceLayout::Scrolling(layout) => Some(layout),
_ => None,
});
+1 -3
View File
@@ -159,11 +159,9 @@ impl Recorder {
match event {
Event::Update(update) => match update.state.as_str() {
"selecting" if self.control.is_some() => self.state = State::Selecting,
"recording" if self.control.is_some() => {
if !matches!(self.state, State::Recording(_)) {
"recording" if self.control.is_some() && !matches!(self.state, State::Recording(_)) => {
self.state = State::Recording(Instant::now());
}
}
"saving" => self.state = State::Saving,
"saved" => {
self.state = update
@@ -153,11 +153,12 @@ impl FereseShell {
}
pub fn animate_menu(&mut self) -> Task<Message> {
if let Some(menu) = &self.menu {
if menu.motion.closing() && !menu.animating() {
if let Some(menu) = &self.menu
&& menu.motion.closing()
&& !menu.animating()
{
return self.destroy_menu();
}
}
Task::none()
}