summary refs log tree commit diff
diff options
context:
space:
mode:
authorokan <okan>2017-12-29 16:55:50 +0000
committerokan <okan>2017-12-29 16:55:50 +0000
commitba75c139531d2a52dfa43a0302d9c8886ed1a820 (patch)
tree7cb31f437c90ec6df6e0d42d23268ecaaa3dfdec
parent5ddaed415c895e56e7c1e6e7b881df8d3c4214bd (diff)
downloadcwm-ba75c139531d2a52dfa43a0302d9c8886ed1a820.tar.gz
cwm-ba75c139531d2a52dfa43a0302d9c8886ed1a820.tar.xz
cwm-ba75c139531d2a52dfa43a0302d9c8886ed1a820.zip
Merge group_toggle_membership_leave into the buttonrelease event and only do
border work for a group/ungroup action.
-rw-r--r--calmwm.h3
-rw-r--r--group.c9
-rw-r--r--kbfunc.c2
-rw-r--r--xevents.c6
4 files changed, 7 insertions, 13 deletions
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);
+		}
 	}
 }