From 46d5f9d1bfd8caaabaabfb7c7e5eac269aff4987 Mon Sep 17 00:00:00 2001 From: "arg@mig29" Date: Mon, 27 Nov 2006 10:57:37 +0100 Subject: added togglefloat to hg tip (i consider this useful for some cases), using MODKEY-Shift-space as shortcut --- config.arg.h | 1 + config.default.h | 1 + dwm.h | 1 + view.c | 8 ++++++++ 4 files changed, 11 insertions(+) diff --git a/config.arg.h b/config.arg.h index 3215c77e..e6ea4ea4 100644 --- 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 index 85cc1353..acacfdc6 100644 --- 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 index 18672d0f..1f7dfe8f 100644 --- 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 e7d7a99f..21e7bbd4 100644 --- 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; -- cgit v1.2.3