From eb7ff4d26667de131d6c386f17fdf9fe0b8ec54d Mon Sep 17 00:00:00 2001 From: monsta Date: Sat, 29 Oct 2016 12:14:09 +0300 Subject: mouse: add helper function for fetching Atom property and don't create property if it's not present (set last argument to True) adapted from: https://github.com/linuxmint/cinnamon-settings-daemon/commit/35d4b97c1a1bed4aa8c679acdd86995d45d1babe --- plugins/mouse/msd-mouse-manager.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'plugins/mouse') diff --git a/plugins/mouse/msd-mouse-manager.c b/plugins/mouse/msd-mouse-manager.c index 43b0267..32f8c1a 100644 --- a/plugins/mouse/msd-mouse-manager.c +++ b/plugins/mouse/msd-mouse-manager.c @@ -200,6 +200,12 @@ xinput_device_has_buttons (XDeviceInfo *device_info) return FALSE; } +static Atom +property_from_name (const char *property_name) +{ + return XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), property_name, True); +} + static gboolean touchpad_has_single_button (XDevice *device) { @@ -210,7 +216,7 @@ touchpad_has_single_button (XDevice *device) gboolean is_single_button = FALSE; int rc; - prop = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "Synaptics Capabilities", False); + prop = property_from_name ("Synaptics Capabilities"); if (!prop) return FALSE; @@ -415,8 +421,7 @@ set_middle_button (MsdMouseManager *manager, unsigned long nitems, bytes_after; unsigned char *data; - prop = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), - "Evdev Middle Button Emulation", True); + prop = property_from_name ("Evdev Middle Button Emulation"); if (!prop) /* no evdev devices */ return; @@ -533,7 +538,7 @@ set_tap_to_click (MsdMouseManager *manager, unsigned char* data; Atom prop, type; - prop = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "Synaptics Tap Action", False); + prop = property_from_name ("Synaptics Tap Action"); if (!prop) return; @@ -608,7 +613,7 @@ set_click_actions (MsdMouseManager *manager, unsigned char* data; Atom prop, type; - prop = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "Synaptics Click Action", False); + prop = property_from_name ("Synaptics Click Action"); if (!prop) return; @@ -673,7 +678,7 @@ set_natural_scroll (MsdMouseManager *manager, glong *ptr; Atom prop, type; - prop = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "Synaptics Scrolling Distance", False); + prop = property_from_name ("Synaptics Scrolling Distance"); if (!prop) return; @@ -744,8 +749,7 @@ synaptics_set_bool (XDeviceInfo *device_info, int act_format; Atom act_type, property; - property = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), property_name, False); - + property = property_from_name (property_name); if (!property) return; @@ -811,8 +815,7 @@ set_touchpad_enabled (XDeviceInfo *device_info, Atom prop_enabled; unsigned char data = state; - prop_enabled = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "Device Enabled", False); - + prop_enabled = property_from_name ("Device Enabled"); if (!prop_enabled) return; -- cgit v1.2.1