diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2025-05-10 22:34:53 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-05-10 22:42:45 +0300 |
| commit | 58166914607025ae9fb20d868138238bebd4c6bc (patch) | |
| tree | 9c1b583ecfd03b98a74288749b682166ceb2c16e /src/layout | |
| parent | 4b5e9e6cb08d269506cad8273ca7e9c93378034e (diff) | |
| download | niri-58166914607025ae9fb20d868138238bebd4c6bc.tar.gz niri-58166914607025ae9fb20d868138238bebd4c6bc.tar.bz2 niri-58166914607025ae9fb20d868138238bebd4c6bc.zip | |
Add urgent color support to tab indicators
Diffstat (limited to 'src/layout')
| -rw-r--r-- | src/layout/scrolling.rs | 3 | ||||
| -rw-r--r-- | src/layout/tab_indicator.rs | 13 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/layout/scrolling.rs b/src/layout/scrolling.rs index 5f746915..bd68a65a 100644 --- a/src/layout/scrolling.rs +++ b/src/layout/scrolling.rs @@ -3820,8 +3820,9 @@ impl<W: LayoutElement> Column<W> { .enumerate() .map(|(tile_idx, (tile, tile_off))| { let is_active = tile_idx == active_idx; + let is_urgent = tile.window().is_urgent(); let tile_pos = tile_off + tile.render_offset(); - TabInfo::from_tile(tile, tile_pos, is_active, &config) + TabInfo::from_tile(tile, tile_pos, is_active, is_urgent, &config) }); // Hide the tab indicator in fullscreen. If you have it configured to overlap the window, diff --git a/src/layout/tab_indicator.rs b/src/layout/tab_indicator.rs index dd048469..e35874e8 100644 --- a/src/layout/tab_indicator.rs +++ b/src/layout/tab_indicator.rs @@ -350,13 +350,16 @@ impl TabInfo { tile: &Tile<W>, position: Point<f64, Logical>, is_active: bool, + is_urgent: bool, config: &niri_config::TabIndicator, ) -> Self { let rules = tile.window().rules(); let rule = rules.tab_indicator; let gradient_from_rule = || { - let (color, gradient) = if is_active { + let (color, gradient) = if is_urgent { + (rule.urgent_color, rule.urgent_gradient) + } else if is_active { (rule.active_color, rule.active_gradient) } else { (rule.inactive_color, rule.inactive_gradient) @@ -366,7 +369,9 @@ impl TabInfo { }; let gradient_from_config = || { - let (color, gradient) = if is_active { + let (color, gradient) = if is_urgent { + (config.urgent_color, config.urgent_gradient) + } else if is_active { (config.active_color, config.active_gradient) } else { (config.inactive_color, config.inactive_gradient) @@ -386,7 +391,9 @@ impl TabInfo { focus_ring_config }; - let (color, gradient) = if is_active { + let (color, gradient) = if is_urgent { + (config.urgent_color, config.urgent_gradient) + } else if is_active { (config.active_color, config.active_gradient) } else { (config.inactive_color, config.inactive_gradient) |
