output_configuration: Allow setting xwayland primary output

This commit is contained in:
Victoria Brekenfeld 2025-04-09 20:10:13 +02:00 • committed by Victoria Brekenfeld
parent 2e7d051816
commit 2a3bd84e22
4 changed files with 46 additions and 2 deletions

View file

@ -6,6 +6,7 @@ use tracing::{error, warn};
use crate::{
config::{OutputConfig, OutputState},
state::State,
utils::prelude::OutputExt,
wayland::protocols::output_configuration::{
delegate_output_configuration, ModeConfiguration, OutputConfiguration,
OutputConfigurationHandler, OutputConfigurationState,
@ -25,6 +26,17 @@ impl OutputConfigurationHandler for State {
fn apply_configuration(&mut self, conf: Vec<(Output, OutputConfiguration)>) -> bool {
self.output_configuration(false, conf)
}
fn request_xwayland_primary(&mut self, primary_output: Option<Output>) {
for output in self.common.output_configuration_state.outputs() {
output.config_mut().xwayland_primary =
primary_output.as_ref().is_some_and(|o| *o == output);
}
self.common.update_xwayland_primary_output();
self.common
.config
.write_outputs(self.common.output_configuration_state.outputs());
}
}
impl State {