All pastes #594499 Raw Edit

Mine

public shellscript v1 · immutable
#594499 ·published 2007-06-28 23:42 UTC
rendered paste body
#!/bin/sh# Compiz wrapper# # parts taken from #  git://anongit.opencompositing.org/users/3v1n0/compiz-wrapper# thanks to Treviño (3v1n0) <trevi55@gmail.com># Set to yes to enable verboseVERBOSE="yes"GLXINFO='/usr/bin/glxinfo'COMPIZ_OPTIONS="--ignore-desktop-hints --sm-disable"COMPIZ_PLUGINS=""ENV=""FALLBACKWM="/usr/bin/metacity"FALLBACKWM_OPTIONS="--replace"# No indirect by defaultINDIRECT=1# Echos the arguments if verboseverbose(){	if [ "x$VERBOSE" = "xyes" ]; then		echo -n "$*"	fi}# abort script and run fallback windowmanagerabort_with_fallback_wm(){    verbose "aborting and using fallback: $FALLBACKWM"    if [ -x $FALLBACKWM ]; then	$FALLBACKWM $FALLBACKWM_OPTIONS	exit 1    fi}# Check for non power of two texture supportcheck_npot_texture(){	verbose "Checking for non power of two support: "	if glxinfo 2> /dev/null | egrep -q '(GL_ARB_texture_non_power_of_two|GL_NV_texture_rectangle|GL_EXT_texture_rectangle|GL_ARB_texture_rectangle)' ; then		verbose "present. \n";		return 0;	else		verbose "Not present. \n"		return 1;	fi}# Check for TFPcheck_tfp(){	verbose "Checking for texture_from_pixmap: "	if [ $($GLXINFO 2>/dev/null | grep GLX_EXT_texture_from_pixmap -c) -gt 2 ] ; then		verbose "present. \n"		return 0;	else		verbose "not present. \n"		if [ "$INDIRECT" -eq 0 ]; then			unset LIBGL_ALWAYS_INDIRECT			INDIRECT=1			return 1;		else			verbose "Trying again with indirect rendering:\n";			INDIRECT=0			export LIBGL_ALWAYS_INDIRECT=1			check_tfp;			return $?		fi	fi}# Check wether the composite extension is presentcheck_composite(){	verbose "Checking for Composite extension: "	if xdpyinfo -queryExtensions | grep -q Composite ; then		verbose "present. \n";		return 0;	else		verbose "not present. \n";		return 1;	fi}# Detects if Xgl is runningcheck_xgl(){	verbose "Checking for Xgl: "	if xvinfo | grep -q Xgl ; then		verbose "present. \n"		return 0;	else		verbose "not present. \n"		return 1;	fi}# Check for existence if NV-GLXcheck_nvidia(){	verbose "Checking for nVidia: "	if xdpyinfo | grep -q NV-GLX ; then		verbose "present. \n"		return 0;	else		verbose "not present. \n"		return 1;	fi}running_under_bad_driver(){    LOG=$(xset q|grep "Log file"|awk '{print $3}')    if egrep -q "/usr/lib/xorg/modules/drivers/+(nv|vga|vesa)_drv\.so" $LOG; then	verbose "vesa or vga driver in use"	return 0    fi    return 1}convert_gconf_plugin_list(){    if [ -x /usr/bin/gconftool-2 ]; then	plugins=`gconftool-2 -g /apps/compiz/general/allscreens/options/active_plugins|sed -e 's/,/\ /g' -e 's/\[//' -e 's/\]//'`	verbose "Converting gconf plugin list: '$plugins'"	for i in $plugins; do	    gconftool-2 -s /apps/compiz/plugins/$i/allscreens/options/____plugin_enabled true -t boolean;	done	gconftool-2 -s /apps/compiz/general/allscreens/options/active_plugins [] -t list --list-type string    fi}build_env(){	if check_nvidia; then		ENV="__GL_YIELD=NOTHING "	fi	if [ "$INDIRECT" -eq 0 ]; then		ENV="$ENV LIBGL_ALWAYS_INDIRECT=1 "	fi	if check_xgl; then		if [ -f /usr/lib/nvidia/libGL.so.1.2.xlibmesa ]; then			ENV="$ENV LD_PRELOAD=/usr/lib/nvidia/libGL.so.1.2.xlibmesa"			verbose "Enabling Xgl with nVidia drivers...\n"		fi		if [ -f /usr/lib/fglrx/libGL.so.1.2.xlibmesa ]; then			ENV="$ENV LD_PRELOAD=/usr/lib/fglrx/libGL.so.1.2.xlibmesa"			verbose "Enabling Xgl with fglrx ATi drivers...\n"		fi	fi	if [ -n "$ENV" ]; then		export $ENV	fi}##################### Execution begins here.# if vesa or vga are in use, do not even try glxinfo (LP#119341)if running_under_bad_driver; then    abort_with_fallback_wmfi# check if we have the required bits to run compiz and if not, # fallbackif ! check_tfp || ! check_npot_texture || ! check_composite; then    abort_with_fallback_wmfi# load the ccp plugin if present and fallback to plain gconf if notif [ -f /usr/lib/compiz/libccp.so ]; then	COMPIZ_PLUGINS="$COMPIZ_PLUGINS ccp"        # convert gconf backend plugin list to ccp	convert_gconf_plugin_listelif [ -f /usr/lib/compiz/libgconf.so ]; then	COMPIZ_PLUGINS="$COMPIZ_PLUGINS glib gconf"fi# get environmentbuild_env# start the gtk-window-decorator if presentif [ -x /usr/bin/gtk-window-decorator ]; then	/usr/bin/gtk-window-decorator --replace &fi/usr/bin/compiz.real $COMPIZ_OPTIONS "$@" $COMPIZ_PLUGINS || $FALLBACKWM $FALLBACKWM_OPTIONS