Percorso

LineHeight > Blog > Linux e Open Source, Scripting e Programmazione > Singolo: Go-compiz!


Lo so, è brutto da dire, ma stiamo lavorando per voi. Stiamo? Sì, io e Andrea Gandino siamo all'opera sul nuovo LineHeight. Avete idee, suggerimenti, volete collaborare o semplicemente sapere perché vi sto tediando con un box giallo in cima a questa pagina? Sentitevi liberi di insultare me e Andrea per qualsiasi motivo, anche commentando la notizia sopracitata.

Restate connessi, mi raccomando.

Go-compiz!

[Immagine] Oggi ho deciso di pubblicare il mio primo script Bash. Si occupa di gestire il gestore di finestre in uso su Linux: se Metacity è avviato, lo sostituisce con Compiz; altrimenti, fa il contrario. Non è uno dei tanti modi per fare pubblicità ad un già noto ed apprezzato gestore di finestre come Compiz. In realtà, volevo solo segnalarvi un piccolo script Bash di mia creazione che si dovrebbe occupare dello switch con Metacity in maniera facile e veloce.
Come sempre, usatelo a vostro rischio e pericolo!

# Compiz startup script!

DirLog="$HOME/.compiz"
MessageLog="$DirLog/message.log"
ErrorLog="$DirLog/error.log"
DatePrefix="$(date +'%A %d %B %Y @ %H:%M:%S'):"

if [ -d "$DirLog" ]; then :
else
        mkdir "$DirLog"
fi

if [ -a "$MessageLog" ]; then :
else
        > "$MessageLog"
fi

if [ -a "$ErrorLog" ]; then :
else
        > "$ErrorLog"
fi

exec 1>>"$MessageLog"
exec 2>>"$ErrorLog"

echo "$DatePrefix"

if [ `ps -A | grep metacity | cut -d' ' -f11` ]
then
        compiz --replace gconf --loose-binding &
        gtk-window-decorator --replace &
        echo "  Compiz caricato corettamente."

        gconftool-2 -s /apps/compiz/general/screen0/options/number_of_desktops "2" --type=int && sleep 1 && gconftool-2 -s /apps/compiz/general/screen0/options/number_of_desktops "1" --type=int
        echo "  Fix sui workspaces applicato."

elif [ `ps -A | grep compiz | cut -d' ' -f11` ]
then
        #gnome-session-remove compiz > /dev/null
        killall -g compiz
        echo "  Compiz chiuso correttamente."

        metacity --replace &
        echo "  Metacity ripristinato."
fi

exit 0

Questo script si occupa di avviare Compiz nel caso che Metacity sia già in esecuzione, e viceversa. Inoltre, scrive in due file di log collocati dentro una cartella ~/.compiz messaggi d'errore stderr e d'output normale stdout completi di data ed ora.

Per cominciare ad utilizzare il programma, inserite tutto il codice dentro un file eseguibile, che io ho collocato in /usr/bin:

$ sudo nano /usr/bin/go-compiz

A questo punto, garantite a quest'ultimo i permessi d'esecuzione.

$ sudo chmod +x /usr/bin/go-compiz

Adesso vi basterà lanciarlo da terminale ogni qualvolta abbiate voglia di cambiare windows manager.

Ovviamente non è niente di speciale, avrei potuto ampliarlo con qualche altra caratteristica, ricostruirlo in funzioni, e cose del genere.

Probabilmente alla maggior parte di voi non serivrà, a meno che non abbiate voglia di compilare - come ho fatto io - Compiz dall'ultima revisione SVN, e senza front-end grafici per la configurazione.

Insomma... devo ancora prendere familiarità col linguaggio, ma come la maggior parte delle cose che creo o trovo interessanti, mi piace condividerle. ;)

Technorati tags:

Non trovi anche tu che questo articolo sia delizioso?

Scritto venerdì 30 marzo 07 alle 19:17 in , . Rispondi

Nessuna risposta

Attualmente non è presente alcuna risposta.

Rispondi

Per inviare un commento clicca su Anteprima. Apparirà un nuovo pulsante Invia per confermare.

Commenti temporaneamente chiusi per motivi di spam. Per qualsiasi informazione contattatemi pure via email.


Articoli