feat(state): 初始化 float_rect 并在切换 floating 状态时双向同步

This commit is contained in:
2026-05-07 04:11:44 +08:00
parent 8fcf46979a
commit c1a4795a85
2 changed files with 3 additions and 1 deletions

View File

@@ -355,6 +355,7 @@ const window_t *state_window_add(state_t *state, const window_info_t *info) {
window_set_urgent(window, info->urgent);
window_set_fixed_size(window, info->fixed_size);
window_set_frame_rect(window, info->frame_rect);
window_set_float_rect(window, info->frame_rect);
window_set_title(window, info->title);
window_set_app_id(window, info->app_id);
window_set_role(window, info->role);

View File

@@ -54,7 +54,8 @@ void window_set_floating(window_t *window, bool floating) {
if (floating == window->floating) return;
window->floating = floating;
if (floating) window->float_rect = window->frame_rect;
if (floating) window_set_frame_rect(window, window->float_rect);
else window_set_float_rect(window, window->frame_rect);
}
void window_set_sticky(window_t *window, bool sticky) {