diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2023-08-10 14:37:58 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2023-08-10 14:50:51 +0400 |
| commit | 91729f732481ddce0b3e022be541c820c9a20436 (patch) | |
| tree | 0530c4f54cc492500a1380391c67cb872883e54a /src | |
| parent | 100d7d4b471a8dbe9f28d4862d755f96c412e9ef (diff) | |
| download | niri-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.rs | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -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(), |
