aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-08-10 14:37:58 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-08-10 14:50:51 +0400
commit91729f732481ddce0b3e022be541c820c9a20436 (patch)
tree0530c4f54cc492500a1380391c67cb872883e54a /src
parent100d7d4b471a8dbe9f28d4862d755f96c412e9ef (diff)
downloadniri-91729f732481ddce0b3e022be541c820c9a20436.tar.gz
niri-91729f732481ddce0b3e022be541c820c9a20436.tar.bz2
niri-91729f732481ddce0b3e022be541c820c9a20436.zip
tty: Prefer, but don't require, a eDP connector
Diffstat (limited to 'src')
-rw-r--r--src/tty.rs16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/tty.rs b/src/tty.rs
index 4475975f..c1992111 100644
--- a/src/tty.rs
+++ b/src/tty.rs
@@ -302,6 +302,7 @@ impl Tty {
let resources = drm.resource_handles()?;
let mut connector = None;
+ let mut edp_connector = None;
resources
.connectors()
.iter()
@@ -322,10 +323,17 @@ impl Tty {
);
})
.filter(|conn| conn.state() == ConnectorState::Connected)
- // FIXME: don't hardcode eDP.
- .filter(|conn| conn.interface() == ConnectorInterface::EmbeddedDisplayPort)
- .for_each(|conn| connector = Some(conn));
- let connector = connector.ok_or_else(|| anyhow!("no compatible connector"))?;
+ .for_each(|conn| {
+ connector = Some(conn.clone());
+
+ if conn.interface() == ConnectorInterface::EmbeddedDisplayPort {
+ edp_connector = Some(conn);
+ }
+ });
+ // Since we're only using one output at the moment, prefer eDP.
+ let connector = edp_connector
+ .or(connector)
+ .ok_or_else(|| anyhow!("no compatible connector"))?;
info!(
"picking connector: {}-{}",
connector.interface().as_str(),