mirror opacity
This commit is contained in:
@@ -80,11 +80,13 @@ where
|
|||||||
canvas.font_size = font_size;
|
canvas.font_size = font_size;
|
||||||
canvas.fg_color = color_parse(&fg_color).unwrap_or(FALLBACK_COLOR);
|
canvas.fg_color = color_parse(&fg_color).unwrap_or(FALLBACK_COLOR);
|
||||||
|
|
||||||
let tz: Option<Tz> = timezone.map(|tz| tz.parse().unwrap_or_else(|_| {
|
let tz: Option<Tz> = timezone.map(|tz| {
|
||||||
|
tz.parse().unwrap_or_else(|_| {
|
||||||
log::error!("Failed to parse timezone '{}'", &tz);
|
log::error!("Failed to parse timezone '{}'", &tz);
|
||||||
canvas.fg_color = FALLBACK_COLOR;
|
canvas.fg_color = FALLBACK_COLOR;
|
||||||
Tz::UTC
|
Tz::UTC
|
||||||
}));
|
})
|
||||||
|
});
|
||||||
|
|
||||||
let label = canvas.label(x, y, w, h, empty_str.clone());
|
let label = canvas.label(x, y, w, h, empty_str.clone());
|
||||||
label.state = Some(ElemState::Clock {
|
label.state = Some(ElemState::Clock {
|
||||||
@@ -283,6 +285,7 @@ where
|
|||||||
let button = canvas.button(x, y, w, h, text.clone());
|
let button = canvas.button(x, y, w, h, text.clone());
|
||||||
button.state = Some(ElemState::Mirror { name, show_hide });
|
button.state = Some(ElemState::Mirror { name, show_hide });
|
||||||
button.on_press = Some(btn_mirror_dn::<O>);
|
button.on_press = Some(btn_mirror_dn::<O>);
|
||||||
|
button.on_scroll = Some(overlay_button_scroll);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -639,14 +642,18 @@ fn overlay_button_scroll(
|
|||||||
delta: f32,
|
delta: f32,
|
||||||
) {
|
) {
|
||||||
// want panic
|
// want panic
|
||||||
let ElemState::OverlayButton { overlay, .. } = control.state.as_mut().unwrap() else {
|
let overlay = match &mut control.state.as_mut().unwrap() {
|
||||||
log::error!("OverlayButton state not found");
|
ElemState::OverlayButton { overlay, .. } => overlay.clone(),
|
||||||
return;
|
ElemState::Mirror { name, .. } => OverlaySelector::Name(name.clone()),
|
||||||
|
_ => {
|
||||||
|
log::error!("OverlayButton state not found");
|
||||||
|
return;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if delta > 0. {
|
if delta > 0. {
|
||||||
app.tasks.enqueue(TaskType::Overlay(
|
app.tasks.enqueue(TaskType::Overlay(
|
||||||
overlay.clone(),
|
overlay,
|
||||||
Box::new(|_, o| {
|
Box::new(|_, o| {
|
||||||
o.alpha = (o.alpha + 0.025).min(1.);
|
o.alpha = (o.alpha + 0.025).min(1.);
|
||||||
o.dirty = true;
|
o.dirty = true;
|
||||||
@@ -655,7 +662,7 @@ fn overlay_button_scroll(
|
|||||||
));
|
));
|
||||||
} else {
|
} else {
|
||||||
app.tasks.enqueue(TaskType::Overlay(
|
app.tasks.enqueue(TaskType::Overlay(
|
||||||
overlay.clone(),
|
overlay,
|
||||||
Box::new(|_, o| {
|
Box::new(|_, o| {
|
||||||
o.alpha = (o.alpha - 0.025).max(0.1);
|
o.alpha = (o.alpha - 0.025).max(0.1);
|
||||||
o.dirty = true;
|
o.dirty = true;
|
||||||
|
|||||||
@@ -140,6 +140,7 @@ watch_elements:
|
|||||||
# - Blue Click: Show/hide. Shows pipewire prompt on first show.
|
# - Blue Click: Show/hide. Shows pipewire prompt on first show.
|
||||||
# - Orange Click: Toggle lock in place
|
# - Orange Click: Toggle lock in place
|
||||||
# - Purple Click: Stop capture. After doing this, you may Blue-click again to select a different source.
|
# - Purple Click: Stop capture. After doing this, you may Blue-click again to select a different source.
|
||||||
|
# - Scroll: Adjust opacity
|
||||||
# Warning:
|
# Warning:
|
||||||
# - Window shares may stop updating if the window goes off-screen or is on an inactive workspace
|
# - Window shares may stop updating if the window goes off-screen or is on an inactive workspace
|
||||||
# - Resizing, minimizing, maximizing windows may break stuff. Complain to your xdg-desktop-portal implementation.
|
# - Resizing, minimizing, maximizing windows may break stuff. Complain to your xdg-desktop-portal implementation.
|
||||||
|
|||||||
Reference in New Issue
Block a user