diff options
| author | allusive-dev <[email protected]> | 2023-11-08 14:10:07 +1100 |
|---|---|---|
| committer | allusive-dev <[email protected]> | 2023-11-08 14:10:07 +1100 |
| commit | feb9de0a497bba112a848634087d5498f17bfb60 (patch) | |
| tree | d13444555f77fe8f7982a27d54c25be3f75134e6 /src | |
| parent | backtrack (diff) | |
| download | compfy-feb9de0a497bba112a848634087d5498f17bfb60.tar.xz compfy-feb9de0a497bba112a848634087d5498f17bfb60.zip | |
Testing Issue #23
Diffstat (limited to 'src')
| -rw-r--r-- | src/win.c | 26 |
1 files changed, 20 insertions, 6 deletions
@@ -766,12 +766,26 @@ void win_process_update_flags(session_t *ps, struct managed_win *w) { w->g.height = (uint16_t)round(w->animation_h); } else { - w->animation_dest_center_x = - w->pending_g.x + w->pending_g.width * 0.5; - w->animation_dest_center_y = - w->pending_g.y + w->pending_g.height * 0.5; - w->animation_dest_w = w->pending_g.width; - w->animation_dest_h = w->pending_g.height; + if (ps->o.support_for_wm == WM_SUPPORT_HERB) { + + if (w->pending_g.x < -(w->g.width) && w->pending_g.y < -(w->g.height)) { + log_warn("Animation geometry postion update cancelled"); + } else { + w->animation_dest_center_x = + w->pending_g.x + w->pending_g.width * 0.5; + w->animation_dest_center_y = + w->pending_g.y + w->pending_g.height * 0.5; + w->animation_dest_w = w->pending_g.width; + w->animation_dest_h = w->pending_g.height; + } + } else { + w->animation_dest_center_x = + w->pending_g.x + w->pending_g.width * 0.5; + w->animation_dest_center_y = + w->pending_g.y + w->pending_g.height * 0.5; + w->animation_dest_w = w->pending_g.width; + w->animation_dest_h = w->pending_g.height; + } } w->g.border_width = w->pending_g.border_width; |