Если опустить мелкие подробности - то можно сделать так - используя Xlib & imlib int screenNumber=DefaultScreen(display);
ImlibData *id=Imlib_init(display);
ImlibImage *im=Imlib_load_image(id, "1.png");
int w=im->rgb_width;
int h=im->rgb_height;
Imlib_render(id,im,w,h);
Window window=XCreateSimpleWindow(display, RootWindow(display, screenNumber),
1280-w-10, 1024-h-10, w, h, 1, BlackPixel(display, screenNumber),
WhitePixel(display, screenNumber));
XSelectInput(display, window, ExposureMask|KeyPressMask|ShapeNotifyMask|PointerMotionMask|PointerMotionHintMask|ButtonPressMask);
XShapeSelectInput(display, window, ShapeNotifyMask);
Pixmap pixmap=Imlib_move_image(id,im);
Pixmap mask=Imlib_move_mask(id,im);
XSetWindowBackgroundPixmap(display,window,pixmap);
XShapeCombineMask(display,window,ShapeBounding,0,0,mask,ShapeSet);
XMapWindow(display, window);
XFreePixmap(display, pixmap);
XFreePixmap(display, mask);