Hiltjo Posthuma 3fdf0241fc ignore malformed ConfigureNotify with width or height <= 0
This could crash dwm.

cc repro.c -o repro -lX11; ./repro

int
main(void)
{
	Display *d;
	int screen;
	Window root;

	d = XOpenDisplay(NULL);
	if (!d) {
		fprintf(stderr, "XOpenDisplay failed\n");
		return 1;
	}
	screen = DefaultScreen(d);
	root = RootWindow(d, screen);

	XConfigureEvent ce = {0};
	ce.type = ConfigureNotify;
	ce.display = d;
	ce.event = root;
	ce.window = root;
	ce.width = 0;
	ce.height = 0;
	XSendEvent(d, root, False, StructureNotifyMask, (XEvent *)&ce);
	XFlush(d);

	XCloseDisplay(d);

	return 0;
}
2026-10-16 13:25:55 +02:00
2026-01-30 11:18:38 +01:00
2025-09-29 18:48:27 +02:00
2025-09-27 12:10:17 +02:00
2020-07-08 18:05:50 +02:00
2006-07-19 14:49:19 +02:00
2026-01-10 11:31:44 +01:00
2023-09-22 15:13:29 +02:00
2024-10-05 13:06:08 +02:00

dwm - dynamic window manager
============================
dwm is an extremely fast, small, and dynamic window manager for X.


Requirements
------------
In order to build dwm you need the Xlib header files.


Installation
------------
Edit config.mk to match your local setup (dwm is installed into
the /usr/local namespace by default).

Afterwards enter the following command to build and install dwm (if
necessary as root):

    make clean install


Running dwm
-----------
Add the following line to your .xinitrc to start dwm using startx:

    exec dwm

In order to connect dwm to a specific display, make sure that
the DISPLAY environment variable is set correctly, e.g.:

    DISPLAY=foo.bar:1 exec dwm

(This will start dwm on display :1 of the host foo.bar.)

In order to display status info in the bar, you can do something
like this in your .xinitrc:

    while xsetroot -name "`date` `uptime | sed 's/.*,//'`"
    do
    	sleep 1
    done &
    exec dwm


Configuration
-------------
The configuration of dwm is done by creating a custom config.h
and (re)compiling the source code.
S
Description
See https://dwm.suckless.org/ for info and upstream repo. Here is "patched" branch with some patches applied for my use.
Readme MIT
7.4 MiB
0 Stars 1 Watchers 0 Forks
Languages
C 91.4%
Roff 6.2%
Makefile 2.4%