forked from mirror/dwm
removed the stack position stuff
This commit is contained in:
parent
1c1d09f3e9
commit
10885d349a
8 changed files with 26 additions and 96 deletions
11
config.arg.h
11
config.arg.h
|
@ -8,9 +8,7 @@ const char *tags[] = { "dev", "work", "net", "fnord", NULL };
|
|||
|
||||
#define DEFMODE dotile /* dofloat */
|
||||
#define FLOATSYMBOL "><>"
|
||||
#define STACKPOS StackRight /* StackLeft */
|
||||
#define BSTACKSYMBOL "==="
|
||||
#define VSTACKSYMBOL "[]="
|
||||
#define TILESYMBOL "[]="
|
||||
|
||||
#define FONT "-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso10646-*"
|
||||
#define NORMBGCOLOR "#333333"
|
||||
|
@ -20,7 +18,7 @@ const char *tags[] = { "dev", "work", "net", "fnord", NULL };
|
|||
#define STATUSBGCOLOR "#222222"
|
||||
#define STATUSFGCOLOR "#9999cc"
|
||||
|
||||
#define MASTER 600 /* per mill */
|
||||
#define MASTER 600 /* per thousand */
|
||||
#define MODKEY Mod1Mask
|
||||
|
||||
#define KEYS \
|
||||
|
@ -36,9 +34,8 @@ static Key key[] = { \
|
|||
{ MODKEY, XK_j, focusnext, { 0 } }, \
|
||||
{ MODKEY, XK_k, focusprev, { 0 } }, \
|
||||
{ MODKEY, XK_Return, zoom, { 0 } }, \
|
||||
{ MODKEY, XK_b, togglestackpos, { 0 } }, \
|
||||
{ MODKEY, XK_g, resizecol, { .i = 10 } }, \
|
||||
{ MODKEY, XK_s, resizecol, { .i = -10 } }, \
|
||||
{ MODKEY, XK_g, resizecol, { .i = 15 } }, \
|
||||
{ MODKEY, XK_s, resizecol, { .i = -15 } }, \
|
||||
{ MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \
|
||||
{ MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \
|
||||
{ MODKEY|ShiftMask, XK_3, tag, { .i = 2 } }, \
|
||||
|
|
|
@ -8,9 +8,7 @@ const char *tags[] = { "1", "2", "3", "4", "5", NULL };
|
|||
|
||||
#define DEFMODE dotile /* dofloat */
|
||||
#define FLOATSYMBOL "><>"
|
||||
#define STACKPOS StackRight /* StackLeft */
|
||||
#define BSTACKSYMBOL "==="
|
||||
#define VSTACKSYMBOL "[]="
|
||||
#define TILESYMBOL "[]="
|
||||
|
||||
#define FONT "fixed"
|
||||
#define NORMBGCOLOR "#333366"
|
||||
|
@ -20,7 +18,7 @@ const char *tags[] = { "1", "2", "3", "4", "5", NULL };
|
|||
#define STATUSBGCOLOR "#dddddd"
|
||||
#define STATUSFGCOLOR "#222222"
|
||||
|
||||
#define MASTER 600 /* per mill */
|
||||
#define MASTER 600 /* per thousand */
|
||||
#define MODKEY Mod1Mask
|
||||
|
||||
#define KEYS \
|
||||
|
@ -30,9 +28,8 @@ static Key key[] = { \
|
|||
{ MODKEY, XK_Tab, focusnext, { 0 } }, \
|
||||
{ MODKEY|ShiftMask, XK_Tab, focusprev, { 0 } }, \
|
||||
{ MODKEY, XK_Return, zoom, { 0 } }, \
|
||||
{ MODKEY, XK_b, togglestackpos, { 0 } }, \
|
||||
{ MODKEY, XK_g, resizecol, { .i = 10 } }, \
|
||||
{ MODKEY, XK_s, resizecol, { .i = -10 } }, \
|
||||
{ MODKEY, XK_g, resizecol, { .i = 15 } }, \
|
||||
{ MODKEY, XK_s, resizecol, { .i = -15 } }, \
|
||||
{ MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \
|
||||
{ MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \
|
||||
{ MODKEY|ShiftMask, XK_3, tag, { .i = 2 } }, \
|
||||
|
|
4
draw.c
4
draw.c
|
@ -104,9 +104,7 @@ drawstatus(void) {
|
|||
}
|
||||
|
||||
dc.w = bmw;
|
||||
drawtext(arrange == dofloat ?
|
||||
FLOATSYMBOL : stackpos == StackBottom ?
|
||||
BSTACKSYMBOL : VSTACKSYMBOL, dc.status, False);
|
||||
drawtext(arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, dc.status, False);
|
||||
|
||||
x = dc.x + dc.w;
|
||||
dc.w = textw(stext);
|
||||
|
|
6
dwm.1
6
dwm.1
|
@ -40,8 +40,7 @@ click on a tag label to display all windows with that tag, click on the mode
|
|||
label toggles between tiling and floating mode.
|
||||
.TP
|
||||
.B Button3
|
||||
click on a tag label adds/removes all windows with that tag to/from the view,
|
||||
click on the mode label toggles the stack position (tiling mode).
|
||||
click on a tag label adds/removes all windows with that tag to/from the view.
|
||||
.TP
|
||||
.B Mod1-Button1
|
||||
click on a tag label applies that tag to the focused window.
|
||||
|
@ -63,9 +62,6 @@ Focus previous window.
|
|||
.B Mod1-Return
|
||||
Zooms/cycles current window to/from master area (tiling mode), toggles maximization current window (floating mode).
|
||||
.TP
|
||||
.B Mod1-b
|
||||
Toggle stack position (tiling mode only).
|
||||
.TP
|
||||
.B Mod1-g
|
||||
Grow current area (tiling mode only).
|
||||
.TP
|
||||
|
|
6
dwm.h
6
dwm.h
|
@ -47,10 +47,6 @@ enum { WMProtocols, WMDelete, WMLast }; /* default atoms */
|
|||
enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
|
||||
enum { ColFG, ColBG, ColLast }; /* color */
|
||||
|
||||
typedef enum {
|
||||
StackLeft, StackBottom, StackRight
|
||||
} StackPos; /* stack position*/
|
||||
|
||||
typedef enum {
|
||||
TopLeft, TopRight, BotLeft, BotRight
|
||||
} Corner; /* window corners */
|
||||
|
@ -111,7 +107,6 @@ extern Client *clients, *sel, *stack; /* global client list and stack */
|
|||
extern Cursor cursor[CurLast];
|
||||
extern DC dc; /* global draw context */
|
||||
extern Display *dpy;
|
||||
extern StackPos stackpos;
|
||||
extern Window root, barwin;
|
||||
|
||||
/* client.c */
|
||||
|
@ -170,7 +165,6 @@ 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 resizecol(Arg *arg); /* resizes the master percent with arg's index value */
|
||||
extern void restack(void); /* restores z layers of all clients */
|
||||
extern void togglestackpos(Arg *arg); /* toggles stack position */
|
||||
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 */
|
||||
|
|
6
event.c
6
event.c
|
@ -123,12 +123,8 @@ buttonpress(XEvent *e) {
|
|||
return;
|
||||
}
|
||||
}
|
||||
if(ev->x < x + bmw) {
|
||||
if(ev->button == Button1)
|
||||
if((ev->x < x + bmw) && (ev->button == Button1))
|
||||
togglemode(NULL);
|
||||
else if(ev->button == Button3)
|
||||
togglestackpos(NULL);
|
||||
}
|
||||
}
|
||||
else if((c = getclient(ev->window))) {
|
||||
focus(c);
|
||||
|
|
5
main.c
5
main.c
|
@ -129,10 +129,7 @@ setup(void) {
|
|||
dc.status[ColFG] = getcolor(STATUSFGCOLOR);
|
||||
setfont(FONT);
|
||||
|
||||
bmw = textw(VSTACKSYMBOL) > textw(BSTACKSYMBOL) ?
|
||||
textw(VSTACKSYMBOL) : textw(BSTACKSYMBOL);
|
||||
bmw = bmw > textw(FLOATSYMBOL) ?
|
||||
bmw : textw(FLOATSYMBOL);
|
||||
bmw = textw(TILESYMBOL) > textw(FLOATSYMBOL) ? textw(TILESYMBOL) : textw(FLOATSYMBOL);
|
||||
sx = sy = 0;
|
||||
sw = DisplayWidth(dpy, screen);
|
||||
sh = DisplayHeight(dpy, screen);
|
||||
|
|
53
view.c
53
view.c
|
@ -65,7 +65,6 @@ togglemax(Client *c)
|
|||
/* extern */
|
||||
|
||||
void (*arrange)(Arg *) = DEFMODE;
|
||||
StackPos stackpos = STACKPOS;
|
||||
|
||||
void
|
||||
detach(Client *c) {
|
||||
|
@ -103,28 +102,19 @@ dofloat(Arg *arg) {
|
|||
*/
|
||||
void
|
||||
dotile(Arg *arg) {
|
||||
unsigned int i, n, md, stackw, stackh, tw, th;
|
||||
unsigned int i, n, md, stackw, stackh, th;
|
||||
Client *c;
|
||||
|
||||
for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next))
|
||||
n++;
|
||||
|
||||
if(stackpos == StackBottom) {
|
||||
md = ((sh - bh) * master) / 1000;
|
||||
stackw = sw;
|
||||
stackh = sh - bh - md;
|
||||
}
|
||||
else {
|
||||
md = (sw * master) / 1000;
|
||||
stackw = sw - md;
|
||||
stackh = sh - bh;
|
||||
}
|
||||
|
||||
tw = stackw;
|
||||
if(n > 1)
|
||||
th = stackh / (n - 1);
|
||||
else
|
||||
th = stackh;
|
||||
if(n > 1)
|
||||
th /= (n - 1);
|
||||
|
||||
for(i = 0, c = clients; c; c = c->next) {
|
||||
if(isvisible(c)) {
|
||||
|
@ -140,43 +130,19 @@ dotile(Arg *arg) {
|
|||
c->h = sh - 2 * BORDERPX - bh;
|
||||
}
|
||||
else if(i == 0) { /* master window */
|
||||
if(stackpos == StackLeft)
|
||||
c->x += stackw;
|
||||
switch(stackpos) {
|
||||
case StackLeft:
|
||||
case StackRight:
|
||||
c->w = md - 2 * BORDERPX;
|
||||
c->h = sh - bh - 2 * BORDERPX;
|
||||
break;
|
||||
case StackBottom:
|
||||
c->w = sw - 2 * BORDERPX;
|
||||
c->h = md - 2 * BORDERPX;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else { /* tile window */
|
||||
if(stackpos == StackRight)
|
||||
c->x += md;
|
||||
if(th > bh) {
|
||||
switch(stackpos) {
|
||||
case StackLeft:
|
||||
case StackRight:
|
||||
c->y = sy + (i - 1) * th + bh;
|
||||
if(i + 1 == n)
|
||||
c->h = sh - c->y - 2 * BORDERPX;
|
||||
break;
|
||||
case StackBottom:
|
||||
c->y = sy + md + (i - 1) * th + bh;
|
||||
if(i + 1 == n)
|
||||
c->h = sh - c->y - 2 * BORDERPX;
|
||||
break;
|
||||
}
|
||||
c->w = tw - 2 * BORDERPX;
|
||||
c->w = stackw - 2 * BORDERPX;
|
||||
c->h = th - 2 * BORDERPX;
|
||||
}
|
||||
else { /* fallback if th < bh */
|
||||
if(stackpos == StackBottom)
|
||||
c->y += md;
|
||||
c->w = stackw - 2 * BORDERPX;
|
||||
c->h = stackh - 2 * BORDERPX;
|
||||
}
|
||||
|
@ -311,17 +277,6 @@ toggleview(Arg *arg) {
|
|||
arrange(NULL);
|
||||
}
|
||||
|
||||
void
|
||||
togglestackpos(Arg *arg) {
|
||||
if(arrange == dofloat)
|
||||
return;
|
||||
if(stackpos == StackBottom)
|
||||
stackpos = STACKPOS;
|
||||
else
|
||||
stackpos = StackBottom;
|
||||
arrange(NULL);
|
||||
}
|
||||
|
||||
void
|
||||
view(Arg *arg) {
|
||||
unsigned int i;
|
||||
|
|
Loading…
Reference in a new issue