logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:reseau:weechat [13/05/2011 20:31]
darien
doc:reseau:weechat [18/05/2011 19:40]
darien
Ligne 71: Ligne 71:
   /set irc.server.freenode.autojoin "#​debian-facile,#​canal2"​   /set irc.server.freenode.autojoin "#​debian-facile,#​canal2"​
  
-Si vous avec installer ​**avant** un serveur oftc :\\ +Si vous avez installez ​**avant** un serveur oftc :\\ 
 Pour supprimer la valeur d’une option du serveur et utiliser sa valeur par défaut à la place, par exemple pour utiliser les pseudos par défaut (irc.server_default.nicks) : Pour supprimer la valeur d’une option du serveur et utiliser sa valeur par défaut à la place, par exemple pour utiliser les pseudos par défaut (irc.server_default.nicks) :
   /set irc.server.oftc.nicks null   /set irc.server.oftc.nicks null
Ligne 162: Ligne 162:
 ===== Barre latérale avec la liste des tampons. =====  ===== Barre latérale avec la liste des tampons. ===== 
  
-La barre latérale est super pratique voir assez indispensable pour afficher la liste des tampons à gauche. +La barre latérale est super pratique voir assez indispensable pour afficher la liste des tampons à gauche, je vous propose d'​installer
- + 
 +==== Script: buffers.pl ==== 
 **Fermer** weechat. **Fermer** weechat.
  
 Créer et copier avec [[commande:​editeur:​nano|nano]] le script dans : Créer et copier avec [[commande:​editeur:​nano|nano]] le script dans :
 <​code>​ $ nano /​home/​mon_user/​.weechat/​perl/​autoload/​buffers.pl</​code>​ <​code>​ $ nano /​home/​mon_user/​.weechat/​perl/​autoload/​buffers.pl</​code>​
-<code bash># +  * [[http://www.weechat.org/scripts/source/​stable/​buffers.pl/​|Télécharger script: buffers.pl]]
-# Copyright (c) 2008-2011 by Sebastien Helleu <​flashcode@flashtux.org>​ +
-+
-# This program is free software; you can redistribute it and/or modify +
-# it under the terms of the GNU General Public License as published by +
-# the Free Software Foundation; either version 3 of the License, or +
-# (at your option) any later version. +
-+
-# This program is distributed in the hope that it will be useful, +
-# but WITHOUT ANY WARRANTY; without even the implied warranty of +
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ​ See the +
-# GNU General Public License for more details. +
-+
-# You should have received a copy of the GNU General Public License +
-# along with this program. ​ If not, see <http://www.gnu.org/licenses/>. +
-#+
  
-+===== Bip sur haut-parleur sur highlight/message privé===== 
-# Display sidebar with list of buffers. +==== Scriptbeep.pl ==== 
-+<code$ nano /home/mon_user/.weechat/perl/autoload/beep.pl</code> 
-# History: +  * [[http://www.weechat.org/scripts/source/stable/beep.pl/| Télécharger script: beep.pl]]
-# 2011-03-23, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v2.2: fix color of nick prefix with WeeChat >0.3.5 +
-# 2011-02-13, Nils G <​weechatter@arcor.de>:​ +
-#     v2.1: add options "​color_whitelist_*"​ +
-# 2010-10-05, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v2.0: add options "​sort"​ and "​show_number"​ +
-# 2010-04-12, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v1.9: replace call to log() by length() to align buffer numbers +
-# 2010-04-02, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v1.8: fix bug with background color and option indenting_number +
-# 2010-04-02, Helios <​helios@efemes.de>:​ +
-#     v1.7: add indenting_number option +
-# 2010-02-25, m4v <​lambdae2@gmail.com>:​ +
-#     v1.6: add option to hide empty prefixes +
-# 2010-02-12, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v1.5: add optional nick prefix for buffers like IRC channels +
-# 2009-09-30, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v1.4: remove spaces for indenting when bar position is top/bottom +
-# 2009-06-14, Sebastien Helleu <​flashcode@flashtux.org>: +
-#     v1.3add option "​hide_merged_buffers"​ +
-# 2009-06-14, Sebastien Helleu <​flashcode@flashtux.org>: +
-#     v1.2: improve display with merged buffers +
-# 2009-05-02, Sebastien Helleu ​<flashcode@flashtux.org>+
-#     v1.1: sync with last API changes +
-# 2009-02-21, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v1.0: remove timer used to update bar item first time (not needed any more) +
-# 2009-02-17, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v0.9: fix bug with indenting of private buffers +
-# 2009-01-04, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v0.8: update syntax for command ​/set (comments) +
-# 2008-10-20, Jiri Golembiovsky <​golemj@gmail.com>:​ +
-#     v0.7: add indenting option +
-# 2008-10-01, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v0.6: add default color for buffers, and color for current active buffer +
-# 2008-09-18, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v0.5: fix color for "​low"​ level entry in hotlist +
-# 2008-09-18, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v0.4: rename option "​show_category"​ to "​short_names",​ +
-#           ​remove option "​color_slash"​ +
-# 2008-09-15, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v0.3: fix bug with priority in hotlist (var not defined) +
-# 2008-09-02, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v0.2: add color for buffers with activity and config options for +
-#           ​colors,​ add config option to display/hide categories +
-# 2008-03-15, Sebastien Helleu <​flashcode@flashtux.org>:​ +
-#     v0.1: script creation +
-+
-# Help about settings: +
-#   ​display short names (remove text before first "​."​ in buffer name): +
-#      ​/set plugins.var.perl.buffers.short_names on +
-#   use indenting for some buffers like IRC channels: +
-#      ​/set plugins.var.perl.buffers.indenting on +
-#   use indenting for numbers: +
-#      ​/set plugins.var.perl.buffers.indenting_number on +
-#   hide merged buffers: +
-#      ​/set plugins.var.perl.buffers.hide_merged_buffers on +
-#   show prefix: +
-#      ​/set plugins.var.perl.buffers.show_prefix on +
-#      /set plugins.var.perl.buffers.show_prefix_empty on +
-#   ​change colors: +
-#      ​/set plugins.var.perl.buffers.color_number color +
-#      ​/set plugins.var.perl.buffers.color_default color +
-#      ​/set plugins.var.perl.buffers.color_hotlist_low color +
-#      ​/set plugins.var.perl.buffers.color_hotlist_message color +
-#      ​/set plugins.var.perl.buffers.color_hotlist_private color +
-#      ​/set plugins.var.perl.buffers.color_hotlist_highlight color +
-#      ​/set plugins.var.perl.buffers.color_current color +
-#   ​(replace "​color"​ by your color, which may be "​fg"​ or "​fg,​bg"​) +
-#+
  
-use strict;+===== Réduire la longueur des URLs en utilisant isgd ou tinyurl. ​ ===== 
 +Je vous propose à présent l'​installation d'un script qui réduit la longueur des URLs.
  
-my $version ​"2.2";+==== Script: shortenurl.py ====
  
-# -------------------------------[ config ]------------------------------------- +**Fermer** weechat.
- +
-my %default_options = ("​short_names" ​              => "​on",​ +
-                       "​indenting" ​                => "​on",​ +
-                       "​indenting_number" ​         => "​on",​ +
-                       "​hide_merged_buffers" ​      => "​off",​ +
-                       "​show_number" ​              => "​on",​ +
-                       "​show_prefix" ​              => "​off",​ +
-                       "​show_prefix_empty" ​        => "​on",​ +
-                       "​sort" ​                     => "​number", ​ # "​number"​ or "​name"​ +
-                       "​color_hotlist_low" ​        => "​white",​ +
-                       "​color_hotlist_message" ​    => "​yellow",​ +
-                       "​color_hotlist_private" ​    => "​lightgreen",​ +
-                       "​color_hotlist_highlight" ​  => "​magenta",​ +
-                       "​color_current" ​            => "​lightcyan,​red",​ +
-                       "​color_default" ​            => "​default",​ +
-                       "​color_number" ​             => "​lightgreen",​ +
-                       "​color_whitelist_buffers" ​  => "",​ +
-                       "​color_whitelist_low" ​      => "",​ +
-                       "​color_whitelist_message" ​  => "",​ +
-                       "​color_whitelist_private" ​  => "",​ +
-                       "​color_whitelist_highlight"​ => "",​ +
- +
-    ); +
-my %options; +
-my %hotlist_level = (0 => "​low",​ 1 => "​message",​ 2 => "​private",​ 3 => "​highlight"​);​ +
-my @whitelist_buffers = "";​ +
- +
-# --------------------------------[ init ]-------------------------------------- +
- +
-weechat::​register("​buffers",​ "​Sebastien Helleu <​flashcode\@flashtux.org>",​ $version, +
-                  "​GPL3",​ "​Sidebar with list of buffers",​ "",​ ""​);​ +
- +
-foreach my $option (keys %default_options) +
-+
-    if (!weechat::​config_is_set_plugin($option)) +
-    { +
-        weechat::​config_set_plugin($option,​ $default_options{$option});​ +
-    } +
-+
-buffers_read_options();​ +
- +
-weechat::​bar_item_new("​buffers",​ "​build_buffers",​ ""​);​ +
-weechat::​bar_new("​buffers",​ "​0",​ "​0",​ "​root",​ "",​ "​left",​ "​horizontal",​ +
-                 "​vertical",​ "​0",​ "​0",​ "​default",​ "​default",​ "​default",​ "​1",​ +
-                 "​buffers"​);​ +
-weechat::​hook_signal("​buffer_*", "​buffers_signal_buffer",​ ""​);​ +
-weechat::​hook_signal("​hotlist_*", "​buffers_signal_hotlist",​ ""​);​ +
-weechat::​hook_config("​plugins.var.perl.buffers.*", "​buffers_signal_config",​ ""​);​ +
-weechat::​bar_item_update("​buffers"​);​ +
- +
-# ------------------------------------------------------------------------------ +
- +
-sub buffers_read_options +
-+
-    foreach my $option (keys %default_options) +
-    { +
-        $options{$option} = weechat::​config_get_plugin($option);​ +
-    } +
-    @whitelist_buffers = split(/,/, $options{color_whitelist_buffers});​ +
-+
- +
-sub build_buffers +
-+
-    my $str = "";​ +
-     +
-    # get bar position (left/​right/​top/​bottom) +
-    my $position = "​left";​ +
-    my $option_position = weechat::​config_get("​weechat.bar.buffers.position"​);​ +
-    if ($option_position ne ""​) +
-    { +
-        $position = weechat::​config_string($option_position);​ +
-    } +
-     +
-    # read hotlist +
-    my %hotlist; +
-    my $infolist = weechat::​infolist_get("​hotlist",​ "",​ ""​);​ +
-    while (weechat::​infolist_next($infolist)) +
-    { +
-        $hotlist{weechat::​infolist_pointer($infolist,​ "​buffer_pointer"​)} = +
-            weechat::​infolist_integer($infolist,​ "​priority"​);​ +
-    } +
-    weechat::​infolist_free($infolist);​ +
-     +
-    # read buffers list +
-    my @buffers; +
-    my @current1 = (); +
-    my @current2 = (); +
-    my $old_number = -1; +
-    my $max_number = 0; +
-    my $max_number_digits = 0; +
-    my $active_seen = 0; +
-    $infolist = weechat::​infolist_get("​buffer",​ "",​ ""​);​ +
-    while (weechat::​infolist_next($infolist)) +
-    { +
-        my $buffer; +
-        my $number = weechat::​infolist_integer($infolist,​ "​number"​);​ +
-        if ($number ne $old_number) +
-        { +
-            @buffers = (@buffers, @current2, @current1);​ +
-            @current1 = (); +
-            @current2 = (); +
-            $active_seen = 0; +
-        } +
-        if ($number > $max_number) +
-        { +
-            $max_number = $number; +
-        } +
-        $old_number = $number; +
-        my $active = weechat::​infolist_integer($infolist,​ "​active"​);​ +
-        if ($active) +
-        { +
-            $active_seen = 1; +
-        } +
-        $buffer->​{"​pointer"​} = weechat::​infolist_pointer($infolist,​ "​pointer"​);​ +
-        $buffer->​{"​number"​} = $number; +
-        $buffer->​{"​active"​} = $active; +
-        $buffer->​{"​current_buffer"​} = weechat::​infolist_integer($infolist,​ "​current_buffer"​);​ +
-        $buffer->​{"​short_name"​} = weechat::​infolist_string($infolist,​ "​short_name"​);​ +
-        $buffer->​{"​name"​} = weechat::​infolist_string($infolist,​ "​name"​);​ +
-        if ($active_seen) +
-        { +
-            push(@current2,​ $buffer); +
-        } +
-        else +
-        { +
-            push(@current1,​ $buffer); +
-        } +
-    } +
-    if ($max_number >= 1) +
-    { +
-        $max_number_digits = length(int($max_number));​ +
-    } +
-    @buffers = (@buffers, @current2, @current1);​ +
-    weechat::​infolist_free($infolist);​ +
-     +
-    # sort buffers by number, name or shortname +
-    my %sorted_buffers;​ +
-    if (1) +
-    { +
-        my $number = 0; +
-        for my $buffer (@buffers) +
-        { +
-            my $key; +
-            if ($options{"​sort"​} eq "​name"​) +
-            { +
-                my $name = $buffer->​{"​name"​};​ +
-                $name = $buffer->​{"​short_name"​} if ($options{"​short_names"​} eq "​on"​);​ +
-                $key = sprintf("​%s%08d",​ lc($name), $buffer->​{"​number"​});​ +
-            } +
-            else +
-            { +
-                $key = sprintf("​%08d",​ $number); +
-            } +
-            $sorted_buffers{$key} = $buffer; +
-            $number++;​ +
-        } +
-    } +
-     +
-    # build string with buffers +
-    $old_number = -1; +
-    foreach my $key (sort keys %sorted_buffers) +
-    { +
-        my $buffer = $sorted_buffers{$key};​ +
-        if (($options{"​hide_merged_buffers"​} eq "​on"​) && (! $buffer->​{"​active"​})) +
-        { +
-            next; +
-        } +
-        my $color = $options{"​color_default"​};​ +
-        $color = "​default"​ if ($color eq ""​);​ +
-        my $bg = "";​ +
- +
-        if (exists $hotlist{$buffer->​{"​pointer"​}}) +
-        { +
-            if (grep /​^$buffer->​{"​name"​}$/,​ @whitelist_buffers) +
-            { +
-                if ($options{"​color_whitelist_"​.$hotlist_level{$hotlist{$buffer->​{"​pointer"​}}}} eq ""​) ​   # no color in settings +
-                { +
-                    $color = $options{"​color_hotlist_"​.$hotlist_level{$hotlist{$buffer->​{"​pointer"​}}}}; ​    # use standard colors +
-                } +
-                else +
-                { +
-                    $color = $options{"​color_whitelist_"​.$hotlist_level{$hotlist{$buffer->​{"​pointer"​}}}};​ +
-                } +
-            } +
-            else +
-            { +
-                $color = $options{"​color_hotlist_"​.$hotlist_level{$hotlist{$buffer->​{"​pointer"​}}}};​ +
-            } +
-        } +
-        if ($buffer->​{"​current_buffer"​}) +
-        { +
-            $color = $options{"​color_current"​};​ +
-            $bg = $1 if ($color =~ /.*,(.*)/); +
-        } +
-        my $color_bg = "";​ +
-        $color_bg = weechat::​color(","​.$bg) if ($bg ne ""​);​ +
-        if ($options{"​show_number"​} eq "​on"​) +
-        { +
-            if (($options{"​indenting_number"​} eq "​on"​) +
-                && (($position eq "​left"​) || ($position eq "​right"​))) +
-            { +
-                $str .= weechat::​color("​default"​).$color_bg +
-                    .(" " x ($max_number_digits - length(int($buffer->​{"​number"​}))));​ +
-            } +
-            if ($old_number ne $buffer->​{"​number"​}) +
-            { +
-                $str .= weechat::​color($options{"​color_number"​}) +
-                    .$color_bg +
-                    .$buffer->​{"​number"​} +
-                    .weechat::​color("​default"​) +
-                    .$color_bg +
-                    ."​.";​ +
-            } +
-            else +
-            { +
-                my $indent = "";​ +
-                $indent = ((" " x length($buffer->​{"​number"​}))."​ ") if (($position eq "​left"​) || ($position eq "​right"​));​ +
-                $str .= weechat::​color("​default"​) +
-                    .$color_bg +
-                    .$indent; +
-            } +
-        } +
-        if (($options{"​indenting"​} eq "​on"​) +
-            && (($position eq "​left"​) || ($position eq "​right"​))) +
-        { +
-            my $type = weechat::​buffer_get_string($buffer->​{"​pointer"​},​ "​localvar_type"​);​ +
-            if (($type eq "​channel"​) || ($type eq "​private"​)) +
-            { +
-                $str .= " ​ "; +
-            } +
-        } +
-        if ($options{"​show_prefix"​} eq "​on"​) +
-        { +
-            my $nickname = weechat::​buffer_get_string($buffer->​{"​pointer"​},​ "​localvar_nick"​);​ +
-            if ($nickname ne ""​) +
-            { +
-                # with version >= 0.3.2, this infolist will return only nick +
-                # with older versions, whole nicklist is returned for buffer, and this can be very slow +
-                my $infolist_nick = weechat::​infolist_get("​nicklist",​ $buffer->​{"​pointer"​},​ "​nick_"​.$nickname);​ +
-                if ($infolist_nick ne ""​) +
-                { +
-                    my $version = weechat::​info_get("​version_number",​ ""​);​ +
-                    $version = 0 if ($version eq ""​);​ +
-                    while (weechat::​infolist_next($infolist_nick)) +
-                    { +
-                        if ((weechat::​infolist_string($infolist_nick,​ "​type"​) eq "​nick"​) +
-                            && (weechat::​infolist_string($infolist_nick,​ "​name"​) eq $nickname)) +
-                        { +
-                            my $prefix = weechat::​infolist_string($infolist_nick,​ "​prefix"​);​ +
-                            if (($prefix ne " ") or ($options{"​show_prefix_empty"​} eq "​on"​)) +
-                            { +
-                                # with version >= 0.3.5, it is now a color name (for older versions: option name with color) +
-                                if (int($version) >= 0x00030500) +
-                                { +
-                                    $str .= weechat::​color(weechat::​infolist_string($infolist_nick,​ "​prefix_color"​));​ +
-                                } +
-                                else +
-                                { +
-                                    $str .= weechat::​color(weechat::​config_color( +
-                                                               ​weechat::​config_get( +
-                                                                   ​weechat::​infolist_string($infolist_nick,​ "​prefix_color"​))));​ +
-                                } +
-                                $str .= $prefix; +
-                            } +
-                            last; +
-                        } +
-                    } +
-                    weechat::​infolist_free($infolist_nick);​ +
-                } +
-            } +
-        } +
-        $str .= weechat::​color($color);​ +
-        if ($options{"​short_names"​} eq "​on"​) +
-        { +
-            $str .= $buffer->​{"​short_name"​};​ +
-        } +
-        else +
-        { +
-            $str .= $buffer->​{"​name"​};​ +
-        } +
-        $str .= "​\n";​ +
-        $old_number = $buffer->​{"​number"​};​ +
-    } +
-     +
-     +
-    return $str; +
-+
- +
-sub buffers_signal_buffer +
-+
-    weechat::​bar_item_update("​buffers"​);​ +
-    return weechat::​WEECHAT_RC_OK;​ +
-+
- +
-sub buffers_signal_hotlist +
-+
-    weechat::​bar_item_update("​buffers"​);​ +
-    return weechat::​WEECHAT_RC_OK;​ +
-+
- +
-sub buffers_signal_config +
-+
-    buffers_read_options();​ +
-    weechat::​bar_item_update("​buffers"​);​ +
-    return weechat::​WEECHAT_RC_OK;​ +
-+
-</​code>​ +
- +
-==== TP - urlbar.py : ==== +
- +
-Je vous propose par exemple l'​installation d'un script à destination de pouvoir lire une <url> longue en entier (pour la recopier par exemple) dans une fenêtre particulière qui va surplomber les /window splith et splitv que vous avez créées. +
- +
-==== Script urlbar.py ==== +
- +
-Fermer ​weechat.+
  
 Créer et copier le script dans : Créer et copier le script dans :
  
-   $ nano /​home/​mon_user/​.weechat/​python/​autoload/​urlbar.py+   $ nano /​home/​mon_user/​.weechat/​python/​autoload/​shortenurl.py
  
 voir [[commande:​nano|Commande NANO]] voir [[commande:​nano|Commande NANO]]
- +  ​[[http://www.weechat.org/scripts/source/stable/shortenurl.py/| Télécharger scriptshortenurl.py]] 
-<code bash># -*- coding: utf-8 -*- +Pour revoir ces <url> taper dans tty X :  
-+<​code>​/urlbar toggle</​code>​
-# Copyright (c) 2009 by FlashCode <​flashcode@flashtux.org>​ +
-+
-# This program is free software; you can redistribute it and/or modify +
-# it under the terms of the GNU General Public License as published by +
-# the Free Software Foundation; either version 3 of the License, or +
-# (at your option) any later version. +
-+
-# This program is distributed in the hope that it will be useful, +
-# but WITHOUT ANY WARRANTY; without even the implied warranty of +
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ​ See the +
-# GNU General Public License for more details. +
-+
-# You should have received a copy of the GNU General Public License +
-# along with this program. ​ If not, see <http://www.gnu.org/licenses/>. +
-+
- +
-+
-# Bar with URLs (easy click on long URLs) +
-# (this script requires WeeChat 0.3.0 or newer) +
-+
-# History: +
-# 2009-07-01, xt <​xt@bash.no>​ +
-#     ​version 0.5: changed script command to /urlbar, comma separated ignore list +
-# 2009-05-22, xt <​xt@bash.no>​ +
-#     ​version 0.4: added configurable showing of buffer name, nick and time +
-# 2009-05-21, xt <​xt@bash.no>​ +
-#     ​version 0.3: bug fixes, add ignore feature from sleo +
-# 2009-05-19, xt <​xt@bash.no>:​ +
-#     ​version 0.2-dev: fixes +
-# 2009-05-04, FlashCode <​flashcode@flashtux.org>:​ +
-#     ​version 0.1-dev: dev snapshot +
-+
- +
-SCRIPT_NAME ​   = "​urlbar"​ +
-SCRIPT_AUTHOR ​ = "​FlashCode <​flashcode@flashtux.org>"​ +
-SCRIPT_VERSION = "​0.5"​ +
-SCRIPT_LICENSE = "​GPL3"​ +
-SCRIPT_DESC ​   = "Bar with URLs. For easy clicking or selecting."​ +
-SCRIPT_COMMAND = "​urlbar"​ +
- +
-settings = { +
-    "​visible_amount" ​       : '​5', ​    # Amount of URLS visible in urlbar at any given time +
-    "​visible_seconds" ​      : '​5', ​    # Amount of seconds URLbar is visible +
-    "​use_popup" ​            : '​on', ​   # Pop up automatically +
-    "​remember_amount" ​      : '​25', ​   # Max amout of URLs to keep in RAM +
-    "​ignore" ​               : '​grep', ​ # List of buffers to ignore. (comma separated) +
-    "​show_timestamp" ​       : '​on', ​   # Show timestamp in list +
-    "​show_nick" ​            : '​on', ​   # Show nick in list +
-    "​show_buffername" ​      : '​on', ​   # Show buffer name in list +
-    "​time_format" ​          : '​%H:​%M',​ # Time format +
-+
- +
-import_ok = True +
-try: +
-    import weechat +
-except ImportError:​ +
-    print "This script must be run under WeeChat."​ +
-    print "Get WeeChat now at: http://weechat.flashtux.org/+
-    import_ok = False +
- +
-import re +
-from time import strftime, localtime +
-octet = r'​(?:​2(?:​[0-4]\d|5[0-5])|1\d\d|\d{1,​2})'​ +
-ipAddr = r'%s(?:\.%s){3}'​ % (octet, octet) +
-# Base domain regex off RFC 1034 and 1738 +
-label = r'​[0-9a-z][-0-9a-z]*[0-9a-z]?'​ +
-domain = r'​%s(?:​\.%s)*\.[a-z][-0-9a-z]*[a-z]?'​ % (label, label) +
-urlRe = re.compile(r'​(\w+://​(?:​%s|%s)(?::​\d+)?​(?:/​[^\])>​\s]*)?​)'​ % (domain, ipAddr), re.I) +
- +
- +
-# list of URL-objects  +
-urls = [] +
- +
-# Display ALL, a toggle +
-DISPLAY_ALL = False +
- +
- +
- +
-def urlbar_item_cb(data,​ item, window): +
-    '''​ Callback that prints the lines in the urlbar '''​ +
-    global DISPLAY_ALL,​ urls +
-    try: +
-        visible_amount = int(weechat.config_get_plugin('​visible_amount'​)) +
-    except ValueError:​ +
-        weechat.prnt('',​ '​Invalid value for visible_amount setting.'​) +
- +
-    if not urls: +
-        return 'Empty URL list'​ +
- +
-    if DISPLAY_ALL:​ +
-        DISPLAY_ALL = False +
-        printlist = urls +
-    else: +
-        printlist = urls[-visible_amount:​] +
- +
-    result = ''​ +
-    for index, url in enumerate(printlist):​ +
-        result += '​%s%2d%s %s \r' %\ +
-            (weechat.color("​yellow"​),​ index+1, weechat.color("​bar_fg"​),​ url) +
-    return result +
- +
- +
-def get_buffer_name(bufferp,​ long=False):​ +
-    if not weechat.buffer_get_string(bufferp,​ "​short_name"​) or long: +
-        bufferd = weechat.buffer_get_string(bufferp,​ "​name"​) +
-    else: +
-        bufferd = weechat.buffer_get_string(bufferp,​ "​short_name"​) +
-    return bufferd +
- +
-class URL(object):​ +
-    '''​ URL class that holds the urls in the URL list '''​ +
- +
-    def __init__(self,​ url, buffername, timestamp, nick): +
-        self.url = url +
-        self.buffername = buffername +
-        self.time = strftime( +
-                weechat.config_get_plugin('​time_format'​),​ +
-                localtime(int(timestamp))) +
-        self.time = self.time.replace(':',​ '​%s:​%s'​ % +
-                (weechat.color(weechat.config_string( +
-                weechat.config_get('​weechat.color.chat_time_delimiters'​))),​ +
-                weechat.color('​reset'​))) +
-        self.nick = irc_nick_find_color(nick) +
- +
-    def __str__(self):​ +
-        # Format options +
-        time, buffername, nick = '',​ '',​ ''​ +
-        if weechat.config_get_plugin('​show_timestamp'​) == '​on':​ +
-            time = self.time + ' ' +
-        if weechat.config_get_plugin('​show_buffername'​) == '​on':​ +
-            buffername = self.buffername + ' ' +
-        if weechat.config_get_plugin('​show_nick'​) == '​on':​ +
-            nick = self.nick + ' ' +
- +
-        return '​%s%s%s%s'​ % (time, nick, buffername, self.url) +
- +
-    def __cmp__(this,​ other): +
-        if this.url == other.url:​ +
-            return 0 +
-        return 1 +
- +
-def urlbar_print_cb(data,​ buffer, time, tags, displayed, highlight, prefix, message): +
- +
- +
-    buffer_name = get_buffer_name(buffer,​ long=True) +
-    # Skip ignored buffers +
-    for ignored_buffer in weechat.config_get_plugin('​ignore'​).split(','​):​ +
-        if ignored_buffer.lower() == buffer_name.lower():​ +
-            return weechat.WEECHAT_RC_OK +
-        +
-    # Clean list of URLs +
-    for i in range(len(urls) - int(weechat.config_get_plugin('​remember_amount'​))):​ +
-        # Delete the oldest +
-        urls.pop(0) +
- +
-    for url in urlRe.findall(message):​ +
-        urlobject = URL(url, get_buffer_name(buffer),​ time, prefix) +
-        # Do not add duplicate URLs +
-        if urlobject in urls: +
-            continue +
-        urls.append(urlobject) +
-        if weechat.config_get_plugin('​use_popup'​) == '​on':​ +
-            weechat.command("",​ "/bar show urlbar"​) +
-            # auto hide bar after delay +
-            try: +
-                weechat.command('',​ '/wait %s /bar hide urlbar'​ % +
-                        int(weechat.config_get_plugin('​visible_seconds'​))) +
-            except ValueError:​ +
-                weechat.prnt('',​ '​Invalid visible_seconds'​) +
- +
-        weechat.bar_item_update("​urlbar_urls"​) +
- +
-    return weechat.WEECHAT_RC_OK +
- +
- +
-def urlbar_cmd(data,​ buffer, args): +
-    """​ Callback for /url command. """​ +
-    global urls, DISPLAY_ALL +
- +
-    if args == "​list":​ +
-        if urls: +
-            DISPLAY_ALL = True +
-            weechat.command("",​ '/bar show urlbar'​) +
-            weechat.bar_item_update("​urlbar_urls"​) +
-        else: +
-            weechat.prnt('',​ 'URL list empty.'​) +
-    if args == "​show":​ +
-        weechat.command('',​ '/bar show urlbar'​) +
-    elif args == '​hide':​ +
-        weechat.command("",​ "/bar hide urlbar"​) +
-    elif args == '​toggle':​ +
-        weechat.command("",​ "/bar toggle urlbar"​) +
-    elif args == '​clear':​ +
-        urls = [] +
-    else: +
-        weechat.command("",​ "/help %s" % SCRIPT_COMMAND) +
- +
-    return weechat.WEECHAT_RC_OK +
- +
-def urlbar_completion_urls_cb(data,​ completion_item,​ buffer, completion):​ +
-    """​ Complete with URLS, for command '/​url'​. """​ +
-    for url in urls: +
-        weechat.hook_completion_list_add(completion,​ url.url, +
-                                         0, weechat.WEECHAT_LIST_POS_SORT) +
-    return weechat.WEECHAT_RC_OK +
- +
-def irc_nick_find_color(nick):​ +
- +
-    color = 0 +
-    for char in nick: +
-        color += ord(char) +
- +
-    color %= weechat.config_integer(weechat.config_get("​weechat.look.color_nicks_number"​)) +
-    color = weechat.config_get('​weechat.color.chat_nick_color%02d'​ %(color+1)) +
-    color = weechat.config_string(color) +
-    return '​%s%s%s'​ %(weechat.color(color),​ nick, weechat.color('​reset'​)) +
- +
- +
-if __name__ == "​__main__"​ and import_ok:​ +
-    if weechat.register(SCRIPT_NAME,​ SCRIPT_AUTHOR,​ SCRIPT_VERSION,​ SCRIPT_LICENSE,​ +
-                        SCRIPT_DESC,​ "",​ ""​):​ +
-        # Set default settings +
-        for option, default_value in settings.iteritems():​ +
-            if not weechat.config_is_set_plugin(option):​ +
-                weechat.config_set_plugin(option,​ default_value) +
- +
-        weechat.hook_command(SCRIPT_COMMAND,​ +
-                             "​URL bar control",​ +
-                             "​[list | hide | show | toggle | URL]",​ +
-                             " ​  list: list all URL and show URL bar\n"​ +
-                             " ​  hide: hide URL bar\n"​ +
-                             " ​  show: show URL bar\n"​ +
-                             " ​  ​toggle:​ toggle showing of URL bar\n",​ +
-                             "​list %(urlbar_urls)",​ +
-                             "​urlbar_cmd",​ ""​) +
-        weechat.hook_completion("​urlbar_urls",​ "list of URLs",​ +
-                                "​urlbar_completion_urls_cb",​ ""​) +
-        weechat.bar_item_new("​urlbar_urls",​ "​urlbar_item_cb",​ ""​);​ +
-        weechat.bar_new("​urlbar",​ "​on",​ "​1000",​ "​root",​ "",​ "​top",​ "​horizontal",​ +
-                        "​vertical",​ "​0",​ "​0",​ "​default",​ "​default",​ "​default",​ "​0",​ +
-                        "​urlbar_urls"​);​ +
-        weechat.hook_print("",​ "",​ "://",​ 1, "​urlbar_print_cb",​ ""​)</​code>​ +
- +
-Ensuite, ouvrir **weechat-curses**,​ le plugins **urlbar.py** est chargé au démarrage : +
- +
-   $ weechat-curses +
- +
-Maintenant, lorsqu'​une <//​url//>​ se présente, une fenêtre apparaît quelques secondes avec cette <//​url//>​ indiquée. +
- +
-Pour revoir ces <//url//> taper : +
- +
-   /urlbar toggle +
- +
-**Tchap** !+
  
 === Nota : === === Nota : ===
Ligne 882: Ligne 231:
    Alt + l    Alt + l
  
-//Merci à engil et captnfab sans qui la rédaction des tutos ne serait que désert et perdition !// 
  
 ===== Les liens ===== ===== Les liens =====
Ligne 890: Ligne 238:
   * [[http://​www.weechat.org/​scripts/​ | Scripts disponibles]]   * [[http://​www.weechat.org/​scripts/​ | Scripts disponibles]]
  
- --- //​[[matt_chile@yahoo.fr|MaTTuX_]] 2009/02/10 00:16//+:-P :-:-P
   
doc/reseau/weechat.txt · Dernière modification: 11/02/2024 11:01 par TyZef

Pied de page des forums

Propulsé par FluxBB