« Utilisateur:Sarcastic » : différence entre les versions

De Disposition de clavier bépo
mAucun résumé des modifications
Ligne 31 : Ligne 31 :
     license => "WTFPL"
     license => "WTFPL"
     );
     );


sub uniq
sub uniq
Ligne 38 : Ligne 37 :
     foreach (@_)
     foreach (@_)
     {
     {
print "$_\n";
my ($url, $user) = split(/ \(/, $_);
my ($url, $user) = split(/ \(/, $_);
$hash{$url} = [] unless exists $hash{$url};
push @{$hash{$url}}, $user;
push @{$hash{$url}}, $user;
     }
     }
Ligne 58 : Ligne 55 :
     my $msg = shift;
     my $msg = shift;
     $msg =~ s/^New news from bepomediawiki: (.*)\)$/$1/;
     $msg =~ s/^New news from bepomediawiki: (.*)\)$/$1/;
    print $msg, "\n";
     my %values = uniq split (/\) \|\| /, $msg);
     my %values = uniq split (/\) \|\| /, $msg);
     foreach (keys %values)
     foreach (keys %values)
     {
     {
my $user_string = "[";
my $user_string;
$user_string = "[" . "$_," foreach (@{$values{$_}}[0..$#{$values{$_}}-1]);
$user_string = "[" . "$_, " foreach (@{$values{$_}}[0..$#{$values{$_}}-1]);
$user_string .= "$_]";
$user_string .= "$_]";
print CRAP ("dehoppify: http://www.clavier-dvorak.org/wiki/",
print CRAP ("dehoppify: http://www.clavier-dvorak.org/wiki/",
      urlencode("$_"), " $user_string");
    urlencode("$_"), " $user_string");
     }
     }
}
}
Ligne 75 : Ligne 71 :
     if ($target eq '#fr-dvorak-bepo'
     if ($target eq '#fr-dvorak-bepo'
&& $nick eq 'hopp'
&& $nick eq 'hopp'
&& $msg =~ /^New news from bepomediawiki: .* \(.*\)$/)
&& $msg =~ /^New news from bepomediawiki: [^<>]+? \(.+?\)$/)
     {
     {
dehoppify $msg;
dehoppify $msg;
Ligne 81 : Ligne 77 :
     }
     }
     return;
     return;
}
Irssi::signal_add ('message public', \&sig_message_public);
}
}


Irssi::signal_add ('message public', \&sig_message_public);
Irssi::signal_add ('message public', \&sig_message_public);
</nowiki></pre>
</nowiki></pre>

Version du 15 août 2008 à 13:28

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 ?).

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.

zsh

J'espère avoir le temps de m'y plonger un jour, histoire d'avoir un C-c de nouveau accessible à une main, un C-z simplement accessible, et les raccourcis de déplacements identiques à ceux que j'ai trafiqués sur Emacs.

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 supprime les annonces de hopp pour le wiki, et qui affiche les liens annoncés avec la liste d'utilisateur sur la fenêtre serveur.

use strict;
use vars qw($VERSION %IRSSI);
use Irssi;

$VERSION = 0.2;
%IRSSI = (
    authors => "Sarcastic",
    name => "dehopp script",
    description => "Print url from hopp announces on #fr-dvorak-bepo",
    license => "WTFPL"
    );

sub uniq
{
    my %hash = ();
    foreach (@_)
    {
	my ($url, $user) = split(/ \(/, $_);
	push @{$hash{$url}}, $user;
    }
    return %hash;
}

sub urlencode
{
    my $url = shift;
    $url =~ y/ /_/;
    $url =~ s/([^A-Za-z0-9_\/:.-])/sprintf("%%%%%02X", ord($1))/seg;
    return $url;
}

sub dehoppify
{
    my $msg = shift;
    $msg =~ s/^New news from bepomediawiki: (.*)\)$/$1/;
    my %values = uniq split (/\) \|\| /, $msg);
    foreach (keys %values)
    {
	my $user_string;
	$user_string = "[" . "$_, " foreach (@{$values{$_}}[0..$#{$values{$_}}-1]);
	$user_string .= "$_]";
	print CRAP ("dehoppify: http://www.clavier-dvorak.org/wiki/",
		    urlencode("$_"), " $user_string");
    }
}

sub sig_message_public
{
    my ($server, $msg, $nick, $address, $target) = @_;
    if ($target eq '#fr-dvorak-bepo'
	&& $nick eq 'hopp'
	&& $msg =~ /^New news from bepomediawiki: [^<>]+? \(.+?\)$/)
    {
	dehoppify $msg;
	Irssi::signal_stop();
    }
    return;
}

Irssi::signal_add ('message public', \&sig_message_public);