neděle 10. května 2009

Spuštění programu, který nerad Compiz

Občas si zahraji UT2004 a protože Compiz může dělat problémy, je dobré ho před spuštěním hry vypnout. Napsal jsem skript nocompiz, který, pokud dostane jako parametr cestu k programu, zajistí jeho spuštění bez Compizu a po ukončení programu Compiz opět spustí, pokud byl předtím aktivní. Pokud nocompiz nedostane žádný parametr, nabídne vytvoření spouštěče na vaši Plochu (Desktop), který využije ke spouštění vybraného programu sebe sama. Objeví se dialog pro výběr souboru a po jeho výběru se zobrazí okno pro zadání jména spuštěče. Pokud ukončíte okno výběru souboru bez výběru, program se ukončí, pokud nezadáte jméno, dostane spouštěč jméno nonameSkript můžete umístit, kam chcete, ale po vytvoření spouštěče, ho již nesmíte přemisťovat. Nezapoměňte souboru nastavit spustitelný příznak. Ikonu si můžete nastavit normálně, pravým myšítkem na spouštěč ve vlastnostech. ...



nocompiz
#!/bin/bash

if [ "$1" ]
 then
   if [ `pidof compiz.real` ] ; then metacity --replace & C="yes"; fi
   sleep 3
   while `pidof compiz.real`; do sleep 1; done
   bash -c "$1" &
   if [ "$C" ]; then
    zenity --info --title=nocompiz --text="Po potvrzení se obnoví Compiz"; compiz --replace &

    sleep 3
    until [ `pidof compiz.real` ]; do sleep 1; done
    notify-send nocompiz "Compiz aktivován"
    exit
   fi
 else
   R=`zenity --title="Vyberte program, který chcete spouštět bez Compizu" --file-selection`
   if [ ! -n "$R" ]; then echo "Nebyl vybrán žádný soubor!"; exit; fi
   X=`dirname $R|sed 's/\//\\\\\//g'`\\/; E=`echo $R | sed "s/$X//"`
   N=`zenity --title="nocompiz" --text="Zadejte jméno spouštěče" --entry --entry-text="$E"`

   [ -n "$N" ] || N="noname"
   L=`xdg-user-dir DESKTOP`"/"$N".desktop"
   echo "#!/usr/bin/env xdg-open

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Icon[cs_CZ]=gnome-panel-launcher" > $L
   echo "Name[cs_CZ]="$N >> $L
   echo "Exec="$0 \""$R"\" >> $L
   echo "Name="$N >> $L
   echo "Icon=gnome-panel-launcher" >> $L
   chmod +x $L
fi

Často se stává, že se proces spuštěného programu neukončí ihned, může to chvíli trvat. Například hra se už ukončila, vrátili jste se do systému, ale proces hry ještě chvíli běží, než zanikne. A protože to někdy bývá docela dlouho, zařadil jsem do programu klikátko, které vám kliknutím umožní obnovu Compizu ihned po opuštění onoho programu.

Žádné komentáře:

Okomentovat

Zkuste prosím při komentováni používat místo volby Anonymní volbu Název/adresa URL, kde vyplníte nějakou přezdívku, adresu zadávat nemusíte. Vědět, které příspěvky jsou od jednoho člověka, je fajn. Díky.

Pokud by se vám náhodou odeslaný komentář na stránce nezobrazil, vytáhnu ho z koše hned jak si toho všimnu. I Google spam filter se občas sekne.