aboutsummaryrefslogtreecommitdiff
path: root/src/layout
diff options
context:
space:
mode:
authorDuncan Overbruck <mail@duncano.de>2025-03-22 19:04:24 +0100
committerIvan Molodetskikh <yalterz@gmail.com>2025-05-10 12:14:41 -0700
commit398bc78ea073e0e61c6ba67ddcbaad0a5d574eeb (patch)
tree67030b91b3b05d07df219e3512c4b6046a6bc0a3 /src/layout
parentcaa6189448cbf338c18fe6afe313f577c8378b31 (diff)
downloadniri-398bc78ea073e0e61c6ba67ddcbaad0a5d574eeb.tar.gz
niri-398bc78ea073e0e61c6ba67ddcbaad0a5d574eeb.tar.bz2
niri-398bc78ea073e0e61c6ba67ddcbaad0a5d574eeb.zip
add urgent border color and gradient
Diffstat (limited to 'src/layout')
-rw-r--r--src/layout/focus_ring.rs9
-rw-r--r--src/layout/insert_hint_element.rs6
-rw-r--r--src/layout/tile.rs2
3 files changed, 14 insertions, 3 deletions
diff --git a/src/layout/focus_ring.rs b/src/layout/focus_ring.rs
index 047fc3b7..5cb797e0 100644
--- a/src/layout/focus_ring.rs
+++ b/src/layout/focus_ring.rs
@@ -59,6 +59,7 @@ impl FocusRing {
win_size: Size<f64, Logical>,
is_active: bool,
is_border: bool,
+ is_urgent: bool,
view_rect: Rectangle<f64, Logical>,
radius: CornerRadius,
scale: f64,
@@ -67,7 +68,9 @@ impl FocusRing {
let width = self.config.width.0;
self.full_size = win_size + Size::from((width, width)).upscale(2.);
- let color = if is_active {
+ let color = if is_urgent {
+ self.config.urgent_color
+ } else if is_active {
self.config.active_color
} else {
self.config.inactive_color
@@ -79,7 +82,9 @@ impl FocusRing {
let radius = radius.fit_to(self.full_size.w as f32, self.full_size.h as f32);
- let gradient = if is_active {
+ let gradient = if is_urgent {
+ self.config.urgent_gradient
+ } else if is_active {
self.config.active_gradient
} else {
self.config.inactive_gradient
diff --git a/src/layout/insert_hint_element.rs b/src/layout/insert_hint_element.rs
index 89dfcd14..92f9b480 100644
--- a/src/layout/insert_hint_element.rs
+++ b/src/layout/insert_hint_element.rs
@@ -19,8 +19,10 @@ impl InsertHintElement {
width: FloatOrInt(0.),
active_color: config.color,
inactive_color: config.color,
+ urgent_color: config.color,
active_gradient: config.gradient,
inactive_gradient: config.gradient,
+ urgent_gradient: config.gradient,
}),
}
}
@@ -31,8 +33,10 @@ impl InsertHintElement {
width: FloatOrInt(0.),
active_color: config.color,
inactive_color: config.color,
+ urgent_color: config.color,
active_gradient: config.gradient,
inactive_gradient: config.gradient,
+ urgent_gradient: config.gradient,
});
}
@@ -48,7 +52,7 @@ impl InsertHintElement {
scale: f64,
) {
self.inner
- .update_render_elements(size, true, false, view_rect, radius, scale, 1.);
+ .update_render_elements(size, true, false, false, view_rect, radius, scale, 1.);
}
pub fn render(
diff --git a/src/layout/tile.rs b/src/layout/tile.rs
index 1b423c07..454b109c 100644
--- a/src/layout/tile.rs
+++ b/src/layout/tile.rs
@@ -366,6 +366,7 @@ impl<W: LayoutElement> Tile<W> {
self.animated_window_size(),
is_active,
!draw_border_with_background,
+ self.window.is_urgent(),
Rectangle::new(
view_rect.loc - Point::from((border_width, border_width)),
view_rect.size,
@@ -400,6 +401,7 @@ impl<W: LayoutElement> Tile<W> {
self.animated_tile_size(),
is_active,
!draw_focus_ring_with_background,
+ self.window.is_urgent(),
view_rect,
radius,
self.scale,