« Utilisateur:Sarcastic » : différence entre les versions
m (typozes) |
(→Irssi) |
||
Ligne 45 : | Ligne 45 : | ||
==Irssi== | ==Irssi== | ||
Petit script | Petit script qui affiche les liens entre doubles crochets dans la fenêtre serveur | ||
<pre><nowiki> | <pre><nowiki> | ||
use strict; | use strict; | ||
Ligne 51 : | Ligne 51 : | ||
use Irssi; | use Irssi; | ||
$VERSION = 0. | $VERSION = 0.1; | ||
%IRSSI = ( | %IRSSI = ( | ||
authors => "Sarcastic", | authors => "Sarcastic", | ||
name => " | name => "debepify script", | ||
description => "Print url | description => "Print url between [[]] on #fr-dvorak-bepo", | ||
license => "WTFPL" | license => "WTFPL" | ||
); | ); | ||
Ligne 61 : | Ligne 61 : | ||
sub uniq | sub uniq | ||
{ | { | ||
my %hash = | my %hash = map { $_, 1 } @_; | ||
return keys %hash; | |||
return %hash; | |||
} | } | ||
Ligne 78 : | Ligne 73 : | ||
} | } | ||
sub | sub debepify | ||
{ | { | ||
my $msg = shift; | my $msg = shift; | ||
my @links; | |||
my | foreach my $link (split(/\]\]/, $msg)) | ||
{ | { | ||
push @links, $1 if ($link =~ /\[\[(.+)$/); | |||
} | |||
foreach (uniq @links) | |||
{ | |||
print CRAP "debepify: http://www.clavier-dvorak.org/wiki/", urlencode($_); | |||
print | |||
} | } | ||
} | } | ||
sub sig_message_public | sub sig_message_public | ||
Ligne 100 : | Ligne 92 : | ||
my ($server, $msg, $nick, $address, $target) = @_; | my ($server, $msg, $nick, $address, $target) = @_; | ||
if ($target eq '#fr-dvorak-bepo' | if ($target eq '#fr-dvorak-bepo' | ||
&& $msg =~ /\[\[[^<>]+?\]\]/) | |||
&& $msg =~ / | |||
{ | { | ||
debepify $msg; | |||
} | } | ||
return; | return; |
Version du 18 août 2008 à 20:20
Je suis un utilisateur du bépo depuis la version 0.6.5.1, et j'utilise actuellement la 1.0-rc1.
Pas vraiment convaincu par le bépo pour tout ce qui est programmation et shell, je pense vaguement à essayer d'autres choses, au moins pour ces domaines (Dvoraj-fr ? DSK ?).
Matériel
J'utilise un clavier Logitech Ultra Flat que je compte remplacer par un TypeMatrix. Et un trackball au pouce, de chez Logitech aussi.
Emacs
Voir ici.
Shell
Alors, pour trouver comment modifier les raccourcis dans le shell, on peut dire que j'ai carrément pataugé. En fait, y a trois éléments sur lesquels on peut intervenir : le terminal (le vrai), le shell à proprement parler (sh, bash, zsh) et l'émulateur de terminal (rxvt, xterm, uxterm, et d'autres). Et chacun a ses limitations plus ou moins rigolottes.
rxvt-unicode
Lui permet de modifier le mapping au niveau des touches ctrl. Ça permet par exemple de retrouver C-c, C-z et C-d à leurs places habituelles (Surtout C-z, en fait). Voilà un rapide replacement de ces trois là :
! C-c URxvt.keysym.C-x: \003 ! C-z URxvt.keysym.C-0xe9: \032 ! C-d URxvt.keysym.C-i: \004
Les codes en \xxx ce sont des caractères en octal. Il s'avère que les caractères de \001 à \032 (01d à 26d, si vous comptez pas encore en octal) ne sont rien d'autre que l'alphabet avec control dessus. Ça tombe bien, hein !
Il faut caser ces lignes dans le fichier ~/.Xdefaults. Les ubunteros gens peu avertis peuvent redémarrer X, mais a priori, redémarrer vos terminaux devrait suffir. Et voilà C-c, C-z et C-d duppliqués à des emplacements moins moisis que ceux offerts gracieusement par le bépo. Mais juste pour rxvt-unicode, pas pour xterm et toute la compagnie.
zsh
On peut modifier les déplacements du curseurs et un tas de trucs avec la commande bindkey. Plus ou moins en cours, selon mon humeur.
stty
Alors, le petit problème de stty c'est qu'il modifie les touches pour tous les utilisateurs et pour tous les terminaux (graphiques ou non). Et plus grand inconvénient encore, il ne marche qu'en local. Ça veut dire que si vous vous connectez en ssh à un serveur, vous trouverez les raccourcis standards.
En plus de ça, seules les lettres simples ont l'air de marcher, donc exit les lettres accentuées (et vu que l'équivalent de C-z en bépo serait C-é…).
Cette méthode est particulièrement dégueulasse, mais elle a le — faible — mérite d'exister (personnellement, je la conseille pas, et je ne l'utilise pas), et comme je l'ai tapée avant d'avoir l'idée de chercher dans urxvt, je la laisse. Voilà comment modifier les raccourcis via stty :
$ stty -a # Liste les raccourcis et les touches auxquelles ils sont attribués $ stty intr ^X # Déplacement du C-c en C-x $ stty susp ^B # Déplacement du C-z en C-b
XMonad
Mon fichier de configuration est tellement chaotique, que j'ose pas trop le mettre ici. Si quelqu'un demande, peut-être que je trouverai le courage de le nettoyer.
Irssi
Petit script qui affiche les liens entre doubles crochets dans la fenêtre serveur
use strict; use vars qw($VERSION %IRSSI); use Irssi; $VERSION = 0.1; %IRSSI = ( authors => "Sarcastic", name => "debepify script", description => "Print url between [[]] on #fr-dvorak-bepo", license => "WTFPL" ); sub uniq { my %hash = map { $_, 1 } @_; return keys %hash; } sub urlencode { my $url = shift; $url =~ y/ /_/; $url =~ s/([^A-Za-z0-9_\/:.-])/sprintf("%%%%%02X", ord($1))/seg; return $url; } sub debepify { my $msg = shift; my @links; foreach my $link (split(/\]\]/, $msg)) { push @links, $1 if ($link =~ /\[\[(.+)$/); } foreach (uniq @links) { print CRAP "debepify: http://www.clavier-dvorak.org/wiki/", urlencode($_); } } sub sig_message_public { my ($server, $msg, $nick, $address, $target) = @_; if ($target eq '#fr-dvorak-bepo' && $msg =~ /\[\[[^<>]+?\]\]/) { debepify $msg; } return; } Irssi::signal_add ('message public', \&sig_message_public);