diff options
| author | Duncan Overbruck <mail@duncano.de> | 2025-03-22 19:04:24 +0100 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-05-10 12:14:41 -0700 |
| commit | 398bc78ea073e0e61c6ba67ddcbaad0a5d574eeb (patch) | |
| tree | 67030b91b3b05d07df219e3512c4b6046a6bc0a3 /src/layout | |
| parent | caa6189448cbf338c18fe6afe313f577c8378b31 (diff) | |
| download | niri-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.rs | 9 | ||||
| -rw-r--r-- | src/layout/insert_hint_element.rs | 6 | ||||
| -rw-r--r-- | src/layout/tile.rs | 2 |
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, |
