Désactiver compiz pour lancer un jeu vidéo voir une vidéo

Les pilotes poulsbo sont très mal pris en charge sur linux voir pas pris en charge pour les dernières versions de Xorg.
Il est comme même possible d'utiliser les effets 3D du bureau avec compiz néanmoins la lecture d'une vidéo voir certains "petits" jeux (et programmes comme Google Earth) peut se révéler chaotique. Il est possible d'utiliser une parade qui consiste à désactiver les effets du bureau au lancement des applications problématiques, bien sûr on pourrait utiliser fusion-icon et faire ça manuellement mais cela n'est vraiment pas pratique et encombre la zone de notification pour pas grand chose. L'astuce est la suivante:

En me basant sur le script Compiz fusion et les jeux 3D qui notons si on lance 2 fois une application réactive compiz..., mon script ne permet pas se genre de légèreté, même si c'est un peu barbare...

Installation manuelle
Créons un fichier dans /usr/bin

[BASH linenumbers='false'] sudo nano /usr/bin/cponoff [/BASH]  
Et copions le contenu de ce script:

[BASH linenumbers='false'] #!/bin/bash #Vérifié pour une utilisation avec les applications: vlc, totem ou un jeu. #Vérifié pour une utilisation avec des fichiers: audios ou vidéos. #set -xv titre="Cponoff" texte_off="Cponoff a désactivé compiz pour lire votre vidéo..." texte_on="Cponoff a réactivé compiz..." erreur="Une instance est déjà ouverte.\\nFermez les applications utilisant cponoff et recommencez." application=$1 fichier=$2 nom=${fichier%.*} ext=${fichier#$nom} ext=`echo $ext | sed 's/\\.//g'` compiz=`ps -ef | grep 'compiz' | grep -v grep` cponoff_() { if [ "$compiz" != "" ]; then composite=`cat $HOME/.gconf/apps/metacity/general/%gconf.xml | \\ grep compositing_manager | \\ sed "s#^.*value=\\"\\(.*\\)\\"/>#\\1#"` if [ "$composite" == "true" ]; then comp_act=on gconftool-2 --type=Boolean --set /apps/metacity/general/compositing_manager false else comp_act=off fi metacity --replace& sleep 5 if [ "$icone" ]; then notify-send -t 20000 -i "$icone" "$titre" "$texte_off" fi if [ "$fichier" ]; then $application "$fichier" else $application fi if [ "$application" = "" ]; then sleep 1 else compiz --replace& if [ "$comp_act" == "on" ]; then gconftool-2 --type=Boolean --set /apps/metacity/general/compositing_manager true fi sleep 10 if [ "$icone" ]; then notify-send -t 20000 -i "$icone" "$titre" "$texte_on" fi fi else if [ "$fichier" ]; then $application "$fichier" else $application fi compiz --replace& if [ "$comp_act" == "on" ]; then gconftool-2 --type=Boolean --set /apps/metacity/general/compositing_manager true fi fi } if [ "$2" ]; then ## lancement d'une musique (ou ajout à la playlist) if [ "$ext" == "raw" ] || [ "$ext" == "wav" ] || [ "$ext" == "bwf" ] || [ "$ext" == "aiff" ] || [ "$ext" == "caf" ] || [ "$ext" == "cda" ] \\ || [ "$ext" == "atrac" ] || [ "$ext" == "flac" ] \\ || [ "$ext" == "mp3" ] || [ "$ext" == "ogg" ] || [ "$ext" == "wma" ] || [ "$ext" == "au" ] || [ "$ext" == "asf" ] || [ "$ext" == "aa" ] || [ "$ext" == "aac" ] \\ || [ "$ext" == "midi" ] then if [ "$application" == "totem" ]; then $application --enqueue "$fichier" else $application "$fichier" fi elif [ "$compiz" != "" ]; then ## lancement d'une vidéo if [ "$ext" == "avi" ] || [ "$ext" == "flv" ] || [ "$ext" == "mov" ] || [ "$ext" == "moov" ] || [ "$ext" == "mpg" ] || [ "$ext" == "mpeg" ] || [ "$ext" == "vob" ] || [ "$ext" == "wmv" ] then nom_theme=`grep icon_theme $HOME/.gconf/desktop/gnome/interface/%gconf.xml -A1 | \\ tail -n1 | \\ sed "s#^.*\\(.*\\)#\\1#"` # le grep -A1 affiche une ligne de plus, le tail -n1 affiche 1 ligne à partir de la fin if [ -d $HOME/.icons/$nom_theme ]; then theme=$HOME/.icons/$nom_theme else theme=/usr/share/icons/$nom_theme fi chemin_icone=$theme/`cat $theme/index.theme | grep apps] | sed "s#^.*\\[\\(.*\\)\\]#\\1#"` if [ -f "$chemin_icone/$application.png" ]; then icone="$chemin_icone/$application.png" elif [ -f "$chemin_icone/$application.svg" ]; then icone="$chemin_icone/$application.svg" elif [ -f "$chemin_icone/$application.xpm" ]; then icone="$chemin_icone/$application.xpm" elif [ -f "/usr/share/pixmaps/$application.png" ]; then icone="/usr/share/pixmaps/$application.png" elif [ -f "/usr/share/pixmaps/$application.svg" ]; then icone="/usr/share/pixmaps/$application.svg" elif [ -f "/usr/share/pixmaps/$application.xpm" ]; then icone="/usr/share/pixmaps/$application.xpm" else icone="" fi cponoff_ $application "$fichier" $icone else cponoff_ $application "$fichier" fi else zenity --error --title="$titre" --text="$erreur" fi ## lancement d'une application (en général un jeu) else if [ "$compiz" != "" ]; then cponoff_ $application else zenity --error --title="$titre" --text="$erreur" fi fi [/BASH]  
Comment ça marche ?

Éditer vos lanceurs du menu avec alacarte et remplacer pour totem la commande par:

[BASH linenumbers='false'] cponoff totem %U [/BASH]  
ou pour vlc:

[BASH linenumbers='false'] cponoff vlc %U [/BASH]  
Si vous lancez un jeu ou une application:

[BASH linenumbers='false'] cponoff mon_application [/BASH]  

Notons que si avec totem ou vlc vous lancez des mp3 via nautilus compiz ne se désactivera pas, par contre si vous lancer vlc ou totem tout seul compiz se désactivera afin de prévenir tous problèmes si vous allez ouvrir une vidéo.

Pour finir pas besoin de mettre l'argument "--enqueue" à totem si vous lisez des mp3 il s’ajouteront automatiquement à votre playlist.
Vus : 143
Publié par Philippe EauLand : 110