fix: don't switch primary, for real

This commit is contained in:
2025-04-17 18:43:27 +00:00
parent a72ec25088
commit 7071f19877
2 changed files with 11 additions and 9 deletions

View File

@ -6,14 +6,14 @@ use tauri::{AppHandle, Listener};
#[derive(Clone)] #[derive(Clone)]
pub struct DisplayInfo { pub struct DisplayInfo {
pub primary: String, pub primary: Option<String>,
pub set: Option<DisplaySet>, pub set: Option<DisplaySet>,
} }
impl Default for DisplayInfo { impl Default for DisplayInfo {
fn default() -> Self { fn default() -> Self {
DisplayInfo { DisplayInfo {
primary: "default".to_owned(), primary: None,
set: query_displays().ok(), set: query_displays().ok(),
} }
} }
@ -60,7 +60,7 @@ impl Display {
.ok_or_else(|| anyhow!("Unable to query display settings"))?; .ok_or_else(|| anyhow!("Unable to query display settings"))?;
let res = DisplayInfo { let res = DisplayInfo {
primary: primary.name().to_owned(), primary: if self.dont_switch_primary { None } else { Some(primary.name().to_owned()) },
set: Some(display_set.clone()), set: Some(display_set.clone()),
}; };
@ -132,12 +132,14 @@ impl Display {
let display_set = info.set.as_ref() let display_set = info.set.as_ref()
.ok_or_else(|| anyhow!("Unable to clean up displays: no display set"))?; .ok_or_else(|| anyhow!("Unable to clean up displays: no display set"))?;
let primary = display_set if let Some(info_primary) = &info.primary {
.displays() let primary = display_set
.find(|display| display.name() == info.primary) .displays()
.ok_or_else(|| anyhow!("Display {} not found", info.primary))?; .find(|display| display.name() == info_primary)
.ok_or_else(|| anyhow!("Display {} not found", info_primary))?;
primary.set_primary()?; primary.set_primary()?;
}
display_set.apply()?; display_set.apply()?;
displayz::refresh()?; displayz::refresh()?;

View File

@ -1,7 +1,7 @@
{ {
"$schema": "https://schema.tauri.app/config/2", "$schema": "https://schema.tauri.app/config/2",
"productName": "STARTLINER", "productName": "STARTLINER",
"version": "0.10.0", "version": "0.10.1",
"identifier": "zip.patafour.startliner", "identifier": "zip.patafour.startliner",
"build": { "build": {
"beforeDevCommand": "bun run dev", "beforeDevCommand": "bun run dev",