diff options
-rw-r--r-- | config.arg.h | 1 | ||||
-rw-r--r-- | config.default.h | 1 | ||||
-rw-r--r-- | config.mk | 4 | ||||
-rw-r--r-- | dwm.h | 2 | ||||
-rw-r--r-- | float.c | 41 | ||||
-rw-r--r-- | float.h | 5 | ||||
-rw-r--r-- | layout.c | 37 |
7 files changed, 41 insertions, 50 deletions
diff --git a/config.arg.h b/config.arg.h index 9a5bdc6..18be75b 100644 --- a/config.arg.h +++ b/config.arg.h @@ -25,7 +25,6 @@ static Rule rule[] = { \ /* layout(s) */ #include "tile.h" -#include "float.h" #define LAYOUTS \ static Layout layout[] = { \ /* symbol function */ \ diff --git a/config.default.h b/config.default.h index 83d244d..dcf13e3 100644 --- a/config.default.h +++ b/config.default.h @@ -26,7 +26,6 @@ static Rule rule[] = { \ /* layout(s) */ #include "tile.h" -#include "float.h" #define LAYOUTS \ static Layout layout[] = { \ /* symbol function */ \ @@ -3,8 +3,8 @@ VERSION = 4.4 # Customize below to fit your system -# layouts -SRC = float.c tile.c +# additional layouts beside floating +SRC = tile.c # paths PREFIX = /usr/local @@ -120,12 +120,14 @@ unsigned int textw(const char *text); /* return the width of text in px*/ void grabkeys(void); /* grab all keys defined in config.h */ /* layout.c */ +void floating(void); /* arranges all windows floating, fallback layout */ void focusclient(const char *arg); /* focuses next(1)/previous(-1) visible client */ void initlayouts(void); /* initialize layout array */ Client *nexttiled(Client *c); /* returns tiled successor of c */ void restack(void); /* restores z layers of all clients */ void setlayout(const char *arg); /* sets layout, NULL means next layout */ void togglebar(const char *arg); /* shows/hides the bar */ +void togglemax(const char *arg); /* toggles maximization of floating client */ /* main.c */ void updatebarpos(void); /* updates the bar position */ diff --git a/float.c b/float.c deleted file mode 100644 index 25bec69..0000000 --- a/float.c +++ /dev/null @@ -1,41 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#include "dwm.h" - -/* extern */ - -void -floating(void) { - Client *c; - - if(lt->arrange != floating) - return; - - for(c = clients; c; c = c->next) - if(isvisible(c)) { - unban(c); - resize(c, c->x, c->y, c->w, c->h, True); - } - else - ban(c); - focus(NULL); - restack(); -} - -void -togglemax(const char *arg) { - XEvent ev; - - if(!sel || (lt->arrange != floating && !sel->isfloating) || sel->isfixed) - return; - if((sel->ismax = !sel->ismax)) { - sel->rx = sel->x; - sel->ry = sel->y; - sel->rw = sel->w; - sel->rh = sel->h; - resize(sel, wax, way, waw - 2 * sel->border, wah - 2 * sel->border, True); - } - else - resize(sel, sel->rx, sel->ry, sel->rw, sel->rh, True); - drawstatus(); - while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); -} diff --git a/float.h b/float.h deleted file mode 100644 index 6acbe64..0000000 --- a/float.h +++ /dev/null @@ -1,5 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -/* float.c */ -void floating(void); /* arranges all windows floating */ -void togglemax(const char *arg); /* toggles maximization of floating client */ @@ -14,6 +14,24 @@ LAYOUTS /* extern */ void +floating(void) { + Client *c; + + if(lt->arrange != floating) + return; + + for(c = clients; c; c = c->next) + if(isvisible(c)) { + unban(c); + resize(c, c->x, c->y, c->w, c->h, True); + } + else + ban(c); + focus(NULL); + restack(); +} + +void focusclient(const char *arg) { Client *c; @@ -115,3 +133,22 @@ togglebar(const char *arg) { updatebarpos(); lt->arrange(); } + +void +togglemax(const char *arg) { + XEvent ev; + + if(!sel || (lt->arrange != floating && !sel->isfloating) || sel->isfixed) + return; + if((sel->ismax = !sel->ismax)) { + sel->rx = sel->x; + sel->ry = sel->y; + sel->rw = sel->w; + sel->rh = sel->h; + resize(sel, wax, way, waw - 2 * sel->border, wah - 2 * sel->border, True); + } + else + resize(sel, sel->rx, sel->ry, sel->rw, sel->rh, True); + drawstatus(); + while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); +} |