xlib functions complete