about summary refs log tree commit diff
path: root/group.c
diff options
context:
space:
mode:
authorLeah Neukirchen <leah@vuxu.org>2019-02-25 19:45:12 +0100
committerLeah Neukirchen <leah@vuxu.org>2019-02-25 19:45:12 +0100
commitf4286ad453f01d79c9825b1b75c629901fb11732 (patch)
tree0302f500094bd667b9a2a4c3a59279badc32e429 /group.c
parent544b4da339347c75f56ca2229ffddb4bdcf86fa0 (diff)
parenta5ba9aa9da9567244d1c3d1d8ccacfdb51b044de (diff)
downloadcwm-f4286ad453f01d79c9825b1b75c629901fb11732.tar.gz
cwm-f4286ad453f01d79c9825b1b75c629901fb11732.tar.xz
cwm-f4286ad453f01d79c9825b1b75c629901fb11732.zip
cvsimport
* refs/heads/master:
  Add 'group-close-[n]' action to close all windows within specified group.
  simplify screen 'area' usage for initial client placement
  restore order from before r1.248 (vtile/vtile containment changes).
  Rename internal functions to delinate between client remove, delete and xproto delete; 'window-close' is now the proper action, but 'window-delete' as an alias will remain until more interesting changes require breaking configs.
  Limit vtile/htile actions to clients fully within the screen of master client.
  fix missing includes
Diffstat (limited to 'group.c')
-rw-r--r--group.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/group.c b/group.c
index 124f778..3088ae7 100644
--- a/group.c
+++ b/group.c
@@ -250,6 +250,23 @@ group_only(struct screen_ctx *sc, int idx)
 }
 
 void
+group_close(struct screen_ctx *sc, int idx)
+{
+	struct group_ctx	*gc;
+	struct client_ctx	*cc;
+
+	if (idx < 0 || idx >= Conf.ngroups)
+		return;
+
+	TAILQ_FOREACH(gc, &sc->groupq, entry) {
+		if (gc->num == idx) {
+			TAILQ_FOREACH(cc, &gc->clientq, group_entry)
+				client_close(cc);
+		}
+	}
+}
+
+void
 group_cycle(struct screen_ctx *sc, int flags)
 {
 	struct group_ctx	*newgc, *oldgc, *showgroup = NULL;