1
0
Fork 0
forked from wry/wry

tree: make scale and position of outputs persistent

This commit is contained in:
Julian Orth 2024-03-16 01:36:04 +01:00
parent bc9b1c3638
commit 3eb0f61ec1
16 changed files with 135 additions and 84 deletions

View file

@ -16,7 +16,10 @@ use {
dbus::Dbus,
forker,
globals::Globals,
ifs::{wl_output::WlOutputGlobal, wl_surface::NoneSurfaceExt},
ifs::{
wl_output::{OutputId, PersistentOutputState, WlOutputGlobal},
wl_surface::NoneSurfaceExt,
},
io_uring::{IoUring, IoUringError},
leaks,
logger::Logger,
@ -204,7 +207,7 @@ fn start_compositor2(
dma_buf_ids: Default::default(),
drm_feedback_ids: Default::default(),
direct_scanout_enabled: Cell::new(true),
output_transforms: Default::default(),
persistent_output_states: Default::default(),
double_click_interval_usec: Cell::new(400 * 1000),
double_click_distance: Cell::new(5),
create_default_seat: Cell::new(true),
@ -364,6 +367,17 @@ fn init_fd_limit() {
}
fn create_dummy_output(state: &Rc<State>) {
let output_id = Rc::new(OutputId {
connector: "jay-dummy-connector".to_string(),
manufacturer: "jay".to_string(),
model: "jay-dummy-output".to_string(),
serial_number: "".to_string(),
});
let persistent_state = Rc::new(PersistentOutputState {
transform: Default::default(),
scale: Default::default(),
pos: Default::default(),
});
let dummy_output = Rc::new(OutputNode {
id: state.node_ids.next(),
global: Rc::new(WlOutputGlobal::new(
@ -379,18 +393,16 @@ fn create_dummy_output(state: &Rc<State>) {
drm_dev: None,
async_event: Default::default(),
}),
0,
Vec::new(),
&backend::Mode {
width: 0,
height: 0,
refresh_rate_millihz: 0,
},
"jay",
"dummy-output",
"0",
0,
0,
&output_id,
&persistent_state,
)),
jay_outputs: Default::default(),
workspaces: Default::default(),