Fix detached active window hint
This commit is contained in:
parent
8f82cade68
commit
b8807a541f
1 changed files with 44 additions and 43 deletions
|
|
@ -1522,49 +1522,6 @@ impl FloatingLayout {
|
||||||
.unwrap_or_else(|| (self.space.element_geometry(elem).unwrap().as_local(), alpha));
|
.unwrap_or_else(|| (self.space.element_geometry(elem).unwrap().as_local(), alpha));
|
||||||
let render_location = geometry.loc - elem.geometry().loc.as_local();
|
let render_location = geometry.loc - elem.geometry().loc.as_local();
|
||||||
|
|
||||||
if focused == Some(elem) && !elem.is_maximized(false) {
|
|
||||||
let active_window_hint = crate::theme::active_window_hint(theme);
|
|
||||||
let radius = elem.corner_radius(geometry.size.as_logical(), indicator_thickness);
|
|
||||||
|
|
||||||
if let Some((mode, resize)) = resize_indicator.as_mut() {
|
|
||||||
let mut resize_geometry = geometry;
|
|
||||||
resize_geometry.loc -= (18, 18).into();
|
|
||||||
resize_geometry.size += (36, 36).into();
|
|
||||||
|
|
||||||
resize.resize(resize_geometry.size.as_logical());
|
|
||||||
resize.output_enter(output);
|
|
||||||
resize.push_render_elements(
|
|
||||||
renderer,
|
|
||||||
resize_geometry
|
|
||||||
.loc
|
|
||||||
.as_logical()
|
|
||||||
.to_physical_precise_round(output_scale),
|
|
||||||
output_scale.into(),
|
|
||||||
alpha * mode.alpha().unwrap_or(1.0),
|
|
||||||
&mut |elem| push(CosmicMappedRenderElement::Window(elem.into())),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if indicator_thickness > 0 {
|
|
||||||
let element = IndicatorShader::focus_element(
|
|
||||||
renderer,
|
|
||||||
Key::Window(Usage::FocusIndicator, elem.key()),
|
|
||||||
geometry,
|
|
||||||
indicator_thickness,
|
|
||||||
radius,
|
|
||||||
alpha,
|
|
||||||
output_scale,
|
|
||||||
[
|
|
||||||
active_window_hint.red,
|
|
||||||
active_window_hint.green,
|
|
||||||
active_window_hint.blue,
|
|
||||||
],
|
|
||||||
);
|
|
||||||
push(element.into());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let maybe_map = if let Some(anim) = self.animations.get(elem) {
|
let maybe_map = if let Some(anim) = self.animations.get(elem) {
|
||||||
let original_geo = anim.previous_geometry();
|
let original_geo = anim.previous_geometry();
|
||||||
geometry = anim.geometry(
|
geometry = anim.geometry(
|
||||||
|
|
@ -1629,6 +1586,50 @@ impl FloatingLayout {
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if focused == Some(elem) && !elem.is_maximized(false) {
|
||||||
|
let active_window_hint = crate::theme::active_window_hint(theme);
|
||||||
|
let radius = elem.corner_radius(geometry.size.as_logical(), indicator_thickness);
|
||||||
|
|
||||||
|
if let Some((mode, resize)) = resize_indicator.as_mut() {
|
||||||
|
let mut resize_geometry = geometry;
|
||||||
|
resize_geometry.loc -= (18, 18).into();
|
||||||
|
resize_geometry.size += (36, 36).into();
|
||||||
|
|
||||||
|
resize.resize(resize_geometry.size.as_logical());
|
||||||
|
resize.output_enter(output);
|
||||||
|
resize.push_render_elements(
|
||||||
|
renderer,
|
||||||
|
resize_geometry
|
||||||
|
.loc
|
||||||
|
.as_logical()
|
||||||
|
.to_physical_precise_round(output_scale),
|
||||||
|
output_scale.into(),
|
||||||
|
alpha * mode.alpha().unwrap_or(1.0),
|
||||||
|
&mut |elem| push(CosmicMappedRenderElement::Window(elem.into())),
|
||||||
|
None,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if indicator_thickness > 0 {
|
||||||
|
let element = IndicatorShader::focus_element(
|
||||||
|
renderer,
|
||||||
|
Key::Window(Usage::FocusIndicator, elem.key()),
|
||||||
|
geometry,
|
||||||
|
indicator_thickness,
|
||||||
|
radius,
|
||||||
|
alpha,
|
||||||
|
output_scale,
|
||||||
|
[
|
||||||
|
active_window_hint.red,
|
||||||
|
active_window_hint.green,
|
||||||
|
active_window_hint.blue,
|
||||||
|
],
|
||||||
|
);
|
||||||
|
push(element.into());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let map_anim = |elem| {
|
let map_anim = |elem| {
|
||||||
if let Some(map) = maybe_map {
|
if let Some(map) = maybe_map {
|
||||||
map(elem)
|
map(elem)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue