添加默认配置到/etc/maomao/config.conf

This commit is contained in:
DreamMaoMao 2025-02-23 21:38:32 +08:00
parent b531135211
commit 53bf73d8a2
2 changed files with 14 additions and 7 deletions

View file

@ -1,5 +1,5 @@
project('maomao', ['c', 'cpp'], project('maomao', ['c', 'cpp'],
version : '0.1.1' version : '0.1.5'
) )
subdir('protocols') subdir('protocols')
@ -71,3 +71,5 @@ executable('maomao',
prefix = get_option('prefix') prefix = get_option('prefix')
desktop_install_dir = join_paths(prefix, 'share/wayland-sessions') desktop_install_dir = join_paths(prefix, 'share/wayland-sessions')
install_data('maomao.desktop', install_dir : desktop_install_dir) install_data('maomao.desktop', install_dir : desktop_install_dir)
install_data('config.conf', install_dir : '/etc/maomao')

View file

@ -990,9 +990,9 @@ void parse_config(void) {
config.axis_bindings = NULL; config.axis_bindings = NULL;
config.axis_bindings_count = 0; config.axis_bindings_count = 0;
// 获取 MAOMAOCONFIG 环境变量 // 获取 MAOMAOCONFIG 环境变量
const char *maomaoconfig = getenv("MAOMAOCONFIG"); const char *maomaoconfig = getenv("MAOMAOCONFIG");
// 如果 MAOMAOCONFIG 环境变量不存在或为空,则使用 HOME 环境变量 // 如果 MAOMAOCONFIG 环境变量不存在或为空,则使用 HOME 环境变量
if (!maomaoconfig || maomaoconfig[0] == '\0') { if (!maomaoconfig || maomaoconfig[0] == '\0') {
// 获取当前用户家目录 // 获取当前用户家目录
@ -1003,14 +1003,19 @@ const char *maomaoconfig = getenv("MAOMAOCONFIG");
} }
// 构建日志文件路径 // 构建日志文件路径
snprintf(filename, sizeof(filename), "%s/.config/maomao/config.conf", homedir); snprintf(filename, sizeof(filename), "%s/.config/maomao/config.conf", homedir);
// 检查文件是否存在
if (access(filename, F_OK) != 0) {
// 如果文件不存在,则使用 /etc/maomao/config.conf
snprintf(filename, sizeof(filename), "/etc/maomao/config.conf");
}
} else { } else {
// 使用 MAOMAOCONFIG 环境变量作为配置文件夹路径 // 使用 MAOMAOCONFIG 环境变量作为配置文件夹路径
snprintf(filename, sizeof(filename), "%s/config.conf", maomaoconfig); snprintf(filename, sizeof(filename), "%s/config.conf", maomaoconfig);
} }
set_value_default(); set_value_default();
parse_config_file(&config, filename); parse_config_file(&config, filename);
override_config(); override_config();
} }