added togglefloat to hg tip (i consider this useful for some cases), using MODKEY-Shift-space as shortcut
--- a/config.arg.h Mon Nov 27 10:29:47 2006 +0100
+++ b/config.arg.h Mon Nov 27 10:57:37 2006 +0100
@@ -45,6 +45,7 @@
{ 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 } }, \
--- a/config.default.h Mon Nov 27 10:29:47 2006 +0100
+++ b/config.default.h Mon Nov 27 10:57:37 2006 +0100
@@ -42,6 +42,7 @@
{ 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 } }, \
--- a/dwm.h Mon Nov 27 10:29:47 2006 +0100
+++ b/dwm.h Mon Nov 27 10:57:37 2006 +0100
@@ -164,6 +164,7 @@
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 */
--- a/view.c Mon Nov 27 10:29:47 2006 +0100
+++ b/view.c Mon Nov 27 10:57:37 2006 +0100
@@ -201,6 +201,14 @@
}
void
+togglefloat(Arg *arg) {
+ if (!sel)
+ return;
+ sel->isfloat = !sel->isfloat;
+ arrange();
+}
+
+void
togglemode(Arg *arg) {
arrange = (arrange == dofloat) ? dotile : dofloat;
if(sel)