sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit afde6369b83d668084f11cbbffbda29ae68c74e0
parent 3dcfa2ee90d6528c612227667279ad8bc1b57cad
Author: xdavidwu <xdavidwuph@gmail.com>
Date:   Sat, 31 Aug 2019 20:42:08 +0800

seat: avoid unneeded reloading xcursor theme

Load xcursor theme on configuring pointer or tablet tool only if
there was no pointer cap before.

Diffstat:
Msway/input/seat.c | 8++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/sway/input/seat.c b/sway/input/seat.c @@ -593,7 +593,9 @@ static void seat_apply_input_config(struct sway_seat *seat, static void seat_configure_pointer(struct sway_seat *seat, struct sway_seat_device *sway_device) { - seat_configure_xcursor(seat); + if ((seat->wlr_seat->capabilities & WL_SEAT_CAPABILITY_POINTER) == 0) { + seat_configure_xcursor(seat); + } wlr_cursor_attach_input_device(seat->cursor->cursor, sway_device->input_device->wlr_device); seat_apply_input_config(seat, sway_device); @@ -633,7 +635,9 @@ static void seat_configure_touch(struct sway_seat *seat, static void seat_configure_tablet_tool(struct sway_seat *seat, struct sway_seat_device *sway_device) { - seat_configure_xcursor(seat); + if ((seat->wlr_seat->capabilities & WL_SEAT_CAPABILITY_POINTER) == 0) { + seat_configure_xcursor(seat); + } wlr_cursor_attach_input_device(seat->cursor->cursor, sway_device->input_device->wlr_device); seat_apply_input_config(seat, sway_device);