dwm

my fork of dwm
Index Commits Files Refs README LICENSE
commit 46d5f9d1bfd8caaabaabfb7c7e5eac269aff4987
parent 35e96b8deba8aae863cef32f2ea2a84ebf162472
Author: arg@mig29 <unknown>
Date:   Mon, 27 Nov 2006 10:57:37 +0100

added togglefloat to hg tip (i consider this useful for some cases), using MODKEY-Shift-space as shortcut
Diffstat:
Mconfig.arg.h | 1+
Mconfig.default.h | 1+
Mdwm.h | 1+
Mview.c | 8++++++++
4 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/config.arg.h b/config.arg.h
@@ -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 } }, \
diff --git a/config.default.h b/config.default.h
@@ -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
@@ -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
@@ -201,6 +201,14 @@ restack(void) {
 }
 
 void
+togglefloat(Arg *arg) {
+    if (!sel)
+        return;
+    sel->isfloat = !sel->isfloat;
+    arrange();
+}
+
+void
 togglemode(Arg *arg) {
     arrange = (arrange == dofloat) ? dotile : dofloat;
     if(sel)