pointer_owner: give context immediately instead of waiting for refresh
This commit is contained in:
parent
c1b2c7f17c
commit
22f1d92877
3 changed files with 9 additions and 4 deletions
|
|
@ -32,6 +32,9 @@ impl JayPointerRequestHandler for JayPointer {
|
|||
Some(c) => c,
|
||||
_ => return Err(JayPointerError::OutOfBounds),
|
||||
};
|
||||
if self.seat.pointer_node().and_then(|n| n.node_client_id()) != Some(self.client.id) {
|
||||
self.seat.refresh_pointer_stack();
|
||||
}
|
||||
let pointer_node = match self.seat.pointer_node() {
|
||||
Some(n) => n,
|
||||
_ => {
|
||||
|
|
|
|||
|
|
@ -926,6 +926,11 @@ impl WlSeatGlobal {
|
|||
self.pointer_owner.select_workspace(self, selector);
|
||||
}
|
||||
|
||||
pub fn refresh_pointer_stack(self: &Rc<Self>) {
|
||||
self.pointer_stack_modified.set(true);
|
||||
self.apply_changes();
|
||||
}
|
||||
|
||||
pub fn set_focus_follows_mouse(&self, focus_follows_mouse: bool) {
|
||||
self.focus_follows_mouse.set(focus_follows_mouse);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -183,11 +183,8 @@ impl PointerOwnerHolder {
|
|||
|
||||
fn select_element(&self, seat: &Rc<WlSeatGlobal>, usecase: impl SimplePointerOwnerUsecase) {
|
||||
self.revert_to_default(seat);
|
||||
if let Some(node) = seat.pointer_stack.borrow().last() {
|
||||
usecase.node_focus(seat, node);
|
||||
}
|
||||
self.owner.set(Rc::new(SimplePointerOwner { usecase }));
|
||||
seat.trigger_tree_changed(false);
|
||||
seat.refresh_pointer_stack();
|
||||
}
|
||||
|
||||
pub fn select_toplevel(&self, seat: &Rc<WlSeatGlobal>, selector: impl ToplevelSelector) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue