mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-11-01 22:58:44 -04:00
fix: no animaion can drag and scroller half window not enable
This commit is contained in:
parent
33947c30f2
commit
107c717d9f
1 changed files with 34 additions and 36 deletions
10
src/maomao.c
10
src/maomao.c
|
|
@ -1436,9 +1436,9 @@ bool client_draw_frame(Client *c) {
|
|||
if (!c || !client_surface(c)->mapped)
|
||||
return false;
|
||||
|
||||
if (c->isfullscreen)
|
||||
if(c->isfullscreen) {
|
||||
client_set_opacity(c, 1);
|
||||
else if (c == selmon->sel && !c->animation.running) {
|
||||
} else if(c == selmon->sel && !c->animation.running) {
|
||||
client_set_opacity(c, c->focused_opacity);
|
||||
} else if(!c->animation.running) {
|
||||
client_set_opacity(c, c->unfocused_opacity);
|
||||
|
|
@ -1451,9 +1451,7 @@ bool client_draw_frame(Client *c) {
|
|||
client_animation_next_tick(c);
|
||||
client_apply_clip(c);
|
||||
} else {
|
||||
if (!c->is_clip_to_hide)
|
||||
wlr_scene_node_set_position(&c->scene->node, c->pending.x,
|
||||
c->pending.y);
|
||||
wlr_scene_node_set_position(&c->scene->node, c->pending.x, c->pending.y);
|
||||
c->animainit_geom = c->animation.initial = c->pending = c->current =
|
||||
c->geom;
|
||||
client_apply_clip(c);
|
||||
|
|
@ -5679,13 +5677,13 @@ void resize(Client *c, struct wlr_box geo, int interact) {
|
|||
c->need_output_flush = false;
|
||||
c->animainit_geom = c->current = c->pending = c->animation.current =
|
||||
c->geom;
|
||||
wlr_scene_node_set_position(&c->scene->node, c->geom.x, c->geom.y);
|
||||
apply_border(c, c->geom, 0, 0, CORNER_LOCATION_ALL);
|
||||
client_draw_shadow(c);
|
||||
client_get_clip(c, &clip);
|
||||
wlr_scene_subsurface_tree_set_clip(&c->scene_surface->node, &clip);
|
||||
return;
|
||||
}
|
||||
|
||||
// 如果不是工作区切换时划出去的窗口,就让动画的结束位置,就是上面的真实位置和大小
|
||||
// c->pending 决定动画的终点,一般在其他调用resize的函数的附近设置了
|
||||
if (!c->animation.tagouting && !c->iskilling) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue