diff --git a/main.c b/main.c index 06920682..aef7f6f3 100644 --- a/main.c +++ b/main.c @@ -756,10 +756,10 @@ bool client_animation_next_tick(Client *c) { } c->animation.running = false; - if (c->iskilling) { - client_send_close(c); - return false; - } + // if (c->iskilling) { + // client_send_close(c); + // return false; + // } if (c->animation.tagouting) { c->animation.tagouting = false; wlr_scene_node_set_enabled(&c->scene->node, false); @@ -2888,39 +2888,40 @@ keypressmod(struct wl_listener *listener, void *data) { } void pending_kill_client(Client *c) { - c->iskilling = 1; - c->animainit_geom = c->geom; - c->pending = c->geom; - c->pending.y = c->geom.y + c->mon->m.height - (c->geom.y - c->mon->m.y); + // c->iskilling = 1; + // c->animainit_geom = c->geom; + // c->pending = c->geom; + // c->pending.y = c->geom.y + c->mon->m.height - (c->geom.y - c->mon->m.y); - if (c == grabc) { - cursor_mode = CurNormal; - grabc = NULL; - } + // if (c == grabc) { + // cursor_mode = CurNormal; + // grabc = NULL; + // } - if (c == selmon->sel) { - selmon->sel = NULL; - Client *nextfocus = focustop(selmon); + // if (c == selmon->sel) { + // selmon->sel = NULL; + // Client *nextfocus = focustop(selmon); - if (nextfocus) { - focusclient(nextfocus, 0); - } + // if (nextfocus) { + // focusclient(nextfocus, 0); + // } - if (!nextfocus && selmon->isoverview) { - Arg arg = {0}; - toggleoverview(&arg); - } - } + // if (!nextfocus && selmon->isoverview) { + // Arg arg = {0}; + // toggleoverview(&arg); + // } + // } - if (c->foreign_toplevel) { - wlr_foreign_toplevel_handle_v1_destroy(c->foreign_toplevel); - c->foreign_toplevel = NULL; - } + // if (c->foreign_toplevel) { + // wlr_foreign_toplevel_handle_v1_destroy(c->foreign_toplevel); + // c->foreign_toplevel = NULL; + // } - resize(c, c->geom, 0); - printstatus(); - motionnotify(0, NULL, 0, 0, 0, 0); - arrange(selmon, false); + // resize(c, c->geom, 0); + // printstatus(); + // motionnotify(0, NULL, 0, 0, 0, 0); + // arrange(selmon, false); + client_send_close(c); } void killclient(const Arg *arg) { @@ -4869,6 +4870,8 @@ void unmapnotify(struct wl_listener *listener, void *data) { /* Called when the surface is unmapped, and should no longer be shown. */ Client *c = wl_container_of(listener, c, unmap); + c->iskilling = 1; + if (c == grabc) { cursor_mode = CurNormal; grabc = NULL;