feat: add dont_switch_primary

This commit is contained in:
2025-04-08 21:49:15 +00:00
parent 41fbef0260
commit 4e795257ad
6 changed files with 62 additions and 6 deletions

View File

@ -1,4 +1,3 @@
use crate::model::profile::{Display, DisplayMode};
use anyhow::Result;
use displayz::{query_displays, DisplaySet};
@ -7,14 +6,14 @@ use tauri::{AppHandle, Listener};
#[derive(Clone)]
pub struct DisplayInfo {
pub primary: String,
pub set: Option<DisplaySet>
pub set: Option<DisplaySet>,
}
impl Default for DisplayInfo {
fn default() -> Self {
DisplayInfo {
primary: "default".to_owned(),
set: query_displays().ok()
set: query_displays().ok(),
}
}
}
@ -52,14 +51,16 @@ impl Display {
.find(|display| display.name() == self.target)
.ok_or_else(|| anyhow!("Display {} not found", self.target))?;
target.set_primary()?;
if !self.dont_switch_primary {
target.set_primary()?;
}
let settings = target.settings()
.as_ref()
.ok_or_else(|| anyhow!("Unable to query display settings"))?;
let res = DisplayInfo {
primary: primary.name().to_owned(),
set: Some(display_set.clone())
set: Some(display_set.clone()),
};
if self.rotation == 90 || self.rotation == 270 {