void dock_close_window(Window xid)
{
Display *d = XOpenDisplay(NULL);
Window root = DefaultRootWindow(d);
Atom _NET_CLOSE_WINDOW = XInternAtom(d, "_NET_CLOSE_WINDOW", False);
XEvent xev;
xev.xclient.type = ClientMessage;
xev.xclient.send_event = True;
xev.xclient.window = xid;
xev.xclient.message_type = _NET_CLOSE_WINDOW;
xev.xclient.format = 32;
XSendEvent(d, root, False, StructureNotifyMask | SubstructureNotifyMask, &xev);
XCloseDisplay(d);
}