1
0
Fork 0
forked from wry/wry

all: implement screen locking

This commit is contained in:
Julian Orth 2022-05-19 23:39:11 +02:00
parent 9db389835d
commit d42add4d18
24 changed files with 618 additions and 6 deletions

View file

@ -22,7 +22,7 @@ use {
logger::Logger,
render::{self, RenderError},
sighand::{self, SighandError},
state::{ConnectorData, IdleState, State, XWaylandState},
state::{ConnectorData, IdleState, ScreenlockState, State, XWaylandState},
tasks::{self, idle},
tree::{
container_layout, container_render_data, float_layout, float_titles, DisplayNode,
@ -183,6 +183,10 @@ fn start_compositor2(
data_offer_ids: Default::default(),
drm_dev_ids: Default::default(),
ring: ring.clone(),
lock: ScreenlockState {
locked: Cell::new(false),
lock: Default::default(),
},
});
state.tracker.register(ClientId::from_raw(0));
create_dummy_output(&state);
@ -370,6 +374,7 @@ fn create_dummy_output(state: &Rc<State>) {
status: Default::default(),
scroll: Default::default(),
pointer_positions: Default::default(),
lock_surface: Default::default(),
});
let dummy_workspace = Rc::new(WorkspaceNode {
id: state.node_ids.next(),