forked from mirror/dwm
moved floating to layout.c, kept tile.c outside
This commit is contained in:
parent
f6e41b0bc3
commit
0937cc78bf
7 changed files with 41 additions and 50 deletions
|
@ -25,7 +25,6 @@ static Rule rule[] = { \
|
|||
|
||||
/* layout(s) */
|
||||
#include "tile.h"
|
||||
#include "float.h"
|
||||
#define LAYOUTS \
|
||||
static Layout layout[] = { \
|
||||
/* symbol function */ \
|
||||
|
|
|
@ -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
|
||||
|
|
2
dwm.h
2
dwm.h
|
@ -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 */
|
||||
|
|
41
float.c
41
float.c
|
@ -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));
|
||||
}
|
5
float.h
5
float.h
|
@ -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 */
|
37
layout.c
37
layout.c
|
@ -13,6 +13,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));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue