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?
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