What do you think about cwm(1) maximized mode? I find it rather useful
on small screens. A patch is attached.

-- 
Alexander Polakov | http://rootshell.be/~polachok/
diff -ur cwm/calmwm.h cwm.max/calmwm.h
--- cwm/calmwm.h        Mon Jan 19 00:52:40 2009
+++ cwm.max/calmwm.h    Mon Jan 19 00:48:44 2009
@@ -249,6 +249,7 @@
        struct mousebinding_q    mousebindingq;
 
 #define        CONF_STICKY_GROUPS       0x0001
+#define        CONF_MAX_ALL             0x0010
        int                      flags;
 
        char                     termpath[MAXPATHLEN];
diff -ur cwm/client.c cwm.max/client.c
--- cwm/client.c        Mon Jan 19 00:52:40 2009
+++ cwm.max/client.c    Mon Jan 19 00:49:31 2009
@@ -137,9 +137,11 @@
        client_gethints(cc);
        client_update(cc);
 
-       if (mapped)
+       if (mapped) {
                group_autogroup(cc);
-
+               if ((Conf.flags & CONF_MAX_ALL) && state != IconicState)
+                    client_maximize(cc);
+       }
        return (cc);
 }
 
diff -ur cwm/cwmrc.5 cwm.max/cwmrc.5
--- cwm/cwmrc.5 Mon Jan 19 00:52:40 2009
+++ cwm.max/cwmrc.5     Mon Jan 19 00:50:08 2009
@@ -172,6 +172,13 @@
 By enabling sticky group mode,
 .Xr cwm 1
 will assign new windows to the currently selected group.
+.Pp
+.It Ic maximizeall Ic yes Ns \&| Ns Ic no
+Toggle maximize mode.
+The default behavior for new windows is to not maximize them.
+By enabling maximize mode,
+.Xr cwm 1
+will make all new windows appear fullscreen.
 .El
 .Sh EXAMPLE CONFIGURATION
 .Bd -literal
diff -ur cwm/parse.y cwm.max/parse.y
--- cwm/parse.y Mon Jan 19 00:52:40 2009
+++ cwm.max/parse.y     Mon Jan 19 00:51:25 2009
@@ -64,7 +64,7 @@
 
 %}
 
-%token FONTNAME STICKY GAP MOUSEBIND
+%token FONTNAME STICKY GAP MOUSEBIND MAXIMIZEALL
 %token AUTOGROUP BIND COMMAND IGNORE
 %token YES NO
 %token ERROR
@@ -107,6 +107,12 @@
                        else
                                conf->flags |= CONF_STICKY_GROUPS;
                }
+               | MAXIMIZEALL yesno {
+                       if ($2 == 0)
+                               conf->flags &= ~CONF_MAX_ALL;
+                       else
+                               conf->flags |= CONF_MAX_ALL;
+               }
                | COMMAND STRING string         {
                        conf_cmd_add(conf, $3, $2, 0);
                        free($2);
@@ -202,6 +208,7 @@
                { "fontname",           FONTNAME},
                { "gap",                GAP},
                { "ignore",             IGNORE},
+               { "maximizeall",        MAXIMIZEALL},
                { "mousebind",          MOUSEBIND},
                { "no",                 NO},
                { "sticky",             STICKY},

Reply via email to