mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-23 02:05:33 +07:00
Move pointer visibility check outside render_pointer()
This commit is contained in:
+8
-11
@@ -1914,12 +1914,6 @@ impl State {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Redraw the pointer if hidden through cursor{} options
|
|
||||||
if self.niri.pointer_visibility == PointerVisibility::Hidden {
|
|
||||||
self.niri.pointer_visibility = PointerVisibility::Visible;
|
|
||||||
self.niri.queue_redraw_all();
|
|
||||||
}
|
|
||||||
|
|
||||||
let default_output = self
|
let default_output = self
|
||||||
.niri
|
.niri
|
||||||
.output_under_cursor()
|
.output_under_cursor()
|
||||||
@@ -3869,10 +3863,6 @@ impl Niri {
|
|||||||
output: &Output,
|
output: &Output,
|
||||||
push: &mut dyn FnMut(PointerRenderElements<R>),
|
push: &mut dyn FnMut(PointerRenderElements<R>),
|
||||||
) {
|
) {
|
||||||
if !self.pointer_visibility.is_visible() {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let _span = tracy_client::span!("Niri::render_pointer");
|
let _span = tracy_client::span!("Niri::render_pointer");
|
||||||
let output_scale = output.current_scale();
|
let output_scale = output.current_scale();
|
||||||
let output_pos = self.global_space.output_geometry(output).unwrap().loc;
|
let output_pos = self.global_space.output_geometry(output).unwrap().loc;
|
||||||
@@ -4308,7 +4298,7 @@ impl Niri {
|
|||||||
|
|
||||||
// The pointer goes on the top.
|
// The pointer goes on the top.
|
||||||
let mut elements = vec![];
|
let mut elements = vec![];
|
||||||
if include_pointer {
|
if include_pointer && self.pointer_visibility.is_visible() {
|
||||||
self.render_pointer(renderer, output, &mut |elem| elements.push(elem.into()));
|
self.render_pointer(renderer, output, &mut |elem| elements.push(elem.into()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5589,7 +5579,14 @@ impl Niri {
|
|||||||
let res_output = res.ok();
|
let res_output = res.ok();
|
||||||
|
|
||||||
let mut pointer = Vec::new();
|
let mut pointer = Vec::new();
|
||||||
|
|
||||||
|
// We check the pointer visibility for Disabled (and not .is_visible()) in order to
|
||||||
|
// show the pointer even when it's hidden through cursor {} options. The user can
|
||||||
|
// then toggle it in the screenshot UI as needed.
|
||||||
|
if self.pointer_visibility != PointerVisibility::Disabled {
|
||||||
self.render_pointer(renderer, &output, &mut |elem| pointer.push(elem));
|
self.render_pointer(renderer, &output, &mut |elem| pointer.push(elem));
|
||||||
|
}
|
||||||
|
|
||||||
let res_pointer = if pointer.is_empty() {
|
let res_pointer = if pointer.is_empty() {
|
||||||
None
|
None
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user