diff --git a/cosmic-applet-battery/src/dgpu.rs b/cosmic-applet-battery/src/dgpu.rs index 7d7f67ae..3e0b9a0a 100644 --- a/cosmic-applet-battery/src/dgpu.rs +++ b/cosmic-applet-battery/src/dgpu.rs @@ -393,13 +393,15 @@ fn all_gpus>(seat: S) -> io::Result> { if let Some(primary_idx) = gpus .iter() .position(|gpu| { - connectors(&gpu.path).is_some_and(|mut conns| { - conns.any(|info| { - let i = info.interface(); - i == Interface::EmbeddedDisplayPort - || i == Interface::LVDS - || i == Interface::DSI - }) + connectors(&gpu.path).is_some_and(|conns| { + conns + .filter(|info| info.state() == drm::control::connector::State::Connected) + .any(|info| { + let i = info.interface(); + i == Interface::EmbeddedDisplayPort + || i == Interface::LVDS + || i == Interface::DSI + }) }) }) .or_else(|| gpus.iter().position(|gpu| gpu.boot_vga))