createkeyboard: do not segfault if xkb_keymap_new_from_names returns NULL
Passing NULL to wlr_keyboard_set_keymap results in a segfault.
Example:
Thread 1 "dwl" received signal SIGSEGV, Segmentation fault.
0x00007ffff7e49b64 in xkb_keymap_ref () from /usr/lib/libxkbcommon.so.0
(gdb) bt
#0 0x00007ffff7e49b64 in xkb_keymap_ref () at /usr/lib/libxkbcommon.so.0
#1 0x00007ffff7f06389 in wlr_keyboard_set_keymap () at /usr/lib/libwlroots.so.11
#2 0x000055555555bc54 in createkeyboard ()
#3 0x000055555555c283 in inputdevice ()
#4 0x00007ffff7e8101e in wl_signal_emit_mutable () at /usr/lib/libwayland-server.so.0
#5 0x00007ffff7e8101e in wl_signal_emit_mutable () at /usr/lib/libwayland-server.so.0
#6 0x00007ffff7edb52c in () at /usr/lib/libwlroots.so.11
#7 0x00007ffff7ee44b6 in () at /usr/lib/libwlroots.so.11
#8 0x000055555555fe66 in main ()
clarify the dependencies needed by dwl
Note that previous df131cdb78c6e3e79c3fafa522f0e4f6b43d2ab4 libX11 headers
were also required for building (but not for runtime)
Also, I want to apologize to the packagers for do not list *all* the required
dependencies before.
update README.md
these things were changed in the code but not in the readme
use <xcb/xcb.h> instead of <X11/Xlib.h>
add [-d] flag to enable debug logging
simplify setting the border color of clients
make the borders red borders for urgent clients
iirc this is the same behavior of dwm
use the same border colors as dwm
add missing url about the COLOR macro
include dwl.desktop in the tarbal
allow specify DATADIR (to install desktop file)