feat(bar): make explicit monitor config optional

This commit makes the monitor configuration option for the komorebi-bar
optional, defaulting to index 0.
This commit is contained in:
LGUG2Z
2026-01-04 19:15:21 -08:00
parent 1219c3d118
commit 8805fafa99
5 changed files with 18 additions and 10 deletions
+9 -4
View File
@@ -453,10 +453,11 @@ impl Komobar {
self.right_widgets = right_widgets;
let (usr_monitor_index, config_work_area_offset) = match &self.config.monitor {
MonitorConfigOrIndex::MonitorConfig(monitor_config) => {
Some(MonitorConfigOrIndex::MonitorConfig(monitor_config)) => {
(monitor_config.index, monitor_config.work_area_offset)
}
MonitorConfigOrIndex::Index(idx) => (*idx, None),
Some(MonitorConfigOrIndex::Index(idx)) => (*idx, None),
None => (0, None),
};
let mapped_info = self.monitor_info.as_ref().map(|info| {
@@ -866,9 +867,13 @@ impl eframe::App for Komobar {
Ok(KomorebiEvent::Notification(notification)) => {
let state = &notification.state;
let usr_monitor_index = match &self.config.monitor {
MonitorConfigOrIndex::MonitorConfig(monitor_config) => monitor_config.index,
MonitorConfigOrIndex::Index(idx) => *idx,
Some(MonitorConfigOrIndex::MonitorConfig(monitor_config)) => {
monitor_config.index
}
Some(MonitorConfigOrIndex::Index(idx)) => *idx,
None => 0,
};
let monitor_index = state.monitor_usr_idx_map.get(&usr_monitor_index).copied();
self.monitor_index = monitor_index;
let mut should_apply_config = false;