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));
|
||||
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 original_geo = anim.previous_geometry();
|
||||
geometry = anim.geometry(
|
||||
|
|
@ -1629,6 +1586,50 @@ impl FloatingLayout {
|
|||
} else {
|
||||
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| {
|
||||
if let Some(map) = maybe_map {
|
||||
map(elem)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue