View previous topic :: View next topic |
Author |
Message |
fb99 l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/3047205813ef0c3a7839b6.gif)
Joined: 09 Apr 2003 Posts: 998 Location: Le Locle (Suisse,Neuchâtel)
|
Posted: Fri Dec 23, 2005 8:18 pm Post subject: [How-to] Wmii et Plan9 |
|
|
traduction de ce howto italien de lavish [HOW-TO] wmii e Plan9
Déroulement
- Introduction
- Installation
- wmii ( obligatoire )
- 9base ( obligatoire )
- Plan9Port (facultatif )
- Configuration
- Conclusion
Introduction
Qu'est-ce que plan9 ?
Plan9 est un système d'exploitation Open Source né dans les laboratoires Bell à la fin des années 80' et encore développé à ce jour.
En pratique, il se présente comme étant similaire à un système Unix, mais en réalité il est profondément différent. En fait Plan9 se voulait être un OS focalisé sur le networking à la différence d'un système typique Unix dans lequel il est considérer, de norme, comme un ajout.
Beaucoup d'outils disponibles pour Unix sont présents, mais ils ont été complètement réécrits et améliorés pour la plupart.
Plan9 e été développé autour du principe que tous les objets du système (fichier, processus, périphériques, mécanisme de communication,...) sont couplés (i.e tout réseau) dans un name space dans le système de fichier autour duquel les manipulations des objets se font d'une manière cohérente.
voir aussi info sur wikipedia http://fr.wikipedia.org/wiki/Plan_9 + liens externes
Voici une liste de features trouvé sur le site officiel: -->http://www.cs.bell-labs.com/plan9dist/
Code: | * The dump file system makes a daily "snapshot" of the filestore available to users
* Unicode character set support throughout the system
* Advanced kernel synchronization facilities for parallel processing
* ANSI/POSIX environment emulator (APE)
* Plumbing, a language driven way for applications to communicate
* Acme - an editor, shell and window system for programmers
* Sam - a screen editor with structural regular expressions
* Support for MIME mail messages and IMAP4
* Security - there is no super-user or root, and passwords are never sent over the network
* Venti - archival storage
* Fossil - Unix-like file system built on top of Venti |
Plan9 est disponible pour un grand nombre d'architecture: Intel x86, Sparc, Alpha, Power PC, and Arm.
Il peut entre autre être utiliser in User Space à l'intérieur d'autres OS Unix et Unix-like :Linux (x86, PowerPC, and ARM), FreeBSD (x86), Mac OS X (Power PC), NetBSD (x86 and PowerPC), OpenBSD (x86 and PowerPC), SunOS (Sparc).
Qu'est-ce que wmii ?
Sur le site officiel du projet on peut lire « wmii is a dynamic window manager for X11 ». En réalité cette définition est trop générique et il serait mieux de dire che wmii est un window manager avec des layouts dynamiques pour X11. Il est extémement configurable et très riche en features. Il supporte divers type d'organisation de fenêtre sur le bureau, parmi lesquels:
Code: | * Floating Layout (disposition conventionelle)
* Tiled Layout (disposition horizontale avec un frame principal)
* Vertical Layout (disposition verticale)
* Grid Layout (disposition à damier) |
Les architecture supportées sont aussi nombreuses: Linux, *BSD, Mac OS X, Solaris.
PLan9 et wmii
Quel est le lien entre ces 2 projets ?
Wmii implémente une interface de communication entre les processus conforme au protocol 9P2000[/ur] introduit par Plan9.
En outre, wmii utilise comme language de code pour la configuration [url=http://www.star.le.ac.uk/~tjg/rc/misc/td]rc le shell originale de Plan9.
Installation
Elle comprend obligatoirement 2 paquets: wmii et 9base.
Wmii est le window manager à proprement parler, alors que 9base est un apport des outils suivant de Plan9 sur Unix : Code: | # awk
# basename
# bc
# cat
# cleanname
# date
# echo
# grep
# rc
# sed
# seq
# sleep
# sort
# tee
# test
# touch
# tr
# uniq |
Comme je l'avais déjà dit précédemment, ses outils sont indispensable puisque wmii utilise pour la configuration ( de la version 3 encore en développement) la language de code de rc, le shell original de Plan9.
Je présenterai aussi, facultativement l'installation de Plan9 en User Space.
- Wmii --> obligatoire
La dernière release stable du wm est la 2 ( présente dans portage ).
Pour ma part, je vais m'atteler à l'installation du plus récent
snapshot de développement ( à ce jour 18/11/2005), considéré comme une minor stable release par le développeur. La raison de ce choix, réside dans le fait que dans wmii-2, sh était encore utilisé comme shell de scripting et de ce fait la configuration est complètement différente de celle de la version 3 et suivante.
Préparation d'un répertoire ou et compiler les sources:
Code: | $ mkdir -p ~/sources/wmii
$ cd ~/sources/wmii
$ wget http://wmii.de/snaps/wmii-20051114.tar.gz
$ tar -xzf wmii-20051114.tar.gz
$ cd wmii-20051114 |
À ce point, éditez le fichier config.mk si vous désirez changer quelques options. Si cela vous convient tel quel, wmii sera installé dans /usr/local.
La compilation est très facile :
Code: | $ su
<passwd>
# make clean install |
wmii installé .
Avant de pouvoir le tester, il est nécessaire d'installer 9base, sinon vous ne serez pas en mesure de démarrer le wm.
9base --> obligatoire
En ce qui le concerne, nous allons aussi installer le dernier snapshot disponible :
Code: | $ cd ~/sources
$ mkdir 9base
$ cd 9base
$ wget http://wmii.de/snaps/9base-20051114.tar.gz
$ tar -xzf 9base-20051114.tar.gz
$ cd 9base-20051114 |
Maintenant il s'agit de compiler d'installer les outils avec la même procédure adopter pour wmii.
Toutefois soyez attentifs à ne pas remplacer vos outils par ceux de Plan9 !!! Afin d'éviter ce désagrément , je vous conseil de laissé intact le config.mk pour cette fois. Pas touche ok . L'installation se fera donc par défaut dans /usr/local.
Code: | $ su
<passwd>
# make clean install |
Dès à présent, vous pouvez accéder à wmii !! Si vous êtes aussi intéressés à l'installation du port de Plan9 sur Unix, lisez le paragraphe suivant, sinon passez directement à la section configuration.
Plan9Port --> facultatif
Je vous déjà présenté un brève aperçu de Plan9. Si vous voulez approfondire le port sur Unix et les différents programmes disponibles, je vous renvoie à la page officiel
Nous allons donc exécuter un checkout du cvs et compiler le sw: Code: | $cd ~/sources
$ cvs -d :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs checkout plan9
$ cd plan9
$ ./INSTALL |
à la fin de la compilation, seront affichées les différentes valeurs suggérées pour la variable $PLAN9 et $PATH
Configuration
- Premier lancement
Pour démarrer wmii, vous devrez modifier ( ou créer si vous ne l'avez pas déjà), il fichier ~/.xinitrc, en insérant:
A ce point tout est prêt pour tester votre nouveau wm.
Comme d'habitude, après le chargement, apparaîtra le README, LISEZ-LE, sinon vous ne saurez pas comment vous déplacer, je vous le dit clair et net.
Vous pouvez aussi lire l'introduction aux commandes principales avant d'aller plus loin. --> http://wmii.de/repos/wmii-2/doc/welcome.txt
elle se réfère encore à wmii-2 mais pour l'instant celà devrait suffir.
Fichier de configuration
Ces derniers lors d'une installation par défaut se trouve dans /usr/local/etc/wmii-3/
Code: | $ ls /usr/local/etc/wmii-3/
extern quit welcome
kmode status wmirc |
copier le wmirc et status dans votre $HOME afin de pouvoir le personnaliser : Code: | $ cp /usr/local/etc/wmii-3/status ~/.wmii-3/
$ cp /usr/local/etc/wmii-3/wmirc ~/.wmii-3/ |
wmirc définit les couleurs, les raccourcis, le wallpaper et les choses de ces genres, alors que status est le script rc qui nous pouvons modifier pour personnaliser les autres aspects du wm, par exemple la barre des tâches.
Voilà mes deux fichiers de conf. avec explication des ajouts:
wmirc Code: | SELECTED_BG_COLOR='#4f5153'
SELECTED_FG_COLOR='#ffffff'
SELECTED_BORDER_COLOR='#4f5153'
NORMAL_BG_COLOR='#353535'
NORMAL_FG_COLOR='#e0e0e0'
NORMAL_BORDER_COLOR='#353535'
TEXT_FONT='-artwiz-snap-normal-*-*-*-*-*-*-*-*-*-*-*' |
J'ai changé le MODKEY de alt au bouton WIN.
ensuite j'en ai changé son action Code: | kbind normal $MODKEY-t 'extern aterm' |
de façon à associer à MODKEY+t le changement de aterm à la place de xterm.
J'ai édité cette ligne Code: | wmir write /wm/default/page/tile-width 80 |
pour mettre à 80 % la dimension de la frame principale dans le tiled layout
j'ai personnalisé le fond d'écran avec un wallpaper: Code: | fbsetbg /home/lavish/fade.png |
Et voilà la fichier dans son intégrité: Code: | #!/usr/local/9/bin/rc
# configure wmii
TAB_HEIGHT=16
BAR_HEIGHT=16
BORDER_WIDTH=3
SELECTED_BG_COLOR='#4f5153'
SELECTED_FG_COLOR='#ffffff'
SELECTED_BORDER_COLOR='#4f5153'
NORMAL_BG_COLOR='#353535'
NORMAL_FG_COLOR='#e0e0e0'
NORMAL_BORDER_COLOR='#353535'
TEXT_FONT='-artwiz-snap-normal-*-*-*-*-*-*-*-*-*-*-*'
MODKEY=WIN
NORTHKEY=k
SOUTHKEY=j
WESTKEY=h
EASTKEY=l
nl='
'
fn kbind {
wmir create /keys/mode/$1/$2 $3
}
fn selstyle {
wmir write $1/text-font $TEXT_FONT
wmir write $1/text-color $SELECTED_FG_COLOR
wmir write $1/bg-color $SELECTED_BG_COLOR
wmir write $1/border-color $SELECTED_BORDER_COLOR
}
fn normstyle {
wmir write $1/text-font $TEXT_FONT
wmir write $1/text-color $NORMAL_FG_COLOR
wmir write $1/bg-color $NORMAL_BG_COLOR
wmir write $1/border-color $NORMAL_BORDER_COLOR
}
fn items {
ifs=:$nl { dirs=`{echo $2} }
{
for(dir in $dirs) {
for(file in $dir/*) {
if(! ~ $file $dir^'/*' && ! test -d $file && test -x $file) {
file=`{basename $file}
echo create /menu/items/$1/$"file $"file
}
}
}
} | sort | wmir -f &
}
fn frameconf {
wmir write $1/event/b3press 'wmir write /wm/page/sel/ctl toggle'
wmir write $1/event/b2press 'wmir write /wm/ctl close'
normstyle $1/norm-style
selstyle $1/sel-style
wmir write $1/tab-height $TAB_HEIGHT
if(~ $2 refresh)
wmir write $1/size +0,+0,+0,+0 # causes refresh
}
fn framesconf {
for(frame in `{wmir read $1 | grep '^[0-9]'})
frameconf $1/$frame $2
}
# WMIBAR CONFIGURATION
fn barsucks {
wmir write /bar/$1/b1press 'wmir write /wm/ctl ''select prev'''
wmir write /bar/$1/b3press 'wmir write /wm/ctl ''select next'''
wmir write /bar/$1/b4press 'wmir write /wm/ctl ''select prev'''
wmir write /bar/$1/b5press 'wmir write /wm/ctl ''select next'''
}
wmir write /bar/ctl reset
wmir write /bar/font $TEXT_FONT
wmir write /bar/fgcolor $NORMAL_FG_COLOR
wmir write /bar/bgcolor $NORMAL_BG_COLOR
wmir write /bar/bordercolor $NORMAL_BORDER_COLOR
plab=`{wmir read /bar/new}
wmir write /bar/$plab/b1press 'wmir write /wm/ctl pager'
clab=`{wmir read /bar/new}
wmir write /bar/$clab/fgcolor $SELECTED_FG_COLOR
wmir write /bar/$clab/bgcolor $SELECTED_BG_COLOR
wmir write /bar/$clab/bordercolor $SELECTED_BG_COLOR
barsucks $clab
wmir write /bar/expandable 2
wmir write /bar/geometry 0,south,east,$BAR_HEIGHT
wmir write /bar/ctl 'display 1'
# WMIIWM CONFIGURATION
# default layout (tiled, max, grid or vsplit):
wmir write /wm/default/page/layout tiled
# width of the left frame in tiled layout in percent:
wmir write /wm/default/page/tile-width 80
wmir write /wm/default/core/trans-color $SELECTED_BG_COLOR
wmir write /wm/default/frame/handle-inc 1
# some broken WIMP apps:
wmir create /wm/default/client/'xmms:*'/manage 0
wmir create /wm/default/client/'Gimp:*'/manage 0
wmir write /wm/default/frame/border-width $BORDER_WIDTH
wmir write /wm/default/page/size '0,0,east,south-'^$BAR_HEIGHT
wmir write /wm/event/client-update \
'text=`{wmir read /wm/page/sel/mode/sel/client/sel/name} \
wmir write /bar/'^$clab^'/data $"text'
wmir write /wm/event/page-update \
'text=`{wmir read /wm/page/sel/name} ^ \
`{wmir read /wm/page/sel/mode/name|awk ''{print substr($0,0,1)}''} ^ \
`{wmir read /keys/lookup|awk ''{print substr($0,7,1)}''} \
wmir write /bar/'^$plab^'/data $"text'
for(page in `{wmir read /wm/page | grep '^[0-9]'}) {
framesconf /wm/page/$page/floating refresh
framesconf /wm/page/$page/managed refresh
}
frameconf /wm/default/frame norefresh
for(i in norm-style norm-style/client)
normstyle /wm/default/core/pager/$i
for(i in sel-style sel-style/client)
selstyle /wm/default/core/pager/$i
wmir write /wm/page/sel/managed/size 0,0,east,south-$BAR_HEIGHT >[2]/dev/null
# WMIKEYS CONFIGURATION
kbind bare $MODKEY-Escape 'kmode normal'
kbind move Escape 'kmode normal'
kbind move $MODKEY-C-r 'kmode resize'
kbind move $NORTHKEY 'wmir write /wm/page/sel/mode/sel/size -0,-30,-0,-0'
kbind move $SOUTHKEY 'wmir write /wm/page/sel/mode/sel/size +0,+30,+0,+0'
kbind move $WESTKEY 'wmir write /wm/page/sel/mode/sel/size -40,-0,-0,-0'
kbind move $EASTKEY 'wmir write /wm/page/sel/mode/sel/size +40,+0,+0,+0'
kbind move S-$NORTHKEY 'wmir write /wm/page/sel/mode/sel/size -0,north,-0,-0'
kbind move S-$SOUTHKEY 'wmir write /wm/page/sel/mode/sel/size +0,south-'^$BAR_HEIGHT^',+0,+0'
kbind move S-$WESTKEY 'wmir write /wm/page/sel/mode/sel/size west,-0,-0,-0'
kbind move S-$EASTKEY 'wmir write /wm/page/sel/mode/sel/size east,+0,+0,+0'
kbind resize Escape 'kmode normal'
kbind resize $MODKEY-C-m 'kmode move'
kbind resize $NORTHKEY 'wmir write /wm/page/sel/mode/sel/size +0,+0,+0,-30'
kbind resize $SOUTHKEY 'wmir write /wm/page/sel/mode/sel/size +0,+0,+0,+30'
kbind resize $WESTKEY 'wmir write /wm/page/sel/mode/sel/size +0,+0,-40,+0'
kbind resize $EASTKEY 'wmir write /wm/page/sel/mode/sel/size +0,+0,+40,+0'
kbind normal $MODKEY-C-b 'kmode bare'
kbind normal $MODKEY-C-m 'kmode move'
kbind normal $MODKEY-C-r 'kmode resize'
kbind normal $MODKEY-C-a 'wmir write /menu/precmd ''''; wmir write /menu/lookup /items/actions; wmir write /menu/ctl ''display 1'''
kbind normal $MODKEY-C-p 'wmir write /menu/precmd extern; wmir write /menu/lookup /items/programs; wmir write /menu/ctl ''display 1'''
kbind normal $MODKEY-C-c 'wmir write /wm/ctl close'
kbind normal $MODKEY-C-q,y quit
kbind normal $MODKEY-C-w,y wmirc
kbind normal $MODKEY-t 'extern aterm'
kbind normal $MODKEY-d 'wmir write /wm/ctl detach'
kbind normal $MODKEY-a 'wmir write /wm/ctl attach'
kbind normal $MODKEY-S-a 'wmir write /wm/ctl icons'
kbind normal $MODKEY-S-space 'wmir write /wm/page/sel/ctl toggle'
kbind normal $MODKEY-Return 'wmir write /wm/page/sel/ctl ''select zoomed'''
kbind normal $MODKEY-C-y 'wmir write /wm/ctl new'
kbind normal $MODKEY-u 'wmir write /wm/page/sel/mode/sel/locked 0'
kbind normal $MODKEY-S-u 'wmir write /wm/page/sel/mode/sel/locked 1'
kbind normal $MODKEY-m 'wmir write /wm/ctl togglemax'
kbind normal $MODKEY-S-t 'wmir write /wm/page/sel/managed/name tiled'
kbind normal $MODKEY-S-g 'wmir write /wm/page/sel/managed/name grid'
kbind normal $MODKEY-S-v 'wmir write /wm/page/sel/managed/name vsplit'
kbind normal $MODKEY-S-f 'wmir write /wm/page/sel/managed/name float'
kbind normal $MODKEY-S-m 'wmir write /wm/page/sel/managed/name max'
kbind normal $MODKEY-$WESTKEY 'wmir write /wm/ctl ''select prev'''
kbind normal $MODKEY-$EASTKEY 'wmir write /wm/ctl ''select next'''
kbind normal $MODKEY-Tab 'wmir write /wm/page/sel/ctl ''select next'''
kbind normal $MODKEY-$SOUTHKEY 'wmir write /wm/page/sel/ctl ''select next'''
kbind normal $MODKEY-$NORTHKEY 'wmir write /wm/page/sel/ctl ''select prev'''
kbind normal $MODKEY-S-Tab 'wmir write /wm/page/sel/mode/sel/ctl ''select next'''
kbind normal $MODKEY-S-$SOUTHKEY 'wmir write /wm/page/sel/mode/sel/ctl ''select next'''
kbind normal $MODKEY-S-$NORTHKEY 'wmir write /wm/page/sel/mode/sel/ctl ''select prev'''
kbind normal $MODKEY-space 'wmir write /wm/page/sel/ctl ''select toggled'''
kbind normal $MODKEY-S-p 'wmir write /wm/ctl pager'
kbind normal $MODKEY-S-0 'wmir write /wm/ctl ''select 10'''
for(i in 1 2 3 4 5 6 7 8 9) {
kbind normal $MODKEY-S-$i 'wmir write /wm/ctl ''select '^$i^''''
}
wmir write /keys/size center,center,100,$BAR_HEIGHT
selstyle /keys/box/style
kmode normal
# WMIMENU CONFIGURATION
items actions $WMII_CONFDIR:$HOME/.wmii-3
wmir create /menu/items/actions/rmpage 'wmir write /wm/ctl destroy'
items programs $OLD_PATH
wmir write /menu/size 0,south,east,$BAR_HEIGHT
normstyle /menu/style >[2]/dev/null
normstyle /menu/norm-style >[2]/dev/null
selstyle /menu/sel-style >[2]/dev/null
# MISC
fbsetbg /home/lavish/fade.png
status & |
status
pour comprendre la synthaxe de ce script, il vous faut impérativement lire le manuel de rc, le shell de Plan9 puisque beaucoup de constructionsson totalement différentes de bash ou de sh.
te script ci-dessous est celui nécessaire pour obtenir les indications sur la wmiibar:[url]
http://lavish.homelinux.org/ftp/public/images/screenshots/wmii-3-171105.png [/url]
Je ne le mets pas pour que vous l'utilisiez tel quel, mais pour qu'il vous serve d'indications pour créer votre propre script selon vos préférence. En fait j'ai utiliser les avantages de wmii pour créer les meters (la barre en bas du screenshot), les colorier, les déplacer, créer des labels et les remplir, utiliser des scripts externs.
Vous pouvez aussi trouvez de la documentation là:[url]http://wmii.de/index.php/WMII/FAQ [/url]
Code: | #!/usr/local/9/bin/rc
# periodically print date and load average to the bar
PIDFILE=/tmp/.ixp-$USER/statuspid-$WMII_IDENT
if(test -r $PIDFILE) {
kill -2 `{cat $PIDFILE} >[2]/dev/null
}
echo $pid >$PIDFILE
# LABELS
systemp=`{wmir read /bar/new}
weather=`{wmir read /bar/new}
label=`{wmir read /bar/new}
wmir write /bar/$label/b1press 'wmir write /wm/ctl ''select prev'''
wmir write /bar/$label/b3press 'wmir write /wm/ctl ''select next'''
wmir write /bar/$label/b4press 'wmir write /wm/ctl ''select prev'''
wmir write /bar/$label/b5press 'wmir write /wm/ctl ''select next'''
# METERS
meter0=`{wmir read /bar/new}
meter1=`{wmir read /bar/new}
meter2=`{wmir read /bar/new}
# install signal handler for artificial sigexit:
fn sigint {
if(test -f $PIDFILE && ~ `{cat $PIDFILE} $pid)
rm -f $PIDFILE
wmir write /bar/ctl 'destroy '^$label
wmir write /bar/ctl 'destroy '^$systemp
wmir write /bar/ctl 'destroy '^$weather
wmir write /bar/ctl 'destroy '^$meter0
wmir write /bar/ctl 'destroy '^$meter1
wmir write /bar/ctl 'destroy '^$meter2
exit
}
# extra settings
wmir write /bar/$meter2/data '%m:100'
text=loading
while(wmir write /bar/$label/data $"text >[2]/dev/null) {
# LABELS
# cpu temperature
stext=(CPU: `{expr `{cat /sys/bus/i2c/devices/9191-0290/temp2_input} / 1000} MB: `{expr `{cat /sys/bus/i2c/devices/9191-0290/temp1_input} / 1000})
wmir write /bar/$systemp/data $"stext
# weather conditions -- infos provided by an external script
wtext=(`{cat /tmp/.stormy-current-weather})
wmir write /bar/$weather/data $"wtext
# date
text=(`{/bin/date '+%x %H:%M'})
# METERS
# xmms current position
m0_text=(`{if ( test -e /tmp/xmms-info ) expr `{cat /tmp/xmms-info |awk '/uSecPosition/ {print $2}'} '*' 100 / `{cat /tmp/xmms-info |awk '/uSecTime/ {print $2}'}; if not echo 0})
m0_text=(`{if ( test $m0_text -gt 100 ) echo 100; if ( test $m0_text -lt 0 ) echo 0; if not echo $m0_text})
wmir write /bar/$meter0/data '%m:'^$m0_text
# memory cached
m1_text=(`{free | awk '/Mem/ { print 100 * $7 / $2 }' | awk -F. '{ print $1 }'})
wmir write /bar/$meter1/data '%m:'^$m1_text
# cpu freq -- change meter colour
curr_freq=`{cat /proc/cpuinfo | awk '/MHz/ { gsub(/\./,""); print $4 }'}
if(test $curr_freq -lt 900000) cpucol='#66a8db'
if(test $curr_freq -gt 900000 && test $curr_freq -lt 1900000) cpucol='#FFA500'
if(test $curr_freq -gt 1900000) cpucol='#FF3030'
wmir write /bar/$meter2/fgcolor $cpucol
wmir write /bar/$meter2/data '%m:100'
sleep 1
} |
Conclusion
Plan9 est aussi tout nouveau pour moi, donc il est possible qu'il y ait des imprécisions ou que j'aie exposer des concepts erronés. Entre autre j'ai du écrire ce doc assez précipitamment, il se peut donc qu'il y ait des erreurs grammaticales et/ou de syntaxique. Si vous êtes en mesures de l'améliorer ou de le compléter n'hésité à poster vous réaction .....
autres ressources
http://wmii.de/
[url]http://swtch.com/plan9port/ [/url]
[NB]: je vous ai fait la traduction en vitesse pour Noël, je l'améliorerai ( tournure de phrases, orthographes, ...) quand je reviens.
Bon Noël à tous et bonne année ![Wink :wink:](images/smiles/icon_wink.gif) _________________ L'ami aime en tout temps, et dans le malheur il se montre un frère ( Prov. 17,17 )
L'insensé même, quand il se tait, passe pour sage ( Prov. 17;28a ) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
boozo Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/83658268945e337605eec8.gif)
Joined: 01 Jul 2004 Posts: 3193
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
marvin rouge Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/11635284444403688a3df85.jpg)
Joined: 01 Aug 2004 Posts: 1422 Location: Villa Lumierrante, Zonelibre
|
Posted: Tue Dec 27, 2005 10:35 am Post subject: |
|
|
Yay !
merci beaucoup.
Comme boozo, je me lance, dès que j'ai un peu de temps ...
+ |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|