config: use wl_list_append() for libinput categories

...to make it more intuitive.

Also, do not check for existance of name when type==DEFAULT because name
will only exist when type==NONE.
This commit is contained in:
Johan Malm 2024-01-01 17:18:28 +00:00 committed by Johan Malm
parent a63f858f58
commit 94cec51d9f
2 changed files with 10 additions and 8 deletions

View file

@ -3,6 +3,7 @@
#include <strings.h>
#include "common/mem.h"
#include "common/list.h"
#include "config/libinput.h"
#include "config/rcxml.h"
@ -49,20 +50,21 @@ libinput_category_create(void)
{
struct libinput_category *l = znew(*l);
libinput_category_init(l);
wl_list_insert(&rc.libinput_categories, &l->link);
wl_list_append(&rc.libinput_categories, &l->link);
return l;
}
/*
* The default category is the first one with type == DEFAULT_DEVICE and
* no name. After rcxml_read(), a default category always exists.
*/
/* After rcxml_read(), a default category always exists. */
struct libinput_category *
libinput_category_get_default(void)
{
struct libinput_category *l;
wl_list_for_each(l, &rc.libinput_categories, link) {
if (l->type == DEFAULT_DEVICE && !l->name) {
/*
* Iterate in reverse to get the last one added in case multiple
* 'default' profiles were created.
*/
wl_list_for_each_reverse(l, &rc.libinput_categories, link) {
if (l->type == DEFAULT_DEVICE) {
return l;
}
}

View file

@ -79,7 +79,7 @@ configure_libinput(struct wlr_input_device *wlr_input_device)
device_type_from_wlr_device(wlr_input_device);
struct libinput_category *device_category, *dc = NULL;
wl_list_for_each(device_category, &rc.libinput_categories, link) {
wl_list_for_each_reverse(device_category, &rc.libinput_categories, link) {
if (device_category->name) {
if (!strcasecmp(wlr_input_device->name,
device_category->name)) {