raveit d1deac9
#!/bin/bash
raveit d1deac9
raveit d1deac9
theme=`gsettings get org.mate.Marco.general theme | cut -d\' -f2`
raveit d1deac9
raveit d1deac9
echo "$theme"
raveit d1deac9
raveit d1deac9
function runCompiz() {
raveit d1deac9
	gtk-window-decorator --replace --marco-theme "$theme" &
raveit 0363df9
	exec compiz --replace ccp $@ 
raveit d1deac9
}
raveit d1deac9
raveit d1deac9
ISSW=`glxinfo | grep "Software Rasterizer" -c`
raveit d1deac9
raveit d1deac9
# Try with direct rendering
raveit d1deac9
HAVETFP=`glxinfo | grep texture_from_pixmap -c`
raveit d1deac9
raveit d1deac9
if ( [ $ISSW == 0 ] && [ $HAVETFP -gt 2 ] ); then 
raveit d1deac9
	runCompiz $@
raveit d1deac9
fi
raveit d1deac9
raveit d1deac9
# Try again with indirect rendering
raveit d1deac9
export LIBGL_ALWAYS_INDIRECT=1
raveit d1deac9
raveit d1deac9
HAVETFP=`glxinfo | grep texture_from_pixmap -c`
raveit d1deac9
raveit d1deac9
if ( [ $ISSW == 0 ] && [ $HAVETFP -gt 2 ] ); then 
raveit d1deac9
	runCompiz $@
raveit d1deac9
fi
raveit d1deac9
raveit d1deac9
# Fall back to marco
raveit d1deac9
exec marco $@
raveit d1deac9