jeudi 28 mai 2009

Obtenir les accents avec un clavier QWERTY

Si comme moi vous utilisez un clavier dvorak ou bien qwerty, vous avez déjà dû être confronté au problème des accents français. Une solution consiste à remapper une des touches que vous n'utilisez pas en touche de composition. Pour ceux qui connaissent, c'est la solution employée sous Sun ou avec le mapping JLG sous Windows.
En gros, on tape Touche_De_Composition puis ' puis e et on obtient é !

Cette astuce a été trouvée sur le blog de Pierre. Un grand merci à lui pour la solution.

Il faut donc tout d'abord décider quelle touche remapper. Personnellement, j'ai choisi la touche 'End', car je ne l'utilise jamais, et qu'elle est placée pratiquement sur mon clavier. Vous pouvez cependant choisir une autre touche, comme le Shift de droite.
Il faut ensuite déterminer quel est le code de la touche que vous aurez choisi.
Pour cela lancez le petit utilitaire xev dans votre terminal préféré, puis placez votre souris sur la fenêtre qui vient de s'ouvrir, et pressez la touche de votre choix.
Vous devriez obtenir quelque chose comme:
KeyRelease event, serial 24, synthetic NO, window 0x1800001,
root 0x78, subw 0x0, time 287563212, (508,160), root:(509,843),
state 0x0, keycode 103 (keysym 0xff20, End), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Je viens d'appuyer sur la touche 'End'. Notez le keycode (103 dans mon cas), et créez un fichier .Xmodmap à votre racine (~/.Xmodmap).
Mettez-y la ligne suivante:
keycode 103 = Multi_key
Puis sauvez, et redémarrez X.

Relancez alors xev, pressez la touche, et vous devriez maintenant obtenir:
KeyRelease event, serial 24, synthetic NO, window 0x1800001,
root 0x78, subw 0x0, time 287563212, (508,160), root:(509,843),
state 0x0, keycode 103 (keysym 0xff20, Multi_key), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Vous pouvez maintenant taper vos accents:
Multi_key puis ' puis e donne é
Multi_key puis ` puis a donne à
Multi_key puis , puis c donne ç !

Easy peasy !!!

jeudi 9 avril 2009

Loi HADOPI

Grande nouvelle du jour: la loi HADOPI, censee nous proteger des gros vilains 'pirates informatiques' (revoyons tout de meme la definition d'un hacker) n'est pas passee. Le dessinateur Martin Vidberg tente de nous expliquer par un magnifique dessin sur son blog pourquoi les deputes de la majorites etaient absents lors de ce vote pourtant crucial, on s'en delecte.

vendredi 3 avril 2009

perl: est-il possible de faire une liste de descripteurs de fichiers ?

Oui, mais ca demande un petit "truc" avant d'etre utilise.

Pour une raison que j'ignore encore, on ne peut pas utiliser directement un descripteur de fichier stocke dans une liste. Il est necessaire de d'abord copier cet element de liste dans une variable temporaire, avant de l'utiliser pour les acces fichier (print entre autres).

Comme un petit dessin vaut mieux qu'un grand discours, voici un exemple de code:

use strict;
my (@liste, $liste, $tmp);

open(FILE, "> toto");
$liste[0] = \*FILE;

$tmp = $liste[0];
print($tmp "tutu\n");

close($tmp);
Voila, j'espere que ca pourra aider certains.

vendredi 20 février 2009

Ouvrir un fichier a distance avec emacs

J'aime bien travailler a distance. Rien ne vaut le confort de son fauteuil prefere pour travailler ! Le labo nous permet de passer a travers le firewall, et d'acceder a nos fichiers persos.

C'est parfait, j'ouvre mon tunnel ssh, je lance mon emacs en mode terminal, et le tour est joue... Oui, mais quel gaspillage de faire passer tout emacs a travers le tunnel pour editer un malheureux petit fichier. Pourquoi ne pas lancer emacs confortablement chez soit, et ouvrir le fichier distant ?

Et bien si, c'est possible ! La solution s'appelle TRAMP, pour Transparent Remote (file) Access, Multiple Protocol. Il s'agit d'un projet GNU, dont voici le site web: http://www.gnu.org/software/tramp/

C'est tout simplement magique.

Pour l'installer, il suffit de telecharger la tarball sur le site web (version courant en 02/2009: 2.1.15), puis:

$ cd ~/.emacs.d

$ tar -xvf tramp-2.1.15.tar.gz

$ cd tramp-2.1.15

$ ./configure --with-contrib

$ make

$ su

# make install

Il faut ensuite editer son fichier de configuration .emacs, et y ajouter les lignes suivantes:

(add-to-list 'load-path "~/.emacs.d/tramp/lisp/")
(require 'tramp)

Une fois emacs lance, il suffit d'ouvrir le fichier via:

C-x C-f /user@your.host.com:/path/to/file

Et si jamais vous avez besoin de passer a travers un port particulier, il suffira de faire:

/usr@host#port_nb:/path/to/file

Magique je vous dis !

mercredi 24 septembre 2008

Anniversaire


Ca y est, Fedora a 5 ans ! Alors bon anniversaire Fedora, et longue vie a toi !

mercredi 27 août 2008

Obtenir le wifi sous fluxbox (Fedora 9)

Voici une question qui m'a pose souci quelques temps... Je suis utilisateur de fluxbox, et je n'arrivais pas a obtenir le wifi.
La reponse etait pourtant ultra simple !

Elle consiste a ajouter la ligne suivante au fichier ~/.fluxbox/startup, avant la commande exec /usr/bin/fluxbox:
nm-applet --sm-disable &
Redemarrez votre fluxbox, et vous devriez enfin voir apparaitre l'icone du NetworkManager !

lundi 25 août 2008

Quelques fichiers de configuration 2

Voici maintenant le contenu de mon fichier .Xdefaults qui configure aterm, urxvt, et emacs:

# aterm settings
aterm*loginShell:true
aterm*transparent:true
aterm*shading:60
aterm*background:Black
aterm*foreground:White
aterm*scrollBar:true
aterm*scrollBar_right:true
aterm*transpscrollbar:true
aterm*saveLines:32767
aterm*font:*-*-fixed-medium-r-normal--*-140-*-*-*-*-iso8859-1
aterm*boldFont:*-*-fixed-bold-r-normal--*-*-140-*-*-*-*-iso8859-1

# urxvt settings:
URxvt*depth: 32
URxvt*background:Black
URxvt*foreground:White
URxvt*loginShell:true
URxvt*transparent:true
#URxvt*tint:white
URxvt*shading:35
URxvt*borderLess:false
URxvt*scrollBar:true
URxvt*scrollBar_right:true
URxvt*transpscrollbar:true
URxvt*saveLines:32767
URxvt*font:*-*-fixed-medium-r-normal--*-140-*-*-*-*-iso8859-1
URxvt*boldFont:*-*-fixed-bold-r-normal--*-*-140-*-*-*-*-iso8859-1

# emacs gaphic settings
emacs*depth: 32
emacs*background:Black
emacs*foreground:White
emacs*transparent:true
emacs*shading:35
emacs*font:*-*-fixed-medium-r-normal--*-140-*-*-*-*-iso8859-1
emacs*boldFont:*-*-fixed-bold-r-normal--*-*-140-*-*-*-*-iso8859-1
Il me permet entres autres d'activer la transparence des terminaux, et d'augmenter le nombre de commandes sauvegardees dans l'historique.
Pour emacs, en revanche, cette methode pour activer la transparence ne fonctionne pas. Pour obtenir un emacs transparent, la methode la plus simple consiste a le lancer dans un terminal lui-meme transparent:
$ emacs -nw
ou alors pour lancer le terminal et emacs a l'aide d'une seule commande:
$ urxvt -e emacs -nw