diff --git a/README.md b/README.md
index 1ac5b4b..62ae872 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,7 @@ given the base on which it is built. Implemented default features are:
   monitoring
 - Provide information to external status bars via stdout/stdin
 - Urgency hints via xdg-activate protocol
-- Support screen lockers via input-inhibitor protocol
+- Support screen lockers via ext-session-lock-v1 protocol
 - Various Wayland protocols
 - XWayland support as provided by wlroots (can be enabled in `config.mk`)
 - Zero flickering - Wayland users naturally expect that "every frame is perfect"
@@ -50,14 +50,28 @@ Feature *non-goals* for the main codebase include:
 
 ## Building dwl
 
-dwl has only two dependencies: `wlroots` and `wayland-protocols`. 
+dwl has the following dependencies:
+```
+libinput
+wayland
+wlroots (compiled with the libinput backend)
+xkbcommon
+wayland-protocols (compile-time only)
+pkg-config (compile-time only)
+```
+If you enable X11 support:
+```
+libxcb
+libxcb-wm
+wlroots (compiled with X11 support)
+Xwayland (runtime only)
+```
 
 Simply install these (and their `-devel` versions if your distro has separate
 development packages) and run `make`.  If you wish to build against a Git
 version of wlroots, check out the [wlroots-next branch].
 
-To enable XWayland, you should also install xorg-xwayland and uncomment its flag
-in `config.mk`.
+To enable XWayland, you should uncomment its flags in `config.mk`.
 
 ## Configuration
 
@@ -83,6 +97,7 @@ When dwl is run with no arguments, it will launch the server and begin handling
 any shortcuts configured in `config.h`. There is no status bar or other
 decoration initially; these are instead clients that can be run within
 the Wayland session.
+Do note that the background color is black.
 
 If you would like to run a script or command automatically at startup, you can
 specify the command using the `-s` option. This command will be executed as a
@@ -106,7 +121,7 @@ automatically, you will need to configure it prior to launching `dwl`, e.g.:
 
 ### Status information
 
-Information about selected layouts, current window title, and
+Information about selected layouts, current window title, app-id, and
 selected/occupied/urgent tags is written to the stdin of the `-s` command (see
 the `printstatus()` function for details).  This information can be used to
 populate an external status bar with a script that parses the information.
diff --git a/dwl.c b/dwl.c
index 6bc0bb7..6db82d6 100644
--- a/dwl.c
+++ b/dwl.c
@@ -2628,7 +2628,8 @@ urgent(struct wl_listener *listener, void *data)
 	if (!c || c == focustop(selmon))
 		return;
 
-	client_set_border_color(c, urgentcolor);
+	if (client_surface(c)->mapped)
+		client_set_border_color(c, urgentcolor);
 	c->isurgent = 1;
 	printstatus();
 }