summaryrefslogtreecommitdiff
path: root/user/sway/libinput-new-api.patch
blob: 6938f9b3a46de6e37b59555b9e0abad77b1254af (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
From e2409aa49611bee1e1b99033461bfab0a7550c48 Mon Sep 17 00:00:00 2001
From: Simon Ser <contact@emersion.fr>
Date: Wed, 20 Nov 2024 20:41:16 +0100
Subject: [PATCH] ipc-json: handle LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY

New entry introduced in libinput 1.27.0.
---
 meson.build     | 8 +++-----
 sway/ipc-json.c | 5 +++++
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/meson.build b/meson.build
index 71e75fd9bc..9ce5723e78 100644
--- a/meson.build
+++ b/meson.build
@@ -109,11 +109,9 @@ conf_data.set10('HAVE_LIBSYSTEMD', sdbus.found() and sdbus.name() == 'libsystemd
 conf_data.set10('HAVE_LIBELOGIND', sdbus.found() and sdbus.name() == 'libelogind')
 conf_data.set10('HAVE_BASU', sdbus.found() and sdbus.name() == 'basu')
 conf_data.set10('HAVE_TRAY', have_tray)
-conf_data.set10('HAVE_LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM', cc.has_header_symbol(
-	'libinput.h',
-	'LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM',
-	dependencies: libinput,
-))
+foreach sym : ['LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM', 'LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY']
+	conf_data.set10('HAVE_' + sym, cc.has_header_symbol('libinput.h', sym, dependencies: libinput))
+endforeach
 
 scdoc = dependency('scdoc', version: '>=1.9.2', native: true, required: get_option('man-pages'))
 if scdoc.found()
diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index 571338a4f1..fc1df2ac64 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -931,6 +931,11 @@ static json_object *describe_libinput_device(struct libinput_device *device) {
 		case LIBINPUT_CONFIG_DRAG_LOCK_DISABLED:
 			drag_lock = "disabled";
 			break;
+#if HAVE_LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY
+		case LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY:
+			drag_lock = "enabled_sticky";
+			break;
+#endif
 		}
 		json_object_object_add(object, "tap_drag_lock",
 				json_object_new_string(drag_lock));