X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fclient.c;h=c90c39bf7cceefa6cc658e38c828a0dd0d203189;hb=ff78d28f8bcdbbdd42fe9501ee81185f67a4166a;hp=1f7ce97bcc34389ff9239294c1a248cc4835c231;hpb=d5c824cfd4ec84155772a5c482b0ffdc99dc1ab9;p=chaz%2Fopenbox diff --git a/openbox/client.c b/openbox/client.c index 1f7ce97b..c90c39bf 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -3212,10 +3212,8 @@ static void client_ping_event(ObClient *self, gboolean dead) client_update_title(self); if (!dead) { - /* the window has started responding again, so don't kill it the first - time they click on close, even if it stops responding again in the - future */ - self->close_tried_destroy = FALSE; + /* try kill it nicely the first time again, if it started responding + at some point */ self->close_tried_term = FALSE; } } @@ -3230,15 +3228,13 @@ void client_close(ObClient *self) /* don't use client_kill(), we should only kill based on PID in response to a lack of PING replies */ XKillClient(ob_display, self->window); - else if (self->not_responding && self->close_tried_destroy) + else if (self->not_responding) client_kill(self); - else { + else + /* request the client to close with WM_DELETE_WINDOW */ PROP_MSG_TO(self->window, self->window, wm_protocols, prop_atoms.wm_delete_window, event_curtime, 0, 0, 0, NoEventMask); - self->close_tried_destroy = TRUE; - self->close_tried_term = FALSE; - } } void client_kill(ObClient *self)