You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
3.6 KiB
Diff

diff -ruN dwm-6.3-ori/config.def.h dwm-6.3/config.def.h
--- dwm-6.3-ori/config.def.h 2020-12-27 19:45:35.127385861 +0530
+++ dwm-6.3/config.def.h 2022-02-15 22:58:57.494413995 +0530
@@ -51,6 +51,7 @@
static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
static const int nmaster = 1; /* number of clients in master area */
static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */
+static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */
static const Layout layouts[] = {
/* symbol arrange function */
diff -ruN dwm-6.3-ori/config.mk dwm-6.3/config.mk
--- dwm-6.3-ori/config.mk 2019-02-02 18:25:28.000000000 +0530
+++ dwm-6.3/config.mk 2022-01-08 00:07:39.168466190 +0530
@@ -1,5 +1,5 @@
# dwm version
-VERSION = 6.2
+VERSION = 6.3
# Customize below to fit your system
@@ -25,7 +25,7 @@
LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS}
# flags
-CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
+CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=200809L -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
#CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
CFLAGS = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os ${INCS} ${CPPFLAGS}
LDFLAGS = ${LIBS}
diff -ruN dwm-6.3-ori/drw.c dwm-6.3/drw.c
--- dwm-6.3-ori/drw.c 2019-02-02 18:25:28.000000000 +0530
+++ dwm-6.3/drw.c 2021-08-21 12:16:54.979744439 +0530
@@ -95,6 +95,7 @@
{
XFreePixmap(drw->dpy, drw->drawable);
XFreeGC(drw->dpy, drw->gc);
+ drw_fontset_free(drw->fonts);
free(drw);
}
diff -ruN dwm-6.3-ori/dwm.1 dwm-6.3/dwm.1
--- dwm-6.3-ori/dwm.1 2019-02-02 18:25:28.000000000 +0530
+++ dwm-6.3/dwm.1 2020-07-28 14:30:56.476612159 +0530
@@ -33,7 +33,7 @@
.SH OPTIONS
.TP
.B \-v
-prints version information to standard output, then exits.
+prints version information to stderr, then exits.
.SH USAGE
.SS Status bar
.TP
diff -ruN dwm-6.3-ori/dwm.c dwm-6.3/dwm.c
--- dwm-6.3-ori/dwm.c 2021-08-20 21:02:59.150583765 +0530
+++ dwm-6.3/dwm.c 2022-02-15 23:02:46.767469027 +0530
@@ -177,6 +177,7 @@
static void focusin(XEvent *e);
static void focusmon(const Arg *arg);
static void focusstack(const Arg *arg);
+static Atom getatomprop(Client *c, Atom prop);
static int getrootptr(int *x, int *y);
static long getstate(Window w);
static int gettextprop(Window w, Atom atom, char *text, unsigned int size);
@@ -718,6 +719,9 @@
unsigned int i, occ = 0, urg = 0;
Client *c;
+ if (!m->showbar)
+ return;
+
/* draw status first so it can be overdrawn by tags later */
if (m == selmon) { /* status is only drawn on selected monitor */
char *stc = stextc;
@@ -880,7 +884,7 @@
{
Client *c = NULL, *i;
- if (!selmon->sel)
+ if (!selmon->sel || (selmon->sel->isfullscreen && lockfullscreen))
return;
if (arg->i > 0) {
for (c = selmon->sel->next; c && !ISVISIBLE(c); c = c->next);
@@ -1573,7 +1577,7 @@
if (!arg || !selmon->lt[selmon->sellt]->arrange)
return;
f = arg->f < 1.0 ? arg->f + selmon->mfact : arg->f - 1.0;
- if (f < 0.1 || f > 0.9)
+ if (f < 0.05 || f > 0.95)
return;
selmon->mfact = f;
arrange(selmon);
@@ -1773,11 +1777,13 @@
if (i < m->nmaster) {
h = (m->wh - my) / (MIN(n, m->nmaster) - i);
resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0);
- my += HEIGHT(c);
+ if (my + HEIGHT(c) < m->wh)
+ my += HEIGHT(c);
} else {
h = (m->wh - ty) / (n - i);
resize(c, m->wx + mw, m->wy + ty, m->ww - mw - (2*c->bw), h - (2*c->bw), 0);
- ty += HEIGHT(c);
+ if (ty + HEIGHT(c) < m->wh)
+ ty += HEIGHT(c);
}
}