fix tabbed monocle errors
This commit is contained in:
parent
12da4da048
commit
7b657cf04d
2 changed files with 3 additions and 80 deletions
2
config.h
2
config.h
|
@ -89,6 +89,7 @@ static const char *slock[] = { "slock", NULL };
|
||||||
static const char *playpause[] = { "playerctl", "play-pause", NULL };
|
static const char *playpause[] = { "playerctl", "play-pause", NULL };
|
||||||
static const char *next[] = { "f9.sh", NULL };
|
static const char *next[] = { "f9.sh", NULL };
|
||||||
static const char *previous[] = { "playerctl", "previous", NULL };
|
static const char *previous[] = { "playerctl", "previous", NULL };
|
||||||
|
static const char *keepass[] = { "keepassxc", NULL };
|
||||||
|
|
||||||
static Key keys[] = {
|
static Key keys[] = {
|
||||||
/* modifier key function argument */
|
/* modifier key function argument */
|
||||||
|
@ -130,6 +131,7 @@ static Key keys[] = {
|
||||||
{ MODKEY, XK_F7, spawn, {.v = previous } },
|
{ MODKEY, XK_F7, spawn, {.v = previous } },
|
||||||
{ MODKEY, XK_F8, spawn, {.v = playpause } },
|
{ MODKEY, XK_F8, spawn, {.v = playpause } },
|
||||||
{ MODKEY, XK_F9, spawn, {.v = next } },
|
{ MODKEY, XK_F9, spawn, {.v = next } },
|
||||||
|
{ MODKEY|ShiftMask, XK_k, spawn, {.v = keepass } },
|
||||||
TAGKEYS( XK_1, 0)
|
TAGKEYS( XK_1, 0)
|
||||||
TAGKEYS( XK_2, 1)
|
TAGKEYS( XK_2, 1)
|
||||||
TAGKEYS( XK_3, 2)
|
TAGKEYS( XK_3, 2)
|
||||||
|
|
81
dwm.c
81
dwm.c
|
@ -128,7 +128,6 @@ struct Monitor {
|
||||||
unsigned int sellt;
|
unsigned int sellt;
|
||||||
unsigned int tagset[2];
|
unsigned int tagset[2];
|
||||||
int showbar;
|
int showbar;
|
||||||
int showtab;
|
|
||||||
int topbar;
|
int topbar;
|
||||||
int toptab;
|
int toptab;
|
||||||
Client *clients;
|
Client *clients;
|
||||||
|
@ -182,7 +181,6 @@ static void focus(Client *c);
|
||||||
static void focusin(XEvent *e);
|
static void focusin(XEvent *e);
|
||||||
static void focusmon(const Arg *arg);
|
static void focusmon(const Arg *arg);
|
||||||
static void focusstack(const Arg *arg);
|
static void focusstack(const Arg *arg);
|
||||||
static void focuswin(const Arg* arg);
|
|
||||||
static Atom getatomprop(Client *c, Atom prop);
|
static Atom getatomprop(Client *c, Atom prop);
|
||||||
static int getrootptr(int *x, int *y);
|
static int getrootptr(int *x, int *y);
|
||||||
static long getstate(Window w);
|
static long getstate(Window w);
|
||||||
|
@ -222,7 +220,6 @@ static void seturgent(Client *c, int urg);
|
||||||
static void showhide(Client *c);
|
static void showhide(Client *c);
|
||||||
static void sigchld(int unused);
|
static void sigchld(int unused);
|
||||||
static void spawn(const Arg *arg);
|
static void spawn(const Arg *arg);
|
||||||
static void tabmode(const Arg *arg);
|
|
||||||
static void tag(const Arg *arg);
|
static void tag(const Arg *arg);
|
||||||
static void tagmon(const Arg *arg);
|
static void tagmon(const Arg *arg);
|
||||||
static void tile(Monitor *);
|
static void tile(Monitor *);
|
||||||
|
@ -250,8 +247,6 @@ static int xerror(Display *dpy, XErrorEvent *ee);
|
||||||
static int xerrordummy(Display *dpy, XErrorEvent *ee);
|
static int xerrordummy(Display *dpy, XErrorEvent *ee);
|
||||||
static int xerrorstart(Display *dpy, XErrorEvent *ee);
|
static int xerrorstart(Display *dpy, XErrorEvent *ee);
|
||||||
static void zoom(const Arg *arg);
|
static void zoom(const Arg *arg);
|
||||||
static void bstack(Monitor *m);
|
|
||||||
static void bstackhoriz(Monitor *m);
|
|
||||||
|
|
||||||
/* variables */
|
/* variables */
|
||||||
static const char broken[] = "broken";
|
static const char broken[] = "broken";
|
||||||
|
@ -686,7 +681,6 @@ createmon(void)
|
||||||
m->mfact = mfact;
|
m->mfact = mfact;
|
||||||
m->nmaster = nmaster;
|
m->nmaster = nmaster;
|
||||||
m->showbar = showbar;
|
m->showbar = showbar;
|
||||||
m->showtab = showtab;
|
|
||||||
m->topbar = topbar;
|
m->topbar = topbar;
|
||||||
m->gappx = gappx;
|
m->gappx = gappx;
|
||||||
m->lt[0] = &layouts[0];
|
m->lt[0] = &layouts[0];
|
||||||
|
@ -1905,17 +1899,6 @@ togglebar(const Arg *arg)
|
||||||
arrange(selmon);
|
arrange(selmon);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
tabmode(const Arg *arg)
|
|
||||||
{
|
|
||||||
if(arg && arg->i >= 0)
|
|
||||||
selmon->showtab = arg->ui % showtab_nmodes;
|
|
||||||
else
|
|
||||||
selmon->showtab = (selmon->showtab + 1 ) % showtab_nmodes;
|
|
||||||
arrange(selmon);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
togglefloating(const Arg *arg)
|
togglefloating(const Arg *arg)
|
||||||
{
|
{
|
||||||
|
@ -2057,8 +2040,7 @@ updatebarpos(Monitor *m)
|
||||||
if(ISVISIBLE(c)) ++nvis;
|
if(ISVISIBLE(c)) ++nvis;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(m->showtab == showtab_always
|
if((nvis > 1) && (m->lt[m->sellt]->arrange == monocle)) {
|
||||||
|| ((m->showtab == showtab_auto) && (nvis > 1) && (m->lt[m->sellt]->arrange == monocle))) {
|
|
||||||
m->wh -= th;
|
m->wh -= th;
|
||||||
m->ty = m->toptab ? m->wy : m->wy + m->wh;
|
m->ty = m->toptab ? m->wy : m->wy + m->wh;
|
||||||
if ( m->toptab )
|
if ( m->toptab )
|
||||||
|
@ -2384,64 +2366,3 @@ main(int argc, char *argv[])
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
bstack(Monitor *m) {
|
|
||||||
int w, h, mh, mx, tx, ty, tw;
|
|
||||||
unsigned int i, n;
|
|
||||||
Client *c;
|
|
||||||
|
|
||||||
for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++);
|
|
||||||
if (n == 0)
|
|
||||||
return;
|
|
||||||
if (n > m->nmaster) {
|
|
||||||
mh = m->nmaster ? m->mfact * m->wh : 0;
|
|
||||||
tw = m->ww / (n - m->nmaster);
|
|
||||||
ty = m->wy + mh;
|
|
||||||
} else {
|
|
||||||
mh = m->wh;
|
|
||||||
tw = m->ww;
|
|
||||||
ty = m->wy;
|
|
||||||
}
|
|
||||||
for (i = mx = 0, tx = m->wx, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) {
|
|
||||||
if (i < m->nmaster) {
|
|
||||||
w = (m->ww - mx) / (MIN(n, m->nmaster) - i);
|
|
||||||
resize(c, m->wx + mx, m->wy, w - (2 * c->bw), mh - (2 * c->bw), 0);
|
|
||||||
mx += WIDTH(c);
|
|
||||||
} else {
|
|
||||||
h = m->wh - mh;
|
|
||||||
resize(c, tx, ty, tw - (2 * c->bw), h - (2 * c->bw), 0);
|
|
||||||
if (tw != m->ww)
|
|
||||||
tx += WIDTH(c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
bstackhoriz(Monitor *m) {
|
|
||||||
int w, mh, mx, tx, ty, th;
|
|
||||||
unsigned int i, n;
|
|
||||||
Client *c;
|
|
||||||
|
|
||||||
for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++);
|
|
||||||
if (n == 0)
|
|
||||||
return;
|
|
||||||
if (n > m->nmaster) {
|
|
||||||
mh = m->nmaster ? m->mfact * m->wh : 0;
|
|
||||||
th = (m->wh - mh) / (n - m->nmaster);
|
|
||||||
ty = m->wy + mh;
|
|
||||||
} else {
|
|
||||||
th = mh = m->wh;
|
|
||||||
ty = m->wy;
|
|
||||||
}
|
|
||||||
for (i = mx = 0, tx = m->wx, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) {
|
|
||||||
if (i < m->nmaster) {
|
|
||||||
w = (m->ww - mx) / (MIN(n, m->nmaster) - i);
|
|
||||||
resize(c, m->wx + mx, m->wy, w - (2 * c->bw), mh - (2 * c->bw), 0);
|
|
||||||
mx += WIDTH(c);
|
|
||||||
} else {
|
|
||||||
resize(c, tx, ty, m->ww - (2 * c->bw), th - (2 * c->bw), 0);
|
|
||||||
if (th != m->wh)
|
|
||||||
ty += HEIGHT(c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue