mirror of
https://github.com/Zedfrigg/ironbar.git
synced 2025-04-19 19:34:24 +02:00
feat: use top-level config as fallback when using monitor-based config
This allows you to configure a default bar to use, then override specific monitors. Not setting anything at the top level will hide bars which are not explicitly configured. This actually came about as a bug in the recent refactorings, but now it's a feature :)
This commit is contained in:
parent
56f423e408
commit
659c93dd2a
2 changed files with 10 additions and 2 deletions
|
@ -95,7 +95,11 @@ Create a map/object called `monitors` inside the top-level object.
|
|||
Each of the map's keys should be an output name,
|
||||
and each value should be an object containing the bar config.
|
||||
|
||||
To find your output names, run `wayland-info | grep wl_output -A1`.
|
||||
You can still define a top-level "default" config to use for unspecified monitors.
|
||||
Alternatively, leave the top-level `start`, `center` and `end` keys null to hide bars on unspecified monitors.
|
||||
|
||||
> [!TIP]
|
||||
> To find your output names, run `wayland-info | grep wl_output -A1`.
|
||||
|
||||
<details>
|
||||
<summary>JSON</summary>
|
||||
|
|
|
@ -276,6 +276,9 @@ fn create_bars(app: &Application, display: &Display, config: &Config) -> Result<
|
|||
|
||||
let num_monitors = display.n_monitors();
|
||||
|
||||
let show_default_bar =
|
||||
config.start.is_some() || config.center.is_some() || config.end.is_some();
|
||||
|
||||
let mut all_bars = vec![];
|
||||
for i in 0..num_monitors {
|
||||
let monitor = display
|
||||
|
@ -306,12 +309,13 @@ fn create_bars(app: &Application, display: &Display, config: &Config) -> Result<
|
|||
.iter()
|
||||
.map(|config| create_bar(app, &monitor, monitor_name.to_string(), config.clone()))
|
||||
.collect::<Result<_>>()?,
|
||||
None => vec![create_bar(
|
||||
None if show_default_bar => vec![create_bar(
|
||||
app,
|
||||
&monitor,
|
||||
monitor_name.to_string(),
|
||||
config.clone(),
|
||||
)?],
|
||||
None => vec![],
|
||||
};
|
||||
|
||||
all_bars.append(&mut bars);
|
||||
|
|
Loading…
Add table
Reference in a new issue