Generating a Shadow under Xlib Window

689 views Asked by At

apparently the Window Manager (Compiz in my case) handles the drop shadow you see under all Xlib windows in Ubuntu, so communicating to the X Window system won't affect the default shadow generated on a window that I have created in my code. Therefore how do I communicate through my code with Compiz to assign a larger/smaller/different color shadow under the newly created window?

Edit: I'm using just c++ and the xlib library, not QT

Edit: The method of talking to the window manager is seeming increasingly complex the more I try, so anyone have any other suggestions? Maybe a second window behind the original with some sort of setup?

1

There are 1 answers

0
Andrey Sidorov On

You need to write composite manager to have shadow/transparency and similar effects (I assume you are doing this to learn how it works under the hood. If you just need shadow - pretty much every comp manager have this option, read xcompmgr / compiz manuals)

Here is a very good introduction to Composite/Damage extensions. You need to redirect all toplevel windows and draw them manually on a special overlay window