diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2025-11-19 08:44:35 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-11-19 08:44:57 +0300 |
| commit | a19326fd129c3aa03da7ea32cbc1602fee93284c (patch) | |
| tree | dcb0e49ab1f5dbdb930628bba599a1692fb4122c /src | |
| parent | 6ca21e7bfdd559263dbb54fb2bef51c97ba791fc (diff) | |
| download | niri-a19326fd129c3aa03da7ea32cbc1602fee93284c.tar.gz niri-a19326fd129c3aa03da7ea32cbc1602fee93284c.tar.bz2 niri-a19326fd129c3aa03da7ea32cbc1602fee93284c.zip | |
tty: Extract should_disable_laptop_panels()
Diffstat (limited to 'src')
| -rw-r--r-- | src/backend/tty.rs | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/src/backend/tty.rs b/src/backend/tty.rs index c123cc57..023e1cd8 100644 --- a/src/backend/tty.rs +++ b/src/backend/tty.rs @@ -1998,6 +1998,26 @@ impl Tty { } } + fn should_disable_laptop_panels(&self, is_lid_closed: bool) -> bool { + if !is_lid_closed { + return false; + } + + let config = self.config.borrow(); + if !config.debug.keep_laptop_panel_on_when_lid_is_closed { + // Check if any external monitor is connected. + for device in self.devices.values() { + for (connector, _crtc) in device.drm_scanner.crtcs() { + if !is_laptop_panel(&format_connector_name(connector)) { + return true; + } + } + } + } + + false + } + pub fn on_output_config_changed(&mut self, niri: &mut Niri) { let _span = tracy_client::span!("Tty::on_output_config_changed"); @@ -2009,21 +2029,7 @@ impl Tty { self.update_output_config_on_resume = false; // Figure out if we should disable laptop panels. - let mut disable_laptop_panels = false; - if niri.is_lid_closed { - let config = self.config.borrow(); - if !config.debug.keep_laptop_panel_on_when_lid_is_closed { - // Check if any external monitor is connected. - 'outer: for device in self.devices.values() { - for (connector, _crtc) in device.drm_scanner.crtcs() { - if !is_laptop_panel(&format_connector_name(connector)) { - disable_laptop_panels = true; - break 'outer; - } - } - } - } - } + let disable_laptop_panels = self.should_disable_laptop_panels(niri.is_lid_closed); let should_disable = |connector: &str| disable_laptop_panels && is_laptop_panel(connector); let mut to_disconnect = vec![]; |
