This gets asked a lot, so I thought I post it here:
Code:
Ext.ns('Ext.ux');
Ext.ux.FadeInWindow = Ext.extend(Ext.Window, {
    animateTarget : true,
    setAnimateTarget : Ext.emptyFn,
    animShow : function(){
        this.el.fadeIn({
            duration: .25,
            callback: this.afterShow.createDelegate(this, [true], false),
            scope: this
        });
    },
    animHide : function(){
        if (this.el.shadow) {
            this.el.shadow.hide();
        }
        this.el.fadeOut({
            duration: .25,
            callback: this.afterHide,
            scope: this
        });
    }
});