refactor(policy): 删除 action 模块,将 action -> command 解析放在 policy 模块内部
- 删除 src/core/action.c|h,将 spawn 移至 src/base/process - policy_resolve_action 实现完整的 action 分发逻辑 - binding_table_cycle_mode 改为纯计算,返回模式 ID 而非修改状态 - 从 state 移除 state_workspace_cycle_layout / state_cycle_current_output - 新增 ZDWM_COMMAND_QUIT 命令,通过 plan 标志驱动 runtime 退出 - set_binding_mode 现在生成 BIND_KEY effect 以同步后端按键绑定 - 扩展 action 数据类型支持 window_send_to_workspace 和 window_cycle_output
This commit is contained in:
@@ -52,6 +52,16 @@ typedef struct zdwm_action_data_index_only_t {
|
||||
uint32_t index;
|
||||
} zdwm_action_data_index_only_t;
|
||||
|
||||
typedef struct zdwm_action_data_window_send_to_workspace_t {
|
||||
uint32_t index;
|
||||
bool switch_workspace;
|
||||
} zdwm_action_data_window_send_to_workspace_t;
|
||||
|
||||
typedef struct zdwm_action_data_window_cycle_output_t {
|
||||
int32_t delta;
|
||||
bool keep_focus;
|
||||
} zdwm_action_data_window_cycle_output_t;
|
||||
|
||||
typedef struct zdwm_action_t {
|
||||
zdwm_action_type_t type;
|
||||
union {
|
||||
@@ -63,8 +73,9 @@ typedef struct zdwm_action_t {
|
||||
zdwm_action_data_delta_only_t layout_cycle;
|
||||
zdwm_action_data_delta_only_t binding_mode_cycle;
|
||||
zdwm_action_data_delta_only_t window_focus_cycle;
|
||||
zdwm_action_data_index_only_t window_send_to_workspace_same_output_by_index;
|
||||
zdwm_action_data_delta_only_t window_cycle_output;
|
||||
zdwm_action_data_window_send_to_workspace_t
|
||||
window_send_to_workspace_same_output_by_index;
|
||||
zdwm_action_data_window_cycle_output_t window_cycle_output;
|
||||
} as;
|
||||
} zdwm_action_t;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user