diff --git a/calmwm.h b/calmwm.h index 2ccf83a..9bb6c59 100644 --- a/calmwm.h +++ b/calmwm.h @@ -442,8 +442,7 @@ void group_movetogroup(struct client_ctx *, int); void group_only(struct screen_ctx *, int); int group_restore(struct client_ctx *); void group_show(struct group_ctx *); -void group_toggle_membership_enter(struct client_ctx *); -void group_toggle_membership_leave(struct client_ctx *); +void group_toggle_membership(struct client_ctx *); void group_update_names(struct screen_ctx *); void search_match_client(struct menu_q *, struct menu_q *, diff --git a/group.c b/group.c index 2152ee0..10a6bfb 100644 --- a/group.c +++ b/group.c @@ -170,7 +170,7 @@ group_movetogroup(struct client_ctx *cc, int idx) } void -group_toggle_membership_enter(struct client_ctx *cc) +group_toggle_membership(struct client_ctx *cc) { struct screen_ctx *sc = cc->sc; struct group_ctx *gc = sc->group_active; @@ -186,13 +186,6 @@ group_toggle_membership_enter(struct client_ctx *cc) client_draw_border(cc); } -void -group_toggle_membership_leave(struct client_ctx *cc) -{ - cc->flags &= ~CLIENT_HIGHLIGHT; - client_draw_border(cc); -} - int group_holds_only_sticky(struct group_ctx *gc) { diff --git a/kbfunc.c b/kbfunc.c index a662d02..55e8d67 100644 --- a/kbfunc.c +++ b/kbfunc.c @@ -411,7 +411,7 @@ kbfunc_client_toggle_group(void *ctx, struct cargs *cargs) XGrabKeyboard(X_Dpy, cc->win, True, GrabModeAsync, GrabModeAsync, CurrentTime); - group_toggle_membership_enter(cc); + group_toggle_membership(cc); } void diff --git a/xevents.c b/xevents.c index 95453f8..444b99a 100644 --- a/xevents.c +++ b/xevents.c @@ -260,8 +260,10 @@ xev_handle_buttonrelease(XEvent *ee) struct client_ctx *cc; if ((cc = client_find(e->window)) != NULL) { - if (cc->flags & CLIENT_ACTIVE) - group_toggle_membership_leave(cc); + if (cc->flags & (CLIENT_ACTIVE | CLIENT_HIGHLIGHT)) { + cc->flags &= ~CLIENT_HIGHLIGHT; + client_draw_border(cc); + } } }