all: implement screen locking
This commit is contained in:
parent
9db389835d
commit
d42add4d18
24 changed files with 618 additions and 6 deletions
|
|
@ -134,6 +134,7 @@ impl NodeSeatState {
|
|||
last.node_seat_state().leave(&seat);
|
||||
last.node_on_leave(&seat);
|
||||
}
|
||||
seat.pointer_stack_modified.set(true);
|
||||
seat.state.tree_changed();
|
||||
}
|
||||
self.release_kb_focus2(focus_last);
|
||||
|
|
@ -273,7 +274,7 @@ impl WlSeatGlobal {
|
|||
let new_mods;
|
||||
{
|
||||
let mut kb_state = self.kb_state.borrow_mut();
|
||||
if state == wl_keyboard::PRESSED {
|
||||
if !self.state.lock.locked.get() && state == wl_keyboard::PRESSED {
|
||||
let old_mods = kb_state.mods();
|
||||
let keysyms = kb_state.unmodified_keysyms(key);
|
||||
for &sym in keysyms {
|
||||
|
|
|
|||
|
|
@ -201,7 +201,8 @@ impl PointerOwner for DefaultPointerOwner {
|
|||
break;
|
||||
}
|
||||
}
|
||||
if (stack.len(), found_tree.len()) == (divergence, divergence) {
|
||||
let psm = seat.pointer_stack_modified.replace(false);
|
||||
if !psm && (stack.len(), found_tree.len()) == (divergence, divergence) {
|
||||
if let Some(node) = found_tree.last() {
|
||||
node.node.clone().node_on_pointer_motion(
|
||||
seat,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue