From acdd4f1ef35c706f36dd755be517a69ba7ed8425 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 20 Feb 2025 17:23:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3next=20prev=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parse_config.h | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/parse_config.h b/parse_config.h index 2ab3b1c8..28939768 100644 --- a/parse_config.h +++ b/parse_config.h @@ -136,6 +136,24 @@ typedef struct { typedef void (*FuncType)(const Arg *); Config config; +int parse_circle_direction(const char *str) { + // 将输入字符串转换为小写 + char lowerStr[10]; + int i = 0; + while (str[i] && i < 9) { + lowerStr[i] = tolower(str[i]); + i++; + } + lowerStr[i] = '\0'; + + // 根据转换后的小写字符串返回对应的枚举值 + if (strcmp(lowerStr, "next") == 0) { + return 1; + } else { + return -1; + } +} + int parse_direction(const char *str) { // 将输入字符串转换为小写 char lowerStr[10]; @@ -311,7 +329,7 @@ FuncType parse_func_name(char *func_name, Arg *arg, char *arg_value) { if (strcmp(func_name, "focusstack") == 0) { func = focusstack; - (*arg).i = atoi(arg_value); + (*arg).i = parse_circle_direction(arg_value); } else if (strcmp(func_name, "focusdir") == 0) { func = focusdir; (*arg).i = parse_direction(arg_value);