diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2025-02-05 08:09:48 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-02-10 07:29:33 -0800 |
| commit | d7d5a7f8f6c3faf7e1ea1a36df053769243b51ac (patch) | |
| tree | 5718684422933ece53d342ef88df5efb98d76884 /src | |
| parent | a451f75917e427a4b4c7d986ce74e5a3999e563d (diff) | |
| download | niri-d7d5a7f8f6c3faf7e1ea1a36df053769243b51ac.tar.gz niri-d7d5a7f8f6c3faf7e1ea1a36df053769243b51ac.tar.bz2 niri-d7d5a7f8f6c3faf7e1ea1a36df053769243b51ac.zip | |
tab indicator: Add hide-when-single-tab
Diffstat (limited to 'src')
| -rw-r--r-- | src/layout/tab_indicator.rs | 8 | ||||
| -rw-r--r-- | src/layout/tests.rs | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/layout/tab_indicator.rs b/src/layout/tab_indicator.rs index 114fa810..0f9ebaf9 100644 --- a/src/layout/tab_indicator.rs +++ b/src/layout/tab_indicator.rs @@ -63,6 +63,13 @@ impl TabIndicator { return; } + let count = tabs.clone().count(); + if self.config.hide_when_single_tab && count == 1 { + self.shader_locs.clear(); + self.shaders.clear(); + return; + } + // Tab indicators are rendered relative to the tile geometry. let tile_geo = Rectangle::new(Point::from((0., 0.)), tile_size); @@ -74,7 +81,6 @@ impl TabIndicator { let total_prop = self.config.length.total_proportion.unwrap_or(0.5); let min_length = round(tile_size.h * total_prop.clamp(0., 2.)); - let count = tabs.clone().count(); self.shaders.resize_with(count, Default::default); self.shader_locs.resize_with(count, Default::default); diff --git a/src/layout/tests.rs b/src/layout/tests.rs index 5c1749a3..dee23fc0 100644 --- a/src/layout/tests.rs +++ b/src/layout/tests.rs @@ -3242,12 +3242,14 @@ prop_compose! { prop_compose! { fn arbitrary_tab_indicator()( off in any::<bool>(), + hide_when_single_tab in any::<bool>(), width in arbitrary_spacing(), gap in arbitrary_spacing_neg(), length in (0f64..2f64), ) -> niri_config::TabIndicator { niri_config::TabIndicator { off, + hide_when_single_tab, width: FloatOrInt(width), gap: FloatOrInt(gap), length: TabIndicatorLength { total_proportion: Some(length) }, |
