Compose pour xterm
Le
Lucas Levrel

Bonjour,
Je ne trouve pas où ni comment sont définies les associations de lettres
utilisées par la touche compose dans un xterm (ou ailleurs). Je pensais
que c'était commun à tout X mais il y a des bizarreries ; par exemple,
compose o e ne donne rien dans xterm ou xev, mais donne bien ½ dans mon
navigateur Midori (j'ai saisi cette ligature dans le navigateur et l'ai
copiée-collée ici dans le terminal où je tape ce message ; peut-être GTK
a-t-il son propre mécanisme ?).
Merci pour toute aide.
--
LL
Je ne trouve pas où ni comment sont définies les associations de lettres
utilisées par la touche compose dans un xterm (ou ailleurs). Je pensais
que c'était commun à tout X mais il y a des bizarreries ; par exemple,
compose o e ne donne rien dans xterm ou xev, mais donne bien ½ dans mon
navigateur Midori (j'ai saisi cette ligature dans le navigateur et l'ai
copiée-collée ici dans le terminal où je tape ce message ; peut-être GTK
a-t-il son propre mécanisme ?).
Merci pour toute aide.
--
LL
Quel distribution / environnement ?
"Chez moi ça marche" Compose o e donne bien un œ. Peut-être la touche
compose que tu as choisie sert à autre chose dans xterm ?
Chez moi c'est la touche "contexte" (entre Ctrl-droit et Windows-droit)
sous LinuxMint Olivia (basé sur Ubuntu Raring) et Cinnamon
le 25/05/2013 à 11:45, Lucas Levrel a écrit dans le message
Ici (archlinux), c'est dans /usr/share/X11/locale/en_US.UTF-8/Compose
--
Benoit Izac
Benoît t'a répondu sur l'emplacement du fichier. L'autre considération à
observer, c'est savoir quelle est la locale d'xterm, avec la commande
locale.
Tu dois être vert ! Midori est basé sur Gtk+ 2, qui implémente ses propres
méthodes d'entrée : utilise le bouton de droite sur une zone de texte
(éventuellement dans un programme Gtk+ plus simple si Midori capture le menu
contextuel), et tu verras un menu permettant de choisir la méthode d'entrée.
Si tu prends celle de X Window, il aura le même comportement qu'xterm.
Alors :
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR"
LC_NUMERIC="fr_FR"
LC_TIME="fr_FR"
LC_COLLATE="fr_FR"
LC_MONETARY="fr_FR"
LC_MESSAGES="fr_FR"
LC_PAPER="fr_FR"
LC_NAME="fr_FR"
LC_ADDRESS="fr_FR"
LC_TELEPHONE="fr_FR"
LC_MEASUREMENT="fr_FR"
LC_IDENTIFICATION="fr_FR"
LC_ALL=fr_FR
iso8859-1/Compose fr_FR.ISO8859-1
iso8859-15/Compose fr_FR.ISO8859-15
en_US.UTF-8/Compose fr_FR.UTF-8
iso8859-1/Compose: fr_FR.ISO8859-1
iso8859-15/Compose: fr_FR.ISO8859-15
en_US.UTF-8/Compose: fr_FR.UTF-8
<Multi_key> <o> <e> : "½" oe # LATIN SMALL LIGATURE OE
Quelques essais semblent montrer que la table utilisée est
/usr/share/X11/locale/iso8859-1/Compose.
Que faire ? Je suppose qu'il faut changer un des LC_*, mais lequel, et
dans quel fichier ? Slitaz 4, login automatique par slim, WM openbox,
shell bash.
:)
Effectivement.
--
LL
Ça explique.
Oui, puisque fr_FR est de l'ISO-8859-1.
C'est la catégorie LC_CTYPE qui règle ça. Elle peut être réglée par trois
variables d'environnement : LC_ALL, LC_CTYPE et LANG, par ordre décroissant
de priorité. D'après la sortie de locale que tu as citée, tu as LC_ALL
définie différemment de LANG, c'est suspect.
Personnellement, je recommande de fixer la variable d'environnement LC_CTYPE
et éventuellement LC_MESSAGES si on est nul en anglais, et de laisser toutes
les autres tranquilles, en particulier LC_NUMERIC et LC_COLLATE qui peuvent
casser plein de programmes.
À tes souhaits, aucune idée des choix faits par cette distribution.
OK. J'ai fixé ces deux-là à C et mis LC_ALL vide.
--
LL