Browse files

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@.
  • Loading branch information...
1 parent d347aa3 commit 71f99ab78fb8f5f8c4ae93f7ed0529320c6fe391 oga committed May 19, 2008
Showing with 10 additions and 3 deletions.
  1. +1 −1 calmwm.h
  2. +5 −1 cwmrc.5
  3. +3 −0 group.c
  4. +1 −1 parse.y
View
2 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"
};
View
6 cwmrc.5
@@ -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 .
View
3 group.c
@@ -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);
View
2 parse.y
@@ -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;

0 comments on commit 71f99ab

Please sign in to comment.