Quelques améliorations :
[macros-openoffice.git] / auf-poste-client-reflets / auf-reflets-tse
1 #! /bin/sh
2 # Script auf-reflets-tse de lancement de connexion Reflets-TSE (Coda)
3 # Copyright © 2007-2008  Agence universitaire de la Francophonie
4 # Autheur : Progfou <jean-christophe.andre@auf.org>
5 # Date de création : juillet 2007
6
7 # chargement de la configuration en place le cas échéant
8 [ -r "$HOME/.auf/reflets/tse" ] && . "$HOME/.auf/reflets/tse"
9
10 # calcul des options qui n'auraient pas été configurées
11 [ -z "$title"    ] && title="Reflets-TSE (CODA)"
12 [ -z "$geometry" ] && geometry="auto"
13 [ -z "$printer"  ] && printer="auto"
14 [ -z "$machine"  ] && machine=`echo $USERNAME | tr a-z A-Z | tr -dc A-Z0-9`
15 [ -z "$username" ] && username="$USERNAME"
16 [ -z "$domain"   ] && domain="REFLETS"
17 [ -z "$server"   ] && server="reflets-tse.auf"
18 [ -z "$extra"    ] && extra=""
19
20 # gestion des changements dans les options de configuration
21 case "$version" in
22   2)
23     # version 2 (version actuelle) => c'est bon, rien de plus à faire
24     ;;
25   1)
26     # version 1 => passer à la version actuelle
27     version=2
28     # migration de l'option de géométrie en « presque plein-écran »
29     [ "$geometry" = "fullscreen" ] && geometry="auto"
30     # forcer la ré-écriture du fichier de configuration
31     rm -f "$HOME/.auf/reflets/tse"
32     ;;
33   *)
34     # pas de version => passer à la version actuelle
35     version=1
36     # forcer les nouvelles options
37     geometry="fullscreen"
38     printer="auto"
39     # forcer la ré-écriture du fichier de configuration
40     rm -f "$HOME/.auf/reflets/tse"
41     ;;
42 esac
43
44 # création d'un fichier de configuration s'il n'y en a pas encore
45 if [ ! -f "$HOME/.auf/reflets/tse" ]
46 then
47   mkdir -p "$HOME/.auf/reflets"
48   cat > "$HOME/.auf/reflets/tse" << __EOF__
49 version="$version"
50 title="$title"
51 geometry="$geometry"
52 printer="$printer"
53 machine="$machine"
54 username="$username"
55 domain="$domain"
56 server="$server"
57 extra="$extra"
58 __EOF__
59 fi
60
61 # calcul de la valeur finale de l'option de géométrie
62 if [ "$geometry" = "auto" ]
63 then
64   geometry=`LANG= xwininfo -root | awk 'BEGIN{w=800;h=600}/Width:/{w=$2}/Height:/{h=$2}END{printf("%sx%s+%s+%s\n",w-10,h-78,0,25)}'`
65 fi
66 if [ "$geometry" = "fullscreen" ]
67 then
68   geometry="-f"
69 elif [ "$geometry" = "workarea" ]
70 then
71   geometry="-g $geometry -D"
72 else
73   geometry="-g $geometry"
74 fi
75
76 # calcul de la valeur finale de l'option de connexion d'imprimante
77 if [ "$printer" = "auto" ]
78 then
79   printer=`LANG= lpstat -v | sed -n '/cups-pdf:/{s/^.* \([^ ]*\): .*$/\1/p;q}'`
80 fi
81 if [ -n "$printer" ]
82 then
83   printer="-r printer:$printer"
84 else
85   if [ -n "$DISPLAY" -a -x /usr/bin/zenity ]; then
86     zenity --warning --text "Attention : aucune imprimante configurée ! \n"\
87         "\nL'imprimante virtuelle PDF est-elle bien installée ?"
88   else
89     echo "Attention : aucune imprimante configurée !"
90     echo "L'imprimante virtuelle PDF est-elle bien installée ?"
91   fi
92 fi
93
94 # lancement de la connexion RDP
95 exec rdesktop -T "$title" $geometry $printer -a 8 -z -P -x m \
96         -n "$machine" -u "$username" -d "$domain" $extra "$server"