refactor: 使用 workspace_id_invalid() 替代直接比较 ZDWM_WORKSPACE_ID_INVALID

This commit is contained in:
2026-05-09 04:09:46 +08:00
parent a60d9f31a7
commit 1f4659e7a4
5 changed files with 9 additions and 5 deletions

View File

@@ -127,7 +127,7 @@ static bool
rule_action_valid(const rule_action_t *action, size_t workspace_count) {
if (!action) return false;
if (action->workspace == ZDWM_WORKSPACE_ID_INVALID) {
if (workspace_id_invalid(action->workspace)) {
return action->switch_to_workspace || action->fullscreen ||
action->maximize || action->floating;
}

View File

@@ -92,7 +92,7 @@ static void route_map_request(
bool have_rule_match = rules_resolve(rules, &e->metadata, &action);
if (have_rule_match) {
manage_window_command_t *data = &manage_window_cmd.as.manage_window;
if (action.workspace != ZDWM_WORKSPACE_ID_INVALID) {
if (!workspace_id_invalid(action.workspace)) {
data->workspace = action.workspace;
}
if (action.floating) data->floating = true;

View File

@@ -55,7 +55,7 @@ rule_match_window(const rule_match_t *match, const window_metadata_t *meta) {
static void rule_action_merge(const rule_action_t *src, rule_action_t *dest) {
if (!src || !dest) return;
if (src->workspace != ZDWM_WORKSPACE_ID_INVALID) {
if (!workspace_id_invalid(src->workspace)) {
dest->workspace = src->workspace;
}
dest->switch_to_workspace |= src->switch_to_workspace;

View File

@@ -54,7 +54,7 @@ void state_init(
workspace->layout_count = workspace_desc->layout_count;
workspace->name = p_strdup(workspace_desc->name);
if (output->current_workspace_id == ZDWM_WORKSPACE_ID_INVALID) {
if (workspace_id_invalid(output->current_workspace_id)) {
output->current_workspace_id = workspace->id;
}
}
@@ -62,7 +62,7 @@ void state_init(
for (size_t i = 0; i < state->output_count; i++) {
const output_t *output = &state->outputs[i];
if (output->current_workspace_id == ZDWM_WORKSPACE_ID_INVALID) {
if (workspace_id_invalid(output->current_workspace_id)) {
fatal("output at index %zu has no workspace", i);
}
}

View File

@@ -105,3 +105,7 @@ typedef struct only_window_data_t {
static inline bool window_id_invalid(window_id_t window_id) {
return window_id == ZDWM_WINDOW_ID_INVALID;
}
static inline bool workspace_id_invalid(workspace_id_t workspace_id) {
return workspace_id == ZDWM_WORKSPACE_ID_INVALID;
}