]> git.armaanb.net Git - dwm.git/commitdiff
added togglefloat to hg tip (i consider this useful for some cases), using MODKEY...
authorarg@mig29 <unknown>
Mon, 27 Nov 2006 09:57:37 +0000 (10:57 +0100)
committerarg@mig29 <unknown>
Mon, 27 Nov 2006 09:57:37 +0000 (10:57 +0100)
config.arg.h
config.default.h
dwm.h
view.c

index 3215c77ea99aa118cdf7bda561e132e23bd56bfb..e6ea4ea410cad3222a771d16d6c7d5df6e78307c 100644 (file)
@@ -45,6 +45,7 @@ static Key key[] = { \
        { MODKEY|ControlMask|ShiftMask, XK_4,           toggletag,      { .i = 3 } }, \
        { MODKEY|ShiftMask,             XK_c,           killclient,     { 0 } }, \
        { MODKEY,                       XK_space,       togglemode,     { 0 } }, \
+       { MODKEY|ShiftMask,             XK_space,       togglefloat,    { 0 } }, \
        { MODKEY,                       XK_0,           viewall,        { 0 } }, \
        { MODKEY,                       XK_1,           view,           { .i = 0 } }, \
        { MODKEY,                       XK_2,           view,           { .i = 1 } }, \
index 85cc1353af28f64a35572ea073bbb660dfa1e392..acacfdc6f434e9760f9f07b4eb313789494325f1 100644 (file)
@@ -42,6 +42,7 @@ static Key key[] = { \
        { MODKEY|ControlMask|ShiftMask, XK_5,           toggletag,      { .i = 4 } }, \
        { MODKEY|ShiftMask,             XK_c,           killclient,     { 0 } }, \
        { MODKEY,                       XK_space,       togglemode,     { 0 } }, \
+       { MODKEY|ShiftMask,             XK_space,       togglefloat,    { 0 } }, \
        { MODKEY,                       XK_0,           viewall,        { 0 } }, \
        { MODKEY,                       XK_1,           view,           { .i = 0 } }, \
        { MODKEY,                       XK_2,           view,           { .i = 1 } }, \
diff --git a/dwm.h b/dwm.h
index 18672d0fb2e74fc5eadacf24beca544d5c9cbb09..1f7dfe8f019f572b038c71fba3e8cbed3943bc41 100644 (file)
--- a/dwm.h
+++ b/dwm.h
@@ -164,6 +164,7 @@ extern void focusprev(Arg *arg);            /* focuses previous visible client, arg is ign
 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 togglefloat(Arg *arg);             /* toggles selected client floating/tiled resp. */
 extern void togglemode(Arg *arg);              /* toggles global arrange function (dotile/dofloat) */
 extern void toggleview(Arg *arg);              /* toggles the tag with arg's index (in)visible */
 extern void view(Arg *arg);                    /* views the tag with arg's index */
diff --git a/view.c b/view.c
index e7d7a99f82dc33abfcf8d59ff363c590f0b2fecf..21e7bbd4a037b6dac11e5dfe28b0e37927d7186e 100644 (file)
--- a/view.c
+++ b/view.c
@@ -200,6 +200,14 @@ restack(void) {
        while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
 }
 
+void
+togglefloat(Arg *arg) {
+       if (!sel)
+               return;
+       sel->isfloat = !sel->isfloat;
+       arrange();
+}
+
 void
 togglemode(Arg *arg) {
        arrange = (arrange == dofloat) ? dotile : dofloat;