tiling: Add group selection highlight

This commit is contained in:
Victoria Brekenfeld 2023-05-31 13:27:52 +02:00
parent 56131b13ae
commit a9e06741d4
2 changed files with 49 additions and 60 deletions

View file

@ -2,7 +2,7 @@
use crate::{
backend::render::{
element::AsGlowRenderer, IndicatorKey, IndicatorShader, ACTIVE_GROUP_COLOR,
element::AsGlowRenderer, BackdropShader, IndicatorShader, Key, ACTIVE_GROUP_COLOR,
FOCUS_INDICATOR_COLOR, GROUP_COLOR,
},
shell::{
@ -1815,7 +1815,7 @@ where
elements.push(
IndicatorShader::element(
renderer,
IndicatorKey::Group(Arc::downgrade(&alive)),
Key::Group(Arc::downgrade(&alive)),
geo,
3,
alpha,
@ -2152,9 +2152,7 @@ where
renderer,
match data {
Data::Mapped { mapped, .. } => mapped.clone().into(),
Data::Group { alive, .. } => {
IndicatorKey::Group(Arc::downgrade(alive))
}
Data::Group { alive, .. } => Key::Group(Arc::downgrade(alive)),
},
geo,
indicator_thickness,
@ -2163,6 +2161,21 @@ where
);
elements.push(element.into());
}
if data.is_group() {
let element = BackdropShader::element(
renderer,
match data {
Data::Mapped { mapped, .. } => mapped.clone().into(),
Data::Group { alive, .. } => Key::Group(Arc::downgrade(alive)),
},
geo,
(indicator_thickness * 2) as f32,
0.25,
FOCUS_INDICATOR_COLOR,
);
elements.push(element.into());
}
}
if let Data::Mapped { mapped, .. } = data {