[hackers] [dwm] replaced togglelayout with setlayout

From: Anselm R. Garbe <arg_AT_suckless.org>
Date: Mon Feb 19 18:37:59 2007

changeset: 788:a61fcdf7b4c1
tag: tip
user: Anselm R. Garbe <arg_AT_suckless.org>
date: Mon Feb 19 18:33:15 2007 +0100
summary: replaced togglelayout with setlayout

diff -r 9728e9e85f93 -r a61fcdf7b4c1 config.arg.h
--- a/config.arg.h Mon Feb 19 18:19:43 2007 +0100
+++ b/config.arg.h Mon Feb 19 18:33:15 2007 +0100
@@ -63,7 +63,7 @@ static Key key[] = { \
         { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, { .i = 7 } }, \
         { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, { .i = 8 } }, \
         { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, \
- { MODKEY, XK_space, togglelayout, { 0 } }, \
+ { MODKEY, XK_space, setlayout, { .i = -1 } }, \
         { MODKEY|ShiftMask, XK_space, toggleversatile,{ 0 } }, \
         { MODKEY, XK_0, view, { .i = -1 } }, \
         { MODKEY, XK_1, view, { .i = 0 } }, \
diff -r 9728e9e85f93 -r a61fcdf7b4c1 config.default.h
--- a/config.default.h Mon Feb 19 18:19:43 2007 +0100
+++ b/config.default.h Mon Feb 19 18:33:15 2007 +0100
@@ -58,8 +58,8 @@ static Key key[] = { \
         { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, { .i = 7 } }, \
         { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, { .i = 8 } }, \
         { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, \
- { MODKEY, XK_space, togglelayout, { 0 } }, \
- { MODKEY|ShiftMask, XK_space, toggleversatile { 0 } }, \
+ { MODKEY, XK_space, setlayout, { .i = -1 } }, \
+ { MODKEY|ShiftMask, XK_space, toggleversatile,{ 0 } }, \
         { MODKEY, XK_0, view, { .i = -1 } }, \
         { MODKEY, XK_1, view, { .i = 0 } }, \
         { MODKEY, XK_2, view, { .i = 1 } }, \
@@ -86,7 +86,7 @@ static Key key[] = { \
  * xprop | awk -F '"' '/^WM_CLASS/ { printf("%s:%s:",$4,$2) }; /^WM_NAME/ { printf("%s\n",$2) }' */
 #define RULES \
 static Rule rule[] = { \
- /* class:instance:title regex tags regex versatile */ \
+ /* class:instance:title regex tags regex isversatile */ \
         { "Gimp", NULL, True }, \
         { "MPlayer", NULL, True }, \
         { "Acroread", NULL, True }, \
diff -r 9728e9e85f93 -r a61fcdf7b4c1 dwm.h
--- a/dwm.h Mon Feb 19 18:19:43 2007 +0100
+++ b/dwm.h Mon Feb 19 18:33:15 2007 +0100
@@ -134,10 +134,10 @@ extern Bool isvisible(Client *c); /* re
 extern Bool isvisible(Client *c); /* returns True if client is visible */
 extern void resizemaster(Arg *arg); /* resizes the master percent with arg's index value */
 extern void restack(void); /* restores z layers of all clients */
+extern void setlayout(Arg *arg); /* sets layout, -1 toggles */
 extern void settags(Client *c, Client *trans); /* sets tags of c */
 extern void tag(Arg *arg); /* tags c with arg's index */
 extern void toggleversatile(Arg *arg); /* toggles focusesd client between versatile/and non-versatile state */
-extern void togglelayout(Arg *arg); /* toggles layout */
 extern void toggletag(Arg *arg); /* toggles c tags with arg's index */
 extern void toggleview(Arg *arg); /* toggles the tag with arg's index (in)visible */
 extern void versatile(void); /* arranges all windows versatile */
diff -r 9728e9e85f93 -r a61fcdf7b4c1 event.c
--- a/event.c Mon Feb 19 18:19:43 2007 +0100
+++ b/event.c Mon Feb 19 18:33:15 2007 +0100
@@ -140,7 +140,8 @@ buttonpress(XEvent *e) {
                 if(ev->x < x + blw)
                         switch(ev->button) {
                         case Button1:
- togglelayout(NULL);
+ a.i = -1;
+ setlayout(&a);
                                 break;
                         case Button4:
                                 a.i = 1;
diff -r 9728e9e85f93 -r a61fcdf7b4c1 screen.c
--- a/screen.c Mon Feb 19 18:19:43 2007 +0100
+++ b/screen.c Mon Feb 19 18:33:15 2007 +0100
@@ -191,6 +191,28 @@ restack(void) {
 }
 
 void
+setlayout(Arg *arg) {
+ unsigned int i;
+
+ if(arg->i == -1) {
+ for(i = 0; i < nlayouts && lt != &layout[i]; i++);
+ if(i == nlayouts - 1)
+ lt = &layout[0];
+ else
+ lt = &layout[++i];
+ }
+ else {
+ if(arg->i < 0 || arg->i >= nlayouts)
+ return;
+ lt = &layout[arg->i];
+ }
+ if(sel)
+ lt->arrange();
+ else
+ drawstatus();
+}
+
+void
 settags(Client *c, Client *trans) {
         char prop[512];
         unsigned int i, j;
@@ -253,21 +275,6 @@ toggletag(Arg *arg) {
 }
 
 void
-togglelayout(Arg *arg) {
- unsigned int i;
-
- for(i = 0; i < nlayouts && lt != &layout[i]; i++);
- if(i == nlayouts - 1)
- lt = &layout[0];
- else
- lt = &layout[++i];
- if(sel)
- lt->arrange();
- else
- drawstatus();
-}
-
-void
 toggleversatile(Arg *arg) {
         if(!sel || lt->arrange == versatile)
                 return;
Received on Mon Feb 19 2007 - 18:37:59 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:55:30 UTC