diff options
author | oga | 2008-05-19 17:13:55 +0000 |
---|---|---|
committer | oga | 2008-05-19 17:13:55 +0000 |
commit | 7ba072eb1a4c66b68f47468db29b67353fac496c (patch) | |
tree | 07ae20d2127b0b331d300f7d77cb927ff0697ba5 | |
parent | a6afc5f36998efb9a564b3a22d2e36a89812af3d (diff) | |
download | cwm-7ba072eb1a4c66b68f47468db29b67353fac496c.tar.gz |
allow an autogroup value of 0 to mean no group. This means you can set
automatically "sticky" (in the traditional sense of the word) windows in
autogroup mode.
Based on an initial diff from Andrew Fresh, thanks!
ok okan@.
-rw-r--r-- | calmwm.h | 4 | ||||
-rw-r--r-- | cwmrc.5 | 10 | ||||
-rw-r--r-- | group.c | 5 | ||||
-rw-r--r-- | parse.y | 4 |
4 files changed, 15 insertions, 8 deletions
@@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: calmwm.h,v 1.44 2008/05/19 17:11:19 okan Exp $ + * $Id: calmwm.h,v 1.45 2008/05/19 17:13:55 oga Exp $ */ #ifndef _CALMWM_H_ @@ -159,7 +159,7 @@ struct client_ctx { TAILQ_HEAD(client_ctx_q, client_ctx); static char *shortcut_to_name[] = { - "XXX", "one", "two", "three", + "nogroup", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; @@ -1,4 +1,4 @@ -.\" $OpenBSD: cwmrc.5,v 1.6 2008/05/18 19:57:43 okan Exp $ +.\" $OpenBSD: cwmrc.5,v 1.7 2008/05/19 17:13:55 oga Exp $ .\" .\" Copyright (c) 2004,2005 Marius Aamodt Eriksen <marius@monkey.org> .\" @@ -15,7 +15,7 @@ .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .\" The following requests are required for all man pages. -.Dd $Mdocdate: May 18 2008 $ +.Dd $Mdocdate: May 19 2008 $ .Dt CWMRC 5 .Os .Sh NAME @@ -33,7 +33,11 @@ The following options are accepted in the configuration file: Control automatic window grouping, based on the class and/or name properties, where .Ar group -is a number between 1 and 9. +is a number between 0 and 9. +If the group number is 0, then the window will not be grouped; this to +allow for +.Dq sticky +windows in sticky group mode. .Pp The class and name of a window may be obtained using .Xr xprop 1 . @@ -16,7 +16,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: group.c,v 1.15 2008/05/19 17:11:19 okan Exp $ + * $Id: group.c,v 1.16 2008/05/19 17:13:55 oga Exp $ */ #include "headers.h" @@ -328,6 +328,9 @@ group_autogroup(struct client_ctx *cc) } } + if (strncmp("nogroup", group, 7) == 0) + return; + TAILQ_FOREACH(gc, &Groupq, entry) { if (strcmp(shortcut_to_name[gc->shortcut], group) == 0) { _group_add(gc, cc); @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.8 2008/05/18 19:43:50 oga Exp $ */ +/* $OpenBSD: parse.y,v 1.9 2008/05/19 17:13:55 oga Exp $ */ /* * Copyright (c) 2002, 2003, 2004 Henning Brauer <henning@openbsd.org> @@ -125,7 +125,7 @@ main : FONTNAME STRING { struct autogroupwin *aw; char *p; - if ($2 < 1 || $2 > 9) { + if ($2 < 0 || $2 > 9) { free($3); yyerror("autogroup number out of range: %d", $2); YYERROR; |