config: 添加用户配置加载流程和默认配置
This commit is contained in:
33
src/config/defaults.c
Normal file
33
src/config/defaults.c
Normal file
@@ -0,0 +1,33 @@
|
||||
#include "config/defaults.h"
|
||||
|
||||
#include "base/macros.h"
|
||||
|
||||
bool config_defaults_build(const zdwm_api_t *api,
|
||||
zdwm_config_builder_t *builder,
|
||||
const zdwm_output_info_t *outputs,
|
||||
size_t output_count) {
|
||||
if (!api || !builder || !outputs || output_count == 0) return false;
|
||||
|
||||
zdwm_layout_id_t tile_id = api->register_layout(
|
||||
builder, "tile", "[]=", "builtin tile", api->builtin_layouts.tile);
|
||||
zdwm_layout_id_t monocle_id = api->register_layout(
|
||||
builder, "monocle", "[M]", "builtin monocle", api->builtin_layouts.monocle);
|
||||
zdwm_layout_id_t floating_id =
|
||||
api->register_layout(builder, "floating", "><>", "floating", nullptr);
|
||||
if (tile_id == ZDWM_LAYOUT_ID_INVALID ||
|
||||
monocle_id == ZDWM_LAYOUT_ID_INVALID ||
|
||||
floating_id == ZDWM_LAYOUT_ID_INVALID) {
|
||||
return false;
|
||||
}
|
||||
|
||||
zdwm_layout_id_t layout_ids[] = {tile_id, monocle_id, floating_id};
|
||||
for (size_t i = 0; i < output_count; i++) {
|
||||
if (api->define_workspace(builder, i, "main", layout_ids,
|
||||
countof(layout_ids),
|
||||
tile_id) == ZDWM_WORKSPACE_ID_INVALID) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user