aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.def.h1
-rw-r--r--monsterwm.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/config.def.h b/config.def.h
index 8f2ba88..d7a8f1e 100644
--- a/config.def.h
+++ b/config.def.h
@@ -51,6 +51,7 @@ static key keys[] = {
{ MOD1|SHIFT, XK_m, switch_mode, {.i = MONOCLE}},
{ MOD1|SHIFT, XK_b, switch_mode, {.i = BSTACK}},
{ MOD1|SHIFT, XK_g, switch_mode, {.i = GRID}},
+ { MOD1|SHIFT, XK_f, switch_mode, {.i = FLOAT}},
{ MOD1|CONTROL, XK_q, quit, {NULL}},
{ MOD1|SHIFT, XK_Return, spawn, {.com = termcmd}},
{ MOD4, XK_Down, moveresize, {.v = (int []){ 0, 25, 0, 0 }}}, /* move up */
diff --git a/monsterwm.c b/monsterwm.c
index bab0415..4ec5946 100644
--- a/monsterwm.c
+++ b/monsterwm.c
@@ -19,7 +19,7 @@
#define ISFFT(c) (c->isfullscrn || c->isfloating || c->istransient)
enum { RESIZE, MOVE };
-enum { TILE, MONOCLE, BSTACK, GRID, MODES };
+enum { TILE, MONOCLE, BSTACK, GRID, FLOAT, MODES };
enum { WM_PROTOCOLS, WM_DELETE_WINDOW, WM_COUNT };
enum { NET_SUPPORTED, NET_FULLSCREEN, NET_WM_STATE, NET_ACTIVE, NET_COUNT };
@@ -801,7 +801,7 @@ void switch_mode(const Arg *arg) {
/* tile all windows of current desktop - call the handler tiling function */
void tile(void) {
- if (!head) return; /* nothing to arange */
+ if (!head || mode == FLOAT) return; /* nothing to arange */
layout[head->next ? mode:MONOCLE](wh, TOP_PANEL ? PANEL_HEIGHT:0);
}