diff --git a/src/layout.c b/src/layout.c index 78d7f74..e573538 100644 --- a/src/layout.c +++ b/src/layout.c @@ -837,9 +837,21 @@ uicb_toggle_resizehint(uicb_t cmd) void uicb_toggle_abovefc(uicb_t cmd) { + Client *c; + screen_get_sel(); - tags[selscreen][seltag[selscreen]].abovefc = !tags[selscreen][seltag[selscreen]].abovefc; + if(!(tags[selscreen][seltag[selscreen]].abovefc = !tags[selscreen][seltag[selscreen]].abovefc)) + { + for(c = clients; c; c = c->next) + if(c->flags & AboveFlag) + { + c->flags &= ~AboveFlag; + break; + } + + tags[selscreen][seltag[selscreen]].layout.func(selscreen); + } client_focus(sel);