mirror of
https://github.com/weechat/weechat.git
synced 2026-06-25 04:16:38 +02:00
Compare commits
12 Commits
v0.3.6-rc2
...
v0.3.6-rc3
| Author | SHA1 | Date | |
|---|---|---|---|
| 661f651048 | |||
| 90ab543ce2 | |||
| 0a2c938dae | |||
| e26553fd9b | |||
| 395674c724 | |||
| c161d704f7 | |||
| 2ed8974d2f | |||
| 40d8e61118 | |||
| ac7c27949b | |||
| 0bbddad6a6 | |||
| 5c694363e8 | |||
| dabcf293c9 |
+1
-1
@@ -33,7 +33,7 @@ ENDIF(PREFIX)
|
||||
|
||||
SET(VERSION_MAJOR "0")
|
||||
SET(VERSION_MINOR "3")
|
||||
SET(VERSION_PATCH "6-rc2")
|
||||
SET(VERSION_PATCH "6-rc3")
|
||||
SET(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
|
||||
SET(LICENSE "GPL3")
|
||||
SET(PKG_STRING "${PROJECT_NAME} ${VERSION}")
|
||||
|
||||
@@ -1,12 +1,17 @@
|
||||
WeeChat ChangeLog
|
||||
=================
|
||||
Sébastien Helleu <flashcode@flashtux.org>
|
||||
v0.3.6-rc2, 2011-10-10
|
||||
v0.3.6-rc3, 2011-10-20
|
||||
|
||||
|
||||
Version 0.3.6 (under dev!)
|
||||
--------------------------
|
||||
|
||||
* core: fix freeze when calling function util_file_get_content with a directory
|
||||
instead of a filename
|
||||
* core: add color attribute "|" (keep attributes) and value "resetcolor" for
|
||||
function weechat_color in plugin API (used by irc plugin to keep
|
||||
bold/reverse/underlined in message when changing color) (bug #34550)
|
||||
* core: fix compilation error (INSTALLPREFIX undeclared) on OS X and when
|
||||
compiling with included gettext (bug #26690)
|
||||
* core: display timeout for hook_process command only if debug for core is
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
WeeChat News
|
||||
============
|
||||
Sébastien Helleu <flashcode@flashtux.org>
|
||||
v0.3.6-rc2, 2011-10-02
|
||||
v0.3.6-rc3, 2011-10-20
|
||||
|
||||
|
||||
Version 0.3.6 (under dev!)
|
||||
|
||||
+2
-2
@@ -24,10 +24,10 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.56)
|
||||
AC_INIT(WeeChat, 0.3.6-rc2, flashcode@flashtux.org)
|
||||
AC_INIT(WeeChat, 0.3.6-rc3, flashcode@flashtux.org)
|
||||
AC_CONFIG_SRCDIR([src/core/weechat.c])
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
AM_INIT_AUTOMAKE([weechat], [0.3.6-rc2])
|
||||
AM_INIT_AUTOMAKE([weechat], [0.3.6-rc3])
|
||||
LICENSE="GPL3"
|
||||
|
||||
# Checks for programs
|
||||
|
||||
@@ -940,9 +940,12 @@ Attribute
|
||||
Er ist möglich einer Farbe ein Attribut hinzuzufügen. Dazu wird dem
|
||||
Farbnamen oder der Farbnummer ein- oder mehrere Attribute vorangestellt.
|
||||
|
||||
* `*`: fett
|
||||
* `!`: invertierte Darstellung
|
||||
* `_`: unterstrichen
|
||||
* `*` : fett
|
||||
* `!` : invertierte Darstellung
|
||||
* `_` : unterstrichen
|
||||
// TRANSLATION MISSING
|
||||
* `|` : keep attributes: do not reset bold/reverse/underlined when changing
|
||||
color
|
||||
|
||||
Um zum Beispiel dem eigenen Nick die Farbe weiß und unterstrichen
|
||||
zuzuordnen:
|
||||
|
||||
@@ -719,6 +719,7 @@ Arguments:
|
||||
* 'string': string
|
||||
* 'mask': mask, can begin or end with "`*`" (no other "`*`" are allowed inside
|
||||
mask)
|
||||
* 'case_sensitive': 1 for case sensitive comparison, otherwise 0
|
||||
|
||||
Return value:
|
||||
|
||||
@@ -1036,8 +1037,11 @@ Arguments:
|
||||
|
||||
* 'string': string to split
|
||||
* 'separators': delimiters used for split
|
||||
* 'keep_eol': if different from 0, then each argument will contain all string
|
||||
until end of line (see example below)
|
||||
* 'keep_eol':
|
||||
** 0: each string will contain one word
|
||||
** 1: each string will contain all string until end of line (see example below)
|
||||
** 2: same as 1, but do not remove separators at end of string before split
|
||||
(_new in version 0.3.6_)
|
||||
* 'num_items_max': maximum number of items created (0 = no limit)
|
||||
* 'num_items': pointer to int which will contain number of items created
|
||||
|
||||
@@ -5878,7 +5882,7 @@ Arguments:
|
||||
|
||||
* 'color_name': name of color, one of:
|
||||
** WeeChat option name (from weechat.color.xxx), for example 'chat_delimiters'
|
||||
** color with optional background, for example 'yellow' or 'yellow,red'
|
||||
** color with optional attributes/background (see below)
|
||||
** attribute:
|
||||
*** 'bold': set bold
|
||||
*** '-bold': remove bold
|
||||
@@ -5892,6 +5896,26 @@ Arguments:
|
||||
*** 'bar_fg': foreground color for bar
|
||||
*** 'bar_delim': delimiters color for bar
|
||||
*** 'bar_bg': background color for bar
|
||||
** reset:
|
||||
*** 'reset': reset color and attributes
|
||||
*** 'resetcolor': reset color (keep attributes) (_new in version 0.3.6_)
|
||||
|
||||
Format of color is: attributes (optional) + color name + ",background"
|
||||
(optional). Possible attributes are:
|
||||
|
||||
* `*` : bold text
|
||||
* `!` : reverse video
|
||||
* `_` : underlined text
|
||||
* `|` : keep attributes: do not reset bold/reverse/underlined when changing
|
||||
color (_new in version 0.3.6_)
|
||||
|
||||
Examples:
|
||||
|
||||
* `yellow` : yellow
|
||||
* `_green` : underlined green
|
||||
* `*214` : bold orange
|
||||
* `yellow,red` : yellow on red
|
||||
* `|cyan` : cyan (and keep any attribute which was set previously)
|
||||
|
||||
Return value:
|
||||
|
||||
@@ -7520,6 +7544,10 @@ Argument is a hashtable with following entries (keys and values are string):
|
||||
Immediately after sending this hsignal, you must send command to irc server,
|
||||
and redirection will be used for this command.
|
||||
|
||||
When complete answer to your command has been be received, a hsignal will be
|
||||
send. This hsignal has name 'irc_redirection_xxx_yyy' where 'xxx' is the
|
||||
'signal' and 'yyy' the 'pattern' used.
|
||||
|
||||
C example:
|
||||
|
||||
[source,C]
|
||||
|
||||
@@ -932,9 +932,11 @@ Attributes
|
||||
It is possible to use some attributes for colors. One or more attributes can be
|
||||
added before color name or number:
|
||||
|
||||
* `*`: bold text
|
||||
* `!`: reverse video
|
||||
* `_`: underlined text
|
||||
* `*` : bold text
|
||||
* `!` : reverse video
|
||||
* `_` : underlined text
|
||||
* `|` : keep attributes: do not reset bold/reverse/underlined when changing
|
||||
color
|
||||
|
||||
For example if you want self nick as white underlined, do:
|
||||
|
||||
|
||||
@@ -727,6 +727,7 @@ Paramètres :
|
||||
* 'string' : chaîne
|
||||
* 'mask' : masque, peut commencer ou se terminer par "`*`" (aucune autre "`*`"
|
||||
n'est autorisée dans le masque)
|
||||
* 'case_sensitive' : 1 pour une comparaison tenant compte de la casse, sinon 0
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
@@ -1051,6 +1052,11 @@ Paramètres :
|
||||
* 'separators' : délimiteurs utilisés pour le découpage
|
||||
* 'keep_eol' : si différent de 0, alors chaque paramètre contiendra toutes les
|
||||
chaînes jusqu'à la fin de la ligne (voir exemple ci-dessous)
|
||||
** 0: chaque chaîne contiendra un mot
|
||||
** 1: chaque chaîne contiendra toute la chaîne jusqu'à la fin de la ligne (voir
|
||||
exemple ci-dessous)
|
||||
** 2: comme 1, mais ne supprime pas les séparateurs en fin de chaîne avant le
|
||||
découpage (_nouveau dans la version 0.3.6_)
|
||||
* 'num_items_max' : nombre maximum de chaînes à créer (0 = pas de limite)
|
||||
* 'num_items' : pointeur vers un entier qui contiendra le nombre de chaînes
|
||||
créées
|
||||
@@ -5941,7 +5947,7 @@ Paramètres :
|
||||
|
||||
* 'color_name' : nom de la couleur, parmi :
|
||||
** une option WeeChat (de weechat.color.xxx), par exemple 'chat_delimiters'
|
||||
** une couleur avec un fond optionnel, par exemple 'yellow' ou 'yellow,red'
|
||||
** une couleur avec des attributs/fond optionnels (voir ci-dessous)
|
||||
** un attribut :
|
||||
*** 'bold' : activer le gras
|
||||
*** '-bold' : désactiver le gras
|
||||
@@ -5955,6 +5961,27 @@ Paramètres :
|
||||
*** 'bar_fg' : couleur de texte pour la barre
|
||||
*** 'bar_delim' : couleur des délimiteurs pour la barre
|
||||
*** 'bar_bg' : couleur de fond pour la barre
|
||||
** réinitialisation :
|
||||
*** 'reset' : réinitialiser la couleur et les attributs
|
||||
*** 'resetcolor' : réinitialiser la couleur (garder les attributs)
|
||||
(_nouveau dans la version 0.3.6_)
|
||||
|
||||
Le format de la couleur est : attributs (optionnel) + nom de couleur + ",fond"
|
||||
(optionnel). Les attributs possibles sont :
|
||||
|
||||
* `*` : texte gras
|
||||
* `!` : mode vidéo inverse
|
||||
* `_` : texte souligné
|
||||
* `|` : garder les attributs : ne pas réinitialiser gras/inverse/souligné lors
|
||||
du changement de couleur (_nouveau dans la version 0.3.6_)
|
||||
|
||||
Exemples :
|
||||
|
||||
* `yellow` : jaune
|
||||
* `_green` : vert souligné
|
||||
* `*214` : orange gras
|
||||
* `yellow,red` : jaune sur rouge
|
||||
* `|cyan` : cyan (et garder tout attribut définit précédemment)
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
@@ -7630,6 +7657,10 @@ sont des chaînes) :
|
||||
Immédiatement après l'envoi de ce hsignal, vous devez envoyer la commande au
|
||||
serveur irc, et la redirection sera utilisée pour cette commande.
|
||||
|
||||
Lorsque la réponse complète à votre commande a été reçue, un hsignal est envoyé.
|
||||
Ce hsignal a le nom 'irc_redirection_xxx_yyy' où 'xxx' est le 'signal' et 'yyy'
|
||||
le 'pattern' utilisé.
|
||||
|
||||
Exemple en C :
|
||||
|
||||
[source,C]
|
||||
|
||||
@@ -959,6 +959,8 @@ attributs peuvent être ajoutés avant le nom ou le numéro de la couleur :
|
||||
* `*` : texte gras
|
||||
* `!` : mode vidéo inverse
|
||||
* `_` : texte souligné
|
||||
* `|` : garder les attributs : ne pas réinitialiser gras/inverse/souligné lors
|
||||
du changement de couleur
|
||||
|
||||
Par exemple si vous voulez votre pseudo en blanc souligné, faites :
|
||||
|
||||
|
||||
@@ -462,7 +462,7 @@ Se il mouse ancora non funziona, verificare la variabile TERM nella propria
|
||||
shell (consultare l'output di `echo $TERM` nel terminale).
|
||||
In base al terminale usato, il mouse potrebbe non essere supportato.
|
||||
|
||||
E' possibile testare il supporto al mouse nel terminale:
|
||||
È possibile testare il supporto al mouse nel terminale:
|
||||
|
||||
----------------------------------------
|
||||
$ printf '\033[?1002h'
|
||||
@@ -623,7 +623,7 @@ Per WeeChat ≤ 0.3.3, le opzioni sono 'irc.network.away_check' e
|
||||
Come posso essere avvisato quando qualcuno mi cerca in un canale?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
E' possibile usare script come 'beep.pl" o 'launcher.pl'.
|
||||
È possibile usare script come 'beep.pl" o 'launcher.pl'.
|
||||
|
||||
Per 'launcher.pl', bisogna impostare il comando:
|
||||
|
||||
|
||||
@@ -739,6 +739,8 @@ Argomenti:
|
||||
* 'string': stringa
|
||||
* 'mask': mask, può iniziare o terminare con "`*`" (nessun altro "`*`"
|
||||
consentito all'interno della mask)
|
||||
* 'case_sensitive': 1 per il confronto con caso esatto (maiuscole/minuscole),
|
||||
altrimenti 0
|
||||
|
||||
Valore restituito:
|
||||
|
||||
@@ -1016,10 +1018,14 @@ Argomenti:
|
||||
|
||||
* 'string': stringa da dividere
|
||||
* 'separators': delimitatori usati per dividere
|
||||
* 'keep_eol': se diversa da 0, allora ogni argomento conterrà tutte le stringhe
|
||||
fino a fine riga (consultare l'esempio in basso)
|
||||
* 'num_items_max': maximum number of items created (0 = no limit)
|
||||
* 'num_items': pointer to int which will contain number of items created
|
||||
* 'keep_eol':
|
||||
** 0: ogni stringa conterrà una parola
|
||||
** 1: ogni stringa conterrà tutte le stringhe fino a fine riga
|
||||
(consultare il seguente esempio)
|
||||
** 2: come il punto 1, ma non rimuove i delimitatori alla fine della stringa
|
||||
prima della divisione (_novità nella versione 0.3.6_)
|
||||
* 'num_items_max': numero massimo di elementi creati (0 = nessun limite)
|
||||
* 'num_items': puntatore ad int che conterrà il numero di elementi creati
|
||||
|
||||
Valore restituito:
|
||||
|
||||
@@ -5883,7 +5889,7 @@ Argomenti:
|
||||
|
||||
* 'color_name': nome del colore, uno di:
|
||||
** nome opzione di WeeChat (da weechat.color.xxx), ad esempio 'chat_delimiters'
|
||||
** colore con sfondo opzionale, ad esempio 'yellow' o 'yellow,red'
|
||||
** colore con attributi/sfondo opzionali (vedi sotto)
|
||||
** attributo:
|
||||
*** 'bold': imposta grassetto
|
||||
*** '-bold': rimuove grassetto
|
||||
@@ -5897,6 +5903,27 @@ Argomenti:
|
||||
*** 'bar_fg': colore di primo piano della barra
|
||||
*** 'bar_delim': colore dei delimitatori della barra
|
||||
*** 'bar_bg': colore di sfondo della barra
|
||||
** reset:
|
||||
*** 'reset': ripristina colore ed attributi
|
||||
*** 'resetcolor': ripristina colore (mantiene attributi)
|
||||
(_novità nella versione 0.3.6_)
|
||||
|
||||
Il formato del colore è: attributi (opzionale) + nome colore +",sfondo"
|
||||
(opzionale). Gli attributi possibili sono:
|
||||
|
||||
* `*` : testo in grassetto
|
||||
* `!` : video inverso
|
||||
* `_` : testo sottolineato
|
||||
* `|` : mantiene attributi: non ripristina grassetto/inverso/sottolineato
|
||||
al cambio di colore (_novità nella versione 0.3.6_)
|
||||
|
||||
Esempi:
|
||||
|
||||
* `yellow` : giallo
|
||||
* `_green` : verde sottolineato
|
||||
* `*214` : arancione grassetto
|
||||
* `yellow,red` : giallo su rosso
|
||||
* `|cyan` : ciano (e mantiene qualsiasi attributo impostato in precedenza)
|
||||
|
||||
Valore restituito:
|
||||
|
||||
@@ -7558,6 +7585,10 @@ sono stringhe):
|
||||
Subito dopo aver inviato questo hsignal, è necessario inviare il comando al
|
||||
server irc, e la redirezione verrà usata per questo comando.
|
||||
|
||||
Quando è stata ricevuta la risposta completa dal proprio comando, verrà
|
||||
inviato un hsignal. Questo hsignal ha il nome 'irc_redirection_xxx_yyy' dove
|
||||
'xxx' è il segnale e 'yyy' lo 'schema' usato.
|
||||
|
||||
Esempio in C:
|
||||
|
||||
[source,C]
|
||||
@@ -8500,7 +8531,7 @@ Contenuto della tabella hash inviata alla callback (tasti e valori sono di tipo
|
||||
...) con informazioni sul secondo punto (utile solo per le azioni del mouse,
|
||||
per sapere dove il pulsante del mouse è stato rilasciato). +
|
||||
^(2)^ `XXX` è il nome della variabile locale nel buffer. +
|
||||
^(3)^ E' impostato solo per l buffer con contenuto libero. +
|
||||
^(3)^ È impostato solo per l buffer con contenuto libero. +
|
||||
^(4)^ Data/ora in cui WeeChat aggiunge una riga nel buffer (maggiore o uguale a
|
||||
"chat_line_date").
|
||||
|
||||
@@ -12006,7 +12037,7 @@ Hdata
|
||||
Funzioni per hdata (accesso raw a WeeChat o ai dati dei plugin).
|
||||
|
||||
[IMPORTANT]
|
||||
Hdata fornisce un accesso in sola lettura ai dati. E' *SEVERAMENTE VIETATO*
|
||||
Hdata fornisce un accesso in sola lettura ai dati. È *SEVERAMENTE VIETATO*
|
||||
scrivere qualcosa in memoria puntato dalle variabili in hdata.
|
||||
|
||||
weechat_hdata_new
|
||||
@@ -12019,7 +12050,7 @@ Crea un nuovo hdata.
|
||||
[NOTE]
|
||||
.hdata vs infolist
|
||||
========================================
|
||||
Hdata è un metodo veloce per leggere i dati di WeeChat o dei plugin. E' simile
|
||||
Hdata è un metodo veloce per leggere i dati di WeeChat o dei plugin. È simile
|
||||
alle liste info, ma ci sono alcune differenze:
|
||||
|
||||
* è più veloce ed usa meno memoria: lettura diretta dei dati senza duplicazione
|
||||
|
||||
@@ -722,7 +722,7 @@ Esempio di eventi:
|
||||
|
||||
[TIP]
|
||||
Quando si associa un tasto nel contesto "mouse", è possibile far corrispondere
|
||||
più eventi usando '*' all'inizio o alla fine del nome, ad esempio
|
||||
più eventi usando `*` all'inizio o alla fine del nome, ad esempio
|
||||
`button1-gesture-*` corrisponderà ad ogni azione compiuta col tasto sinistro.
|
||||
|
||||
[TIP]
|
||||
@@ -948,9 +948,11 @@ Attributi
|
||||
Esistono alcuni attributi per i colori. Uno o più attributi vanno aggiunti prima
|
||||
del nome o del numero del colore:
|
||||
|
||||
* `*`: testo in grassetto
|
||||
* `!`: video inverso
|
||||
* `_`: testo sottolineato
|
||||
* `*` : testo in grassetto
|
||||
* `!` : video inverso
|
||||
* `_` : testo sottolineato
|
||||
* `|` : mantiene attributi: non ripristina grassetto/inverso/sottolineato
|
||||
al cambio di colore
|
||||
|
||||
Ad esempio se si vuole il proprio nick bianco e sottolineato:
|
||||
|
||||
|
||||
@@ -17,6 +17,17 @@
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# scripting guide
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.pl.html
|
||||
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a toclevels=3 -a toc-title='Spis treści' -a date=`date "+%F"` -a revision="${VERSION}" -a stylesheet=${CMAKE_CURRENT_SOURCE_DIR}/../asciidoc.css -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.pl.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.pl.txt
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.pl.txt
|
||||
COMMENT "Building weechat_scripting.pl.html"
|
||||
)
|
||||
ADD_CUSTOM_TARGET(doc-scripting-pl ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.pl.html)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.pl.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# FAQ
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.pl.html
|
||||
|
||||
+7
-1
@@ -21,14 +21,20 @@
|
||||
docdir = $(datadir)/doc/$(PACKAGE)
|
||||
|
||||
EXTRA_DIST = CMakeLists.txt \
|
||||
weechat_scripting.pl.txt \
|
||||
weechat_faq.pl.txt \
|
||||
weechat_quickstart.pl.txt \
|
||||
weechat_tester.pl.txt
|
||||
|
||||
all-local: weechat_faq.pl.html \
|
||||
all-local: weechat_scripting.pl.html \
|
||||
weechat_faq.pl.html \
|
||||
weechat_quickstart.pl.html \
|
||||
weechat_tester.pl.html
|
||||
|
||||
# scripting guide
|
||||
weechat_scripting.pl.html: weechat_scripting.pl.txt
|
||||
$(ASCIIDOC) -a toc -a toclevels=3 -a toc-title='Spis treści' -a date=`date "+%F"` -a revision="$(VERSION)" -a stylesheet=$(abs_top_srcdir)/doc/asciidoc.css -n -o weechat_scripting.pl.html $(abs_top_srcdir)/doc/pl/weechat_scripting.pl.txt
|
||||
|
||||
# FAQ
|
||||
weechat_faq.pl.html: weechat_faq.pl.txt
|
||||
$(ASCIIDOC) -a toc -a toc-title='Spis treści' -a date=`date "+%F"` -a revision="$(VERSION)" -a stylesheet=$(abs_top_srcdir)/doc/asciidoc.css -f $(abs_top_srcdir)/doc/asciidoc.conf -n -o weechat_faq.pl.html $(abs_top_srcdir)/doc/pl/weechat_faq.pl.txt
|
||||
|
||||
+78
-93
@@ -3,9 +3,8 @@ WeeChat FAQ (Często zadawane pytania)
|
||||
Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[NOTE]
|
||||
This document is written for WeeChat versions ≥ 0.3.0.
|
||||
Ten dokument został napisany dla WeeChat w wersji ≥ 0.3.0.
|
||||
|
||||
|
||||
[[general]]
|
||||
@@ -41,10 +40,8 @@ Niektóre cechy (wersja ≥ 0.3.x):
|
||||
* filtrowanie po tagach i wyrażeniach regularnych
|
||||
* poziome i pionowe dzielenie okien
|
||||
* paski które możemy tworzyć i dostosowywać do własnych potrzeb
|
||||
// TRANSLATION MISSING
|
||||
* native nicklist
|
||||
// TRANSLATION MISSING
|
||||
* list of buffers (script buffers.pl)
|
||||
* natywna lista nicków
|
||||
* lista buforów (skrypt buffers.pl)
|
||||
* proxy IRC
|
||||
* przekierowanie części komęd IRC
|
||||
* przyrostowe wyszukiwanie tekstu w buforach, przeskakiwanie do podświetleń
|
||||
@@ -52,7 +49,7 @@ Niektóre cechy (wersja ≥ 0.3.x):
|
||||
* wsparcie dla aspell
|
||||
* podwójny zestaw znaków (kodowanie/dekodowanie)
|
||||
* tworzony od podstaw (nie bazuje na żadnym innym kliencie)
|
||||
* wielo platformowy
|
||||
* multi platformowy
|
||||
* 100% GPL i wolny
|
||||
|
||||
Więcej informacji na stronie: http://www.weechat.org/features
|
||||
@@ -64,7 +61,7 @@ Kompilacja / instalacja
|
||||
|
||||
|
||||
[[gui]]
|
||||
Słyszałem o wielu GUI dla WeeChat. Jak moge je skompilować/użyć?
|
||||
Słyszałem o wielu GUI dla WeeChat. Jak mogę je skompilować/użyć?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Obecnie dostępne jest tylko GUI Courses.
|
||||
@@ -94,7 +91,7 @@ Uruchomiłem WeeChat, ale czuję się zagubiony, co robić?
|
||||
Dla pomocy wpisz `/help`. Aby uzyskać pomoc dla komendy wpisz `/help komenda`.
|
||||
Klawisze i komendy są wypisane w dokumentacji.
|
||||
|
||||
Nowym użytkowniką zaleca się przeczytanie quickstart (szybki start)
|
||||
Nowym użytkownikom zaleca się przeczytanie quickstart (szybki start)
|
||||
(zobacz stronę z dokumentacją na stronie www).
|
||||
|
||||
|
||||
@@ -110,22 +107,22 @@ Nie widzę niektórych znaków diakrytycznych, co mogę zrobić?
|
||||
Jest to częsty problem, przeczytaj i sprawdź *WSZYSTKIE* poniższe rozwiązania:
|
||||
|
||||
* sprawdź czy weechat-curses jest zlinkowany z libncursesw (uwaga: wymagane na
|
||||
więkrzości dystrybucji ale nie wszystkich): `ldd /ścieżka/do/weechat-curses`
|
||||
większości dystrybucji ale nie wszystkich): `ldd /ścieżka/do/weechat-curses`
|
||||
* sprawdź czy wtyczka "Charset" jest załadowana za pomocą komendy `/plugin`
|
||||
(jeśli nie jest, to najprawdopodbniej potrzebujesz pakietu "weechat-plugins")
|
||||
(jeśli nie jest, to najprawdopodobniej potrzebujesz pakietu "weechat-plugins")
|
||||
* sprawdź ustawienia kodowania (w buforze serwera). Powinieneś ujrzeć 'ISO-XXXXXX'
|
||||
lub 'UTF-8' dla kodowania terminala. Jeśli zobaczysz 'ANSI_X3.4-1968' lub inna
|
||||
wartość to twoje locale są prawdopodobnie złe.
|
||||
* ustaw globalną wartość dekodowania, na przykład:
|
||||
`/set charset.default.decode "ISO-8859-2"`
|
||||
* jeśli kożystasz z UTF-8:
|
||||
* jeśli korzystasz z UTF-8:
|
||||
** sprawdź czy twój terminal jest przystosowany dla UTF-8 (zalecanym terminalem
|
||||
dla UTF-8 jest rxvt-unicode)
|
||||
** jeśli kożystasz ze screena, sprawdź czy jest uruchomiony z trybem UTF-8
|
||||
** jeśli korzystasz ze screena, sprawdź czy jest uruchomiony z trybem UTF-8
|
||||
("`defutf8 on`" w ~/.screenrc lub `screen -U` uruchamiając screena)
|
||||
|
||||
[NOTE]
|
||||
UTF-8 jest zalecany dla WeeChat. Jeśli kożystasz z locali ISO lub innych,
|
||||
UTF-8 jest zalecany dla WeeChat. Jeśli korzystasz z locali ISO lub innych,
|
||||
sprawdź czy *wszystkie* twoje ustawienia (terminal, screen, ..) są ISO,
|
||||
a *nie* UTF-8.
|
||||
|
||||
@@ -134,7 +131,7 @@ a *nie* UTF-8.
|
||||
Paski jak tytuł i status nie są filtrowane, kolor tła zatrzymuje się po tekście, czemu?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Może to być spowodowane złą wartośćią zmiennej środowiskowej TERM (spójrz na
|
||||
Może to być spowodowane złą wartością zmiennej środowiskowej TERM (spójrz na
|
||||
wynik `echo $TERM` w terminalu).
|
||||
|
||||
W zależności, gdzie uruchamiasz WeeChat, powinieneś uzyskać:
|
||||
@@ -142,20 +139,17 @@ W zależności, gdzie uruchamiasz WeeChat, powinieneś uzyskać:
|
||||
* jeśli WeeChat jest uruchomiony lokalnie lub na zdalnej maszynie bez screena,
|
||||
zależy od używanego terminala: 'xterm', 'xterm-256color', 'rxvt-unicode',
|
||||
'rxvt-256color', ...
|
||||
// TRANSLATION MISSING
|
||||
* if WeeChat runs under screen, you should have 'screen' or 'screen-256color'.
|
||||
* jeśli WeeChat działa w screenie, należy uzyć 'screen' lub 'screen-256color'.
|
||||
|
||||
W razie potrzeby, popraw zmienna TERM: `export TERM="xxx"`.
|
||||
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[[screen_weird_chars]]
|
||||
When I'm using weechat under screen/tmux, I have weird random chars, how do I fix that?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Podczas używania WeeChat pod screenem/tmuxem pojawiają mi się dziwne, losowe znaki, jak to naprawić?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// TRANSLATION MISSING
|
||||
This may be caused by bad value of the TERM variable in your shell (look at
|
||||
output of `echo $TERM` in your terminal, *outside screen/tmux*).
|
||||
Może to być spowodowane przez złą wartość zmiennej TERM w swojej powłoce (spójrz
|
||||
na wynik `echo $TERM` w swoim terminalu, *poza screenem/tmuxem*).
|
||||
|
||||
Na przykład, 'xterm-color' może wyświetlać takie dziwne znaki, możesz użyc 'xterm',
|
||||
który działa dobrze (jak wiele innych wartości).
|
||||
@@ -167,10 +161,10 @@ W razie potrzeby, popraw zmienna TERM: `export TERM="xxx"`.
|
||||
Skompilowałem WeeChat pod OS X i wszędzie na ekranie widzę "(null)", co jest nie tak?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Jeśli samodzielnie skopilowałeś ncursesw, spróbuj użyć domyślnej wersji (dostarcznej
|
||||
Jeśli samodzielnie skopilowałeś ncursesw, spróbuj użyć domyślnej wersji (dostarczanej
|
||||
z systemem).
|
||||
|
||||
Ponadto, pod OS X, zaleca się instalowanie WeeChat za pomocą menagera pakietów
|
||||
Ponadto, pod OS X, zaleca się instalowanie WeeChat za pomocą managera pakietów
|
||||
Homebrew.
|
||||
|
||||
|
||||
@@ -188,38 +182,36 @@ Każde okno wyświetla jeden bufor. Bufor może być ukryty (nie wyświetlany pr
|
||||
okno) lub wyświetlany w jednym lub więcej oknach.
|
||||
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[[buffers_list]]
|
||||
How to display the buffers list on the left side?
|
||||
Jak wyświetlić listę z buforami po lewej stronie?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Use script 'buffers.pl'.
|
||||
Użyj skryptu 'buffers.pl'.
|
||||
|
||||
To limit size of bar:
|
||||
W celu ograniczenia rozmiaru paska:
|
||||
|
||||
----------------------------------------
|
||||
/set weechat.bar.buffers.size_max 15
|
||||
----------------------------------------
|
||||
|
||||
To move bar to bottom:
|
||||
Żeby przenieść pasek na dół:
|
||||
|
||||
----------------------------------------
|
||||
/set weechat.bar.buffers.position bottom
|
||||
----------------------------------------
|
||||
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[[customize_prefix]]
|
||||
How can I reduce length of nicks or remove nick alignment in chat area?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Jak mogę ograniczyć długość wyświetlanych nicków lub usunąć wyrównanie w oknie rozmowy?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To reduce max length of nicks in chat area:
|
||||
W celu ograniczenia długości nicków w oknie rozmowy:
|
||||
|
||||
----------------------------------------
|
||||
/set weechat.look.prefix_align_max 15
|
||||
----------------------------------------
|
||||
|
||||
To remove nick alignment:
|
||||
Żeby usunąć wyrównanie nicków:
|
||||
|
||||
----------------------------------------
|
||||
/set weechat.look.prefix_align none
|
||||
@@ -241,7 +233,7 @@ Na przykład:
|
||||
----------------------------------------
|
||||
|
||||
Jeśli kiedyś przestanie ci to odpowiadać, po prostu usuń ten pasek, WeeChat
|
||||
autmatycznie stwrzy nowy pasek "input" jeśli element "input_text" nie zostanie
|
||||
automatycznie stworzy nowy pasek "input" jeśli element "input_text" nie zostanie
|
||||
użyty w żadnym z pasków:
|
||||
|
||||
----------------------------------------
|
||||
@@ -267,29 +259,28 @@ Innym rozwiązaniem jest przesunięcie listy nicków na górę lub dół, na prz
|
||||
Jak mogę kliknąć na długi URL (dłuższy niż linia)?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// TRANSLATION MISSING
|
||||
By default, WeeChat displays time and prefix for each line and optional bars
|
||||
around chat area. To make easier url click, you can move nicklist to top and
|
||||
remove alignment on nick:
|
||||
Domyślnie WeeChat wyświetla czas i przedrostki dla każdej linii i opcjonalne paski
|
||||
dookoła obszaru rozmowy. Aby usprawnić klikanie w urle można przesunąć listę nicków
|
||||
na górę oraz usunąć wyrównanie nicków:
|
||||
|
||||
----------------------------------------
|
||||
/set weechat.bar.nicklist.position top
|
||||
/set weechat.look.prefix_align none
|
||||
----------------------------------------
|
||||
|
||||
With WeeChat ≥ 0.3.6, you can enable option "eat_newline_glitch", so that
|
||||
new line char is not added at the end of each line displayed (it will not break
|
||||
url selection):
|
||||
W WeeChat ≥ 0.3.6 można włączyć opcję "eat_newline_glitch", dzięki której znaki
|
||||
nowej linii nie są dodawane na końcu każdej wyświetlanej linii (nie zakłuci to
|
||||
zaznaczania urli):
|
||||
|
||||
----------------------------------------
|
||||
/set weechat.look.eat_newline_glitch on
|
||||
----------------------------------------
|
||||
|
||||
[IMPORTANT]
|
||||
This option may cause display bugs. If you experience such problem, you must
|
||||
turn off this option.
|
||||
Ta opcja może spowodować pojawienie się błędów. Jeśli doświadczysz takich problemów
|
||||
wyłącz tą opcję.
|
||||
|
||||
Other solution is to use one of following scripts:
|
||||
Innym rozwiązaniem będzie użycie któregoś z poniższych skryptów:
|
||||
|
||||
urlbar.py::
|
||||
wyświetla adresy URL na pasku
|
||||
@@ -317,16 +308,15 @@ oraz użyć tych komend po załadowaniu skryptu:
|
||||
/upgrade
|
||||
----------------------------------------
|
||||
|
||||
Aby otrzymać polskie komunikaty dla kodowania UTF-8 w terminalu, osóby
|
||||
używające ISO, moga wykonać: `/shell setenv LANG=pl_PL`.
|
||||
Aby otrzymać polskie komunikaty dla kodowania UTF-8 w terminalu, osoby
|
||||
używające ISO, mogą wykonać: `/shell setenv LANG=pl_PL`.
|
||||
|
||||
|
||||
[[256_colors]]
|
||||
Jak mogę użyć 256 kolorów w WeeChat?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// TRANSLATION MISSING
|
||||
256 colors are supported with WeeChat ≥ 0.3.4.
|
||||
256 kolorów jest wspierane tylko w WeeChat ≥ 0.3.4.
|
||||
|
||||
Najpierw należy sprawdzić czy wartość zmiennej środowiskowej 'TERM' jest poprawna,\
|
||||
zalecane wartości to:
|
||||
@@ -335,7 +325,7 @@ zalecane wartości to:
|
||||
* poza screenem: 'xterm-256color', 'rxvt-256color', 'putty-256color',...
|
||||
|
||||
[NOTE]
|
||||
Może okazać się konieczne zainstalownie pakietu "ncurses-term" w celu użycia
|
||||
Może okazać się konieczne zainstalowanie pakietu "ncurses-term" w celu użycia
|
||||
tych wartości w zmiennej 'TERM'.
|
||||
|
||||
Jeśli używasz screena, możesz dodać to do swojego '~/.screenrc':
|
||||
@@ -360,16 +350,15 @@ można stworzyć alias dla koloru za pomocą komendy `/color`).
|
||||
Więcej informacji na temat zarządzania kolorami można uzyskać w poradniku użytkownika.
|
||||
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[[search_text]]
|
||||
How can I search text in buffer (like /lastlog in irssi)?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Jak mogę wyszukać tekst w buforze (jak za pomocą /lastlog w irssi)?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The default key is @k(C-)@k(r) (command is: `/input search_text`).
|
||||
// TRANSLATION MISSING
|
||||
And jump to highlights: @k(A-)@k(p)/@k(n).
|
||||
Domyślny skrót klawiszowy to @k(C-)@k(r) (komenda: `/input search_text`).
|
||||
|
||||
See user's guide for more info about this feature (default key bindings).
|
||||
Poruszanie się między podświetleniami: @k(A-)@k(p)/@k(n).
|
||||
|
||||
Po więcej informacji zajrzyj do poradnika użytkownika (domyślne skróty klawiszowe).
|
||||
|
||||
|
||||
[[key_bindings]]
|
||||
@@ -423,10 +412,10 @@ Lista domyślnych skrótów znajduje się w poradniku użytkownika.
|
||||
|
||||
|
||||
[[global_history]]
|
||||
Jak używać globalnej histori (zamiast histori buforu) za pomoca strzałek góra/dół?
|
||||
Jak używać globalnej historii (zamiast historii buforu) za pomocą strzałek góra/dół?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Możesz przypisać strzałki w góre i dół do globalnej histori (domyślnie dla
|
||||
Możesz przypisać strzałki w górę i dół do globalnej historii (domyślnie dla
|
||||
globalnej historii przypisane są klawisze @k(C-)@k(↑) oraz @k(C-)@k(↓)).
|
||||
|
||||
Przykład:
|
||||
@@ -437,57 +426,54 @@ Przykład:
|
||||
----------------------------------------
|
||||
|
||||
[NOTE]
|
||||
Klawisze "meta2-A" i "meta2-B" mogą być inne dla twojego treminala. W celu
|
||||
Klawisze "meta2-A" i "meta2-B" mogą być inne dla twojego terminala. W celu
|
||||
znalezienia ich kodów wciśnij @k(A-)@k(k) następnie przycisk (góra lub dół).
|
||||
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[[mouse]]
|
||||
Mouse
|
||||
-----
|
||||
Obsługa myszy
|
||||
-------------
|
||||
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[[mouse_not_working]]
|
||||
Mouse is not working at all, what can I do?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Obsługa myszy w ogóle nie działa, co mogę zrobić?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Mouse is supported with WeeChat ≥ 0.3.6.
|
||||
Mysz nie jest obsługiwana w WeeChat ≥ 0.3.6.
|
||||
|
||||
First try to enable mouse:
|
||||
Na samym początku należy włączyć obsługę myszy:
|
||||
|
||||
----------------------------------------
|
||||
/mouse enable
|
||||
----------------------------------------
|
||||
|
||||
If mouse is still not working, check the TERM variable in your shell (look at
|
||||
output of `echo $TERM` in your terminal).
|
||||
According to terminfo used, mouse may not be supported.
|
||||
Jeśli to nie pomogło należy sprawdzić wartość zmiennej TERM w swojej powłoce
|
||||
(wynik komendy `echo $TERM` w swoim terminalu).
|
||||
W zależności od używanego terminfo, mysz może nie być wspierana.
|
||||
|
||||
You can test mouse support in terminal:
|
||||
Możesz sprawdzić wsparcie myszy w terminalu:
|
||||
|
||||
----------------------------------------
|
||||
$ printf '\033[?1002h'
|
||||
----------------------------------------
|
||||
|
||||
And then click on first char of terminal (upper left). You should see " !!#!!".
|
||||
Następnie kliknij pierwszy znak w terminalu (górny lewy róg). Powinieneś zobaczyć " !!#!!".
|
||||
|
||||
To disable mouse in terminal:
|
||||
Aby wyłączyć wsparcie dla myszy w terminalu:
|
||||
|
||||
----------------------------------------
|
||||
$ printf '\033[?1002l'
|
||||
----------------------------------------
|
||||
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[[mouse_coords]]
|
||||
Mouse does nothing for X or Y greater than 94, why?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Mysz nic nie robi dla X lub Y większych od 94, dlaczego?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Some terminals are sending only ISO chars for mouse coordinates, so it does not
|
||||
work for X/Y greater than 94.
|
||||
Niektóre terminale wysyłają tylko znaki ISO dla położenia myszy, dlatego nie
|
||||
działa to dla X/Y większych dla 94.
|
||||
|
||||
You should use a terminal that supports UTF-8 coordinates for mouse, like
|
||||
Powinieneś użyć terminala wspierającego położenia UTF-8 dla myszy, jak
|
||||
rxvt-unicode.
|
||||
|
||||
|
||||
@@ -503,37 +489,37 @@ Jaka jest różnica między komendami/ignore i /filter ?
|
||||
Komenda `/ignore` jest komendą IRC, zatem odnosi się tylko do buforów IRC
|
||||
(serwery i kanały).
|
||||
Pozwala ignorować niektóre nicki lub hosty użytkowników serwera lub kanału
|
||||
(komendy nie stotuje się do treści wiadomości).
|
||||
(komendy nie stosuje się do treści wiadomości).
|
||||
Pasujące wiadomości są usuwane przez wtyczkę IRC przed wyświetleniem (nigdy
|
||||
ich nie zobaczysz).
|
||||
|
||||
Komenda `/filter` jest komenda rdzenia, zatem odnosi się do dowolnego bufora.
|
||||
Pozwala filtrować niektóre linie w buforach za pomocą tagów lub wyrażeń
|
||||
regularnych dla przedrostków i zawartości lini.
|
||||
regularnych dla przedrostków i zawartości linii.
|
||||
Filtrowane linie są tylko ukrywane, nie usuwane, można je zobaczyć wyłączając
|
||||
filtry (domyślnie @k(A-)@k(=) zmienia stan filtrów).
|
||||
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[[filter_irc_join_part_quit]]
|
||||
Jak moge filtrować wiadomości o wejściu/opuszczeniu/wyjściu na kanałach IRC?
|
||||
Jak mogę filtrować wiadomości o wejściu/opuszczeniu/wyjściu na kanałach IRC?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
With smart filter (keep join/part/quit from users who spoke recently):
|
||||
Za pomocą inteligentnych filtrów (zachowuje wejścia/opuszczenia/wyjścia od osób
|
||||
piszących niedawno):
|
||||
|
||||
----------------------------------------
|
||||
/set irc.look.smart_filter on
|
||||
/filter add irc_smart * irc_smart_filter *
|
||||
----------------------------------------
|
||||
|
||||
With a global filter (hide *all* join/part/quit):
|
||||
Za pomocą globalnego filtru (ukrywa *wszystkie* wejścia/opuszczenia/wyjścia):
|
||||
|
||||
----------------------------------------
|
||||
/filter add jpk * irc_join,irc_part,irc_quit *
|
||||
----------------------------------------
|
||||
|
||||
[NOTE]
|
||||
For help: `/help filter` and `/help irc.look.smart_filter`
|
||||
Więcej informacji: `/help filter` i `/help irc.look.smart_filter`
|
||||
|
||||
|
||||
[[filter_irc_join_channel_messages]]
|
||||
@@ -562,18 +548,17 @@ Przykłady:
|
||||
|
||||
|
||||
[[filter_voice_messages]]
|
||||
Jak moge filtrować informacje o przyznaniu voice (np na serwerze Bitlbee)?
|
||||
Jak mogę filtrować informacje o przyznaniu voice (np na serwerze Bitlbee)?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Filtrowanie wiadomości o przyznaiu voice nie jest proste, ponieważ może on
|
||||
Filtrowanie wiadomości o przyznaniu voice nie jest proste, ponieważ może on
|
||||
zostać nadany wraz z innymi atrybutami w jednej wiadomości IRC.
|
||||
|
||||
Zapewne chcesz to zrobić, ponieważ Bitlbee używa voice do wskazania nieobecnych
|
||||
użytkowników, oraz jesteś zasypywany takimi wiadomościami. Możesz to zmienić oraz
|
||||
pozwolić WeeChat używać specjalnego koloru dla nieobecnych nicków.
|
||||
|
||||
// TRANSLATION MISSING
|
||||
For Bitlbee ≥ 3, do that on channel '&bitlbee':
|
||||
Dla Bitlbee ≥ 3, należy wykonać na kanale '&bitlbee':
|
||||
|
||||
----------------------------------------
|
||||
channel set show_users online,away
|
||||
@@ -692,7 +677,7 @@ The default key is @k(C-)@k(x) (command is: `/input switch_active_buffer`).
|
||||
|
||||
|
||||
[[plugins_scripts]]
|
||||
Pluginów / skrypty
|
||||
Pluginy / skrypty
|
||||
------------------
|
||||
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ Do ustawiania opcji służy `/set config.sekcja.opcja wartość`
|
||||
(gdzie `config` jest nazwą konfiguracyjną (`weechat` dla rdzenia, lub nazwa
|
||||
wtyczki), `sekcja` sekcja pliku konfiguracyjnego, oraz `opcja` nazwa opcji).
|
||||
|
||||
WeeChat natychmiast używa nowej wartości (*nigdy* nie musisz restartoweać WeeChat
|
||||
WeeChat natychmiast używa nowej wartości (*nigdy* nie musisz restartować WeeChat
|
||||
po zmianach w ustawieniach).
|
||||
|
||||
Możesz użyć `/set` z częściową nazwą zmiennej oraz dziką kartą "*" na początku
|
||||
@@ -59,7 +59,7 @@ Rdzeń vs wtyczki
|
||||
interakcji z użytkownikiem, oznacza to, że rdzeń weechat bez wtyczek jest
|
||||
bezużyteczny (wierni użytkownicy: IRC był częścią rdzenia dla wersji ≤ 0.2.6).
|
||||
|
||||
Wszystkie protokoły sieciowe jak IRC są dostarczane w oddzielnych pluginach.
|
||||
Wszystkie protokoły sieciowe jak IRC są dostarczane w oddzielnych wtyczkach.
|
||||
|
||||
Użyj komendy `/plugin` do wyświetlenia załadowanych wtyczek, powinieneś zobaczyć
|
||||
na liście "irc" oraz inne wtyczki.
|
||||
@@ -184,7 +184,7 @@ oraz duże okno (2/3), użyj komendy:
|
||||
Skróty klawiszowe
|
||||
-----------------
|
||||
|
||||
WeeChat używa domyślnie wiele klawiszy. Wszystie z nich są w dokumentacji,
|
||||
WeeChat używa domyślnie wiele klawiszy. Wszystkie z nich są w dokumentacji,
|
||||
ale powinieneś znać przynajmniej kilka najprzydatniejszych:
|
||||
|
||||
- 'alt + strzałki lewo/prawo' (lub 'F5'/'F6'): przełącza na poprzedni/następny bufor
|
||||
@@ -196,14 +196,14 @@ ale powinieneś znać przynajmniej kilka najprzydatniejszych:
|
||||
- 'alt + A': skocz do bufora z aktywnością (w hotliście)
|
||||
|
||||
Zgodnie z Twoją klawiaturą i/lub potrzebami, możesz zmienić przypisanie
|
||||
dowolnego klawisza do komendy używajac komendy `/key`.
|
||||
dowolnego klawisza do komendy używając komendy `/key`.
|
||||
Przydatnym skrótem jest meta-k (alt-k) do odnajdywania kodów klawiszy.
|
||||
|
||||
Na przykład, aby przypisać meta-y (alt-y) do komendy `/buffer close`:
|
||||
|
||||
/key bind (wciśnij meta-k) (wciśnij meta-y) /buffer close
|
||||
|
||||
Otrzymasz w lini poleceń:
|
||||
Otrzymasz w linii poleceń:
|
||||
|
||||
/key bind meta-y /buffer close
|
||||
|
||||
@@ -219,17 +219,17 @@ Wtyczki/skrypty
|
||||
W niektórych dystrybucjach, jak np Debian, wtyczki są dostarczane jako oddzielne
|
||||
pakiety (jak weechat-plugins).
|
||||
Wtyczki są automatycznie ładowane, kiedy zostaną wykryte (proszę spojrzeć do
|
||||
dokumentacji WeeChat, aby się dowiedzieć jak ładowac/wyładowywać wtyczki lub
|
||||
dokumentacji WeeChat, aby się dowiedzieć jak ładować/wyładowywać wtyczki lub
|
||||
skrypty).
|
||||
|
||||
Niektóre pluginy pozwalają na używanie skryptów w WeeChat (w wielu językach jak Perl,
|
||||
Python, Ruby, Lua oraz Tcl). Te wtyczki muszą być załadowane za pomoca komendy
|
||||
Niektóre wtyczki pozwalają na używanie skryptów w WeeChat (w wielu językach jak Perl,
|
||||
Python, Ruby, Lua oraz Tcl). Te wtyczki muszą być załadowane za pomocą komendy
|
||||
`/plugin`, dostarczają one komendy jak `/perl`, używane do ładowania skryptów.
|
||||
|
||||
Wiele zewnętrznych wtyczek/skryptów (od społeczności) jest dostępnych dla
|
||||
WeeChat: http://www.weechat.org/scripts
|
||||
|
||||
Najprostrzym sposobem na instalowanie skryptów jest użycie skryptu 'weeget.py':
|
||||
Najprostszym sposobem na instalowanie skryptów jest użycie skryptu 'weeget.py':
|
||||
|
||||
. ściągnij i skopiuj 'weeget.py' do ~/.weechat/python/autoload/
|
||||
. załaduj skrypt: `/python autoload`
|
||||
|
||||
@@ -0,0 +1,806 @@
|
||||
Poradnik pisania skryptów WeeChat
|
||||
=================================
|
||||
Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
|
||||
Ten dokument opisuje klienta rozmów WeeChat, który jest częścią WeeChat.
|
||||
|
||||
Najnowsza wersja tego dokumentu znajduje się na tej stronie:
|
||||
http://www.weechat.org/doc
|
||||
|
||||
|
||||
[[introduction]]
|
||||
Wprowadzenie
|
||||
------------
|
||||
|
||||
WeeChat (Wee Enhanced Environment for Chat) jest darmowym klientem rozmów, szybkim
|
||||
i lekkim, zaprojektowanym dla wielu systemów operacyjnych.
|
||||
|
||||
Ten podręcznik dokumentuje sposób pisania skryptów dla WeeChat, używając jednego
|
||||
z pięciu wspieranych języków skryptowych: perl, python, ruby, lua lub tcl.
|
||||
|
||||
[NOTE]
|
||||
Prawie wszystkie przykłady umieszczone w tym dokumencie są napisane w Pythonie,
|
||||
ale API jest takie same dla wszystkich języków.
|
||||
|
||||
[[scripts_in_weechat]]
|
||||
Skrypty w WeeChat
|
||||
------------------
|
||||
|
||||
[[languages_specifities]]
|
||||
Specyfika języków
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
Niektóre rzeczy są specyficzne dla danego języka:
|
||||
|
||||
* perl:
|
||||
** funkcje są wywoływane za pomocą `weechat::xxx(arg1, arg2, ...);`
|
||||
* python:
|
||||
** należy wykonać `import weechat`
|
||||
** funkcje `print*` są nazwane `prnt*` w pythonie (ponieważ 'print' jest zastrzeżonym
|
||||
słowem kluczowym)
|
||||
** funkcje są wywoływane za pomocą `weechat.xxx(arg1, arg2, ...)`
|
||||
* ruby:
|
||||
** trzeba zdefiniować 'weechat_init' i wywołać 'register' wewnątrz
|
||||
** funkcje są wywoływane za pomocą `Weechat.xxx(arg1, arg2, ...)`
|
||||
* tcl:
|
||||
** funkcje są wywoływane za pomocą `weechat::xxx arg1 arg2 ...`
|
||||
|
||||
[[register_function]]
|
||||
Funkcja rejestrująca
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Wszystkie skrypty WeeChat muszą się "zarejestrować" w WeeChat, musi to być pierwsza
|
||||
z funkcji WeeChat wywołana w skrypcie.
|
||||
|
||||
Prototyp:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
weechat.register(nazwa, autor, wersja, licencja, opis, funkcja_wyłączająca, kodowanie)
|
||||
----------------------------------------
|
||||
|
||||
Argumenty:
|
||||
|
||||
* 'nazwa': string, wewnętrzna nazwa skryptu
|
||||
* 'autor': string, autor skryptu
|
||||
* 'wersja': string, wersja
|
||||
* 'licencja': string, licencja
|
||||
* 'opis': string, krótki opis skryptu
|
||||
* 'funkcja_wyłączająca': string, nazwa funkcji wywoływanej podczas wyładowania skryptu
|
||||
* 'kodowanie': string, kodowane skryptu (opcjonalne, jeśli skrypt jest napisany
|
||||
w UTF-8 można nie podawać tej wartości - UTF-8 to domyślne kodowanie)
|
||||
|
||||
Przykład dla skryptu w każdym z języków:
|
||||
|
||||
* perl:
|
||||
|
||||
[source,perl]
|
||||
----------------------------------------
|
||||
weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Skrypt testowy", "", "");
|
||||
weechat::print("", "Witaj, z perlowego skryptu!");
|
||||
----------------------------------------
|
||||
|
||||
* python:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
import weechat
|
||||
|
||||
weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Skrypt testowy", "", "")
|
||||
weechat.prnt("", "Witaj, z pythonowego skryptu!")
|
||||
----------------------------------------
|
||||
|
||||
* ruby:
|
||||
|
||||
[source,ruby]
|
||||
----------------------------------------
|
||||
def weechat_init
|
||||
Weechat.register("test_ruby", "FlashCode", "1.0", "GPL3", "Skrypt testowy", "", "")
|
||||
Weechat.print("", "Witaj, ze skryptu ruby!")
|
||||
return Weechat::WEECHAT_RC_OK
|
||||
end
|
||||
----------------------------------------
|
||||
|
||||
* lua:
|
||||
|
||||
[source,lua]
|
||||
----------------------------------------
|
||||
weechat.register("test_lua", "FlashCode", "1.0", "GPL3", "Skrypt testowy", "", "")
|
||||
weechat.print("", "Witaj, ze skryptu lua!")
|
||||
----------------------------------------
|
||||
|
||||
* tcl:
|
||||
|
||||
// [source,tcl]
|
||||
----------------------------------------
|
||||
weechat::register "test_tcl" "FlashCode" "1.0" "GPL3" "Skrypt testowy" "" ""
|
||||
weechat::print "" "Witaj, ze skryptu tcl!"
|
||||
----------------------------------------
|
||||
|
||||
[[load_script]]
|
||||
Ładowanie skryptu
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
Musisz użyć komendy dla danego języka:
|
||||
|
||||
----------------------------------------
|
||||
/perl load perl/skrypt.pl
|
||||
/python load python/skrypt.py
|
||||
/ruby load ruby/skrypt.rb
|
||||
/lua load lua/skrypt.lua
|
||||
/tcl load tcl/skrypt.tcl
|
||||
----------------------------------------
|
||||
|
||||
Możesz zrobić dowiązanie w katalogu 'język/autoload' jeśli chcesz automatycznie
|
||||
ładować skrypt po uruchomieniu WeeChat.
|
||||
|
||||
Na przykład dla Pythona:
|
||||
|
||||
----------------------------------------
|
||||
$ cd ~/.weechat/python/autoload
|
||||
$ ln -s ../skrypt.py
|
||||
----------------------------------------
|
||||
|
||||
[[differences_with_c_api]]
|
||||
Różnice pomiędzy API dla C
|
||||
--------------------------
|
||||
|
||||
API skryptów jest prawie takie same jak API dla wtyczek pisanych w C.
|
||||
Możesz zajrzeć do 'Opisu API wtyczek WeeChat' po więcej informacji na temat
|
||||
każdej z funkcji API: prototyp, argumenty, zwracane wartości, przykłady.
|
||||
|
||||
Ważne jest rozróżnienie 'wtyczki' od 'skryptu': 'wtyczka' jest plikiem binarnym
|
||||
skompilowanym i załadowanym za pomocą komendy `/plugin`, natomiast 'skrypt' jest
|
||||
plikiem tekstowym załadowanym przez wtyczkę jak 'python' za pomocą komendy
|
||||
`/python`.
|
||||
|
||||
W momencie, kiedy Twój skrypt 'test.py' wywołuje funkcję z API Weechat, wygląda to tak:
|
||||
|
||||
........................................
|
||||
(API skryptów) (C API)
|
||||
\/ \/
|
||||
test.py -------> wtyczka python (python.so) -------> rdzeń WeeChat
|
||||
........................................
|
||||
|
||||
Kiedy WeeChat odwołuje się do Twojego skryptu 'test.py' wygląda to tak:
|
||||
|
||||
........................................
|
||||
(C API) (API skryptów)
|
||||
\/ \/
|
||||
rdzeń WeeChat -------> wtyczka python (python.so) -------> test.py
|
||||
........................................
|
||||
|
||||
[[pointers]]
|
||||
Wskaźniki
|
||||
~~~~~~~~~
|
||||
|
||||
Jak już zapewne wiecie nie ma prawdziwych "wskaźników" w skryptach. Dlatego kiedy
|
||||
funkcja API zwraca wskaźnik, jest on konwertowany na ciąg dla skryptu.
|
||||
|
||||
Na przykład, jeśli funkcja zwraca wskaźnik 0x1234ab56 skrypt otrzyma ciąg
|
||||
"0x1234ab56".
|
||||
|
||||
W sytuacji, kiedy funkcja API spodziewa się wskaźnika jako argumentu skrypt musi
|
||||
przekazać go jako ciąg. Wtyczki napisane w C przekonwertują go na prawdziwy
|
||||
wskaźnik, zanim wywołają funkcję z API C.
|
||||
|
||||
Dozwolone są puste ciągi lub "0x0", oznaczają NULL w C.
|
||||
Na przykład, aby wyświetlić dane w rdzennym buforze (główny bufor WeeChat):
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
weechat.prnt("", "hi!")
|
||||
----------------------------------------
|
||||
|
||||
[WARNING]
|
||||
W wielu funkcjach, z powodów wydajności, WeeChat nie sprawdza poprawności wskaźników.
|
||||
Do ciebie należy sprawdzenie poprawności przekazywanych wskaźników, w innym
|
||||
wypadku możesz zobaczyć ładny raport o błędzie ;)
|
||||
|
||||
[[callbacks]]
|
||||
Callbacki
|
||||
~~~~~~~~~
|
||||
|
||||
Prawie wszystkie callbacki muszą zwrócić WEECHAT_RC_OK lub WEECHAT_RC_ERROR
|
||||
(wyjątkiem jest callback modyfikujący, który zwraca ciąg).
|
||||
|
||||
Callbacki C używają argumentu "data", który jest wskaźnikiem. W API skryptów,
|
||||
"data" jest ciągiem o dowolnej wartości (nie jest wskaźnikiem).
|
||||
|
||||
Na przykład:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
weechat.hook_timer(1000, 0, 1, "my_timer_cb", "moje dane")
|
||||
|
||||
def my_timer_cb(data, remaining_calls):
|
||||
# wyświetli to: "moje dane"
|
||||
weechat.prnt("", data)
|
||||
return weechat.WEECHAT_RC_OK
|
||||
----------------------------------------
|
||||
|
||||
[[script_api]]
|
||||
API skryptów
|
||||
------------
|
||||
|
||||
Więcej informacji o funkcjach w API, znajdziesz w 'Opisie API wtyczek WeeChat'.
|
||||
|
||||
[[script_api_functions]]
|
||||
Fukcje
|
||||
~~~~~~
|
||||
|
||||
Lista funkcji w API skryptów:
|
||||
|
||||
[width="100%",cols="^1,10",options="header"]
|
||||
|========================================
|
||||
| Kategoria | Funkcje
|
||||
| ogólne |
|
||||
register
|
||||
| wtyczki |
|
||||
plugin_get_name
|
||||
| ciągi |
|
||||
charset_set, iconv_to_internal, iconv_from_internal, gettext, ngettext, +
|
||||
string_match, string_has_highlight, string_has_highlight_regex,
|
||||
string_mask_to_regex, string_remove_color, string_is_command_char,
|
||||
string_input_for_buffer
|
||||
| katalogi |
|
||||
mkdir_home, mkdir, mkdir_parents
|
||||
| przechowywane listy |
|
||||
list_new, list_add, list_search, list_search_pos, list_casesearch,
|
||||
list_casesearch_pos, list_get, list_set, list_next, list_prev, list_string,
|
||||
list_size, list_remove, list_remove_all, list_free
|
||||
| pliki konfiguracyjne|
|
||||
config_new, config_new_section, config_search_section, config_new_option,
|
||||
config_search_option, +
|
||||
config_string_to_boolean, config_option_reset, config_option_set,
|
||||
config_option_set_null, config_option_unset, config_option_rename,
|
||||
config_option_is_null, config_option_default_is_null, +
|
||||
config_boolean, config_boolean_default, config_integer, config_integer_default,
|
||||
config_string, config_string_default, config_color, config_color_default, +
|
||||
config_write_option, config_write_line, config_write, config_read,
|
||||
config_reload, +
|
||||
config_option_free, config_section_free_options, config_section_free,
|
||||
config_free, +
|
||||
config_get, config_get_plugin, config_is_set_plugin, config_set_plugin,
|
||||
config_set_desc_plugin, config_unset_plugin
|
||||
| przypisania klawiszy|
|
||||
key_bind, key_unbind
|
||||
| wyświetlanie |
|
||||
prefix, color, print (for python: prnt), print_date_tags (for python:
|
||||
prnt_date_tags), print_y (for python: prnt_y), log_print
|
||||
| hooks |
|
||||
hook_command, hook_command_run, hook_timer, hook_fd, hook_process,
|
||||
hook_connect, hook_print, hook_signal, hook_signal_send, hook_hsignal,
|
||||
hook_hsignal_send, hook_config, hook_completion, hook_completion_list_add,
|
||||
hook_modifier, hook_modifier_exec, hook_info, hook_info_hashtable,
|
||||
hook_infolist, hook_focus, unhook, unhook_all
|
||||
| bufory |
|
||||
buffer_new, current_buffer, buffer_search, buffer_search_main, buffer_clear,
|
||||
buffer_close, buffer_merge, buffer_unmerge, buffer_get_integer,
|
||||
buffer_get_string, buffer_get_pointer, buffer_set,
|
||||
buffer_string_replace_local_var, buffer_match_list
|
||||
| okna |
|
||||
current_window, window_search_with_buffer, window_get_integer,
|
||||
window_get_string, window_get_pointer, window_set_title
|
||||
| lista nicków |
|
||||
nicklist_add_group, nicklist_search_group, nicklist_add_nick,
|
||||
nicklist_search_nick, nicklist_remove_group, nicklist_remove_nick,
|
||||
nicklist_remove_all, nicklist_group_get_integer, nicklist_group_get_string,
|
||||
nicklist_group_get_pointer, nicklist_group_set, nicklist_nick_get_integer,
|
||||
nicklist_nick_get_string, nicklist_nick_get_pointer, nicklist_nick_set
|
||||
| paski |
|
||||
bar_item_search, bar_item_new, bar_item_update, bar_item_remove, bar_search,
|
||||
bar_new, bar_set, bar_update, bar_remove
|
||||
| komendy |
|
||||
command
|
||||
| informacje |
|
||||
info_get, info_get_hashtable
|
||||
| infolisty |
|
||||
infolist_new, infolist_new_item, infolist_new_var_integer,
|
||||
infolist_new_var_string, infolist_new_var_pointer, infolist_new_var_time, +
|
||||
infolist_get, infolist_next, infolist_prev, infolist_reset_item_cursor, +
|
||||
infolist_fields, infolist_integer, infolist_string, infolist_pointer, +
|
||||
infolist_time, infolist_free
|
||||
| hdata |
|
||||
hdata_get, hdata_get_var_offset, hdata_get_var_type_string,
|
||||
hdata_get_var_hdata, hdata_get_list, hdata_move, hdata_integer, hdata_long,
|
||||
hdata_string, hdata_pointer, hdata_time, hdata_get_string
|
||||
| uaktualnienie |
|
||||
upgrade_new, upgrade_write_object, upgrade_read, upgrade_close
|
||||
|========================================
|
||||
|
||||
[[script_api_constants]]
|
||||
Stałe
|
||||
~~~~~
|
||||
|
||||
Lista stałych w API skryptów:
|
||||
|
||||
[width="100%",cols="^1,10",options="header"]
|
||||
|========================================
|
||||
| Kategoria | Stałe
|
||||
| zwracane kofy |
|
||||
WEECHAT_RC_OK, WEECHAT_RC_OK_EAT, WEECHAT_RC_ERROR
|
||||
| pliki konfiguracyjne|
|
||||
WEECHAT_CONFIG_READ_OK, WEECHAT_CONFIG_READ_MEMORY_ERROR,
|
||||
WEECHAT_CONFIG_READ_FILE_NOT_FOUND, WEECHAT_CONFIG_WRITE_OK,
|
||||
WEECHAT_CONFIG_WRITE_ERROR, WEECHAT_CONFIG_WRITE_MEMORY_ERROR, +
|
||||
WEECHAT_CONFIG_OPTION_SET_OK_CHANGED, WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE,
|
||||
WEECHAT_CONFIG_OPTION_SET_ERROR, WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND,
|
||||
WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET, WEECHAT_CONFIG_OPTION_UNSET_OK_RESET,
|
||||
WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED, WEECHAT_CONFIG_OPTION_UNSET_ERROR
|
||||
| posortowane listy |
|
||||
WEECHAT_LIST_POS_SORT, WEECHAT_LIST_POS_BEGINNING, WEECHAT_LIST_POS_END
|
||||
| hotlisty |
|
||||
WEECHAT_HOTLIST_LOW, WEECHAT_HOTLIST_MESSAGE, WEECHAT_HOTLIST_PRIVATE,
|
||||
WEECHAT_HOTLIST_HIGHLIGHT
|
||||
| hook process |
|
||||
WEECHAT_HOOK_PROCESS_RUNNING, WEECHAT_HOOK_PROCESS_ERROR
|
||||
| hook connect |
|
||||
WEECHAT_HOOK_CONNECT_OK, WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND,
|
||||
WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND, WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED,
|
||||
WEECHAT_HOOK_CONNECT_PROXY_ERROR, WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR,
|
||||
WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR, WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR,
|
||||
WEECHAT_HOOK_CONNECT_MEMORY_ERROR
|
||||
| hook signal |
|
||||
WEECHAT_HOOK_SIGNAL_STRING, WEECHAT_HOOK_SIGNAL_INT, WEECHAT_HOOK_SIGNAL_POINTER
|
||||
|========================================
|
||||
|
||||
[[common_tasks]]
|
||||
Częste zadania
|
||||
--------------
|
||||
|
||||
Ten rozdział przedstawia część częstych zadań z przykładami.
|
||||
Użyto tu tylko część rzeczy dostępnych w API, dokładne informacje można znaleźć
|
||||
w Opisie API wtyczek WeeChat'.
|
||||
|
||||
[[buffers]]
|
||||
Bufory
|
||||
~~~~~~
|
||||
|
||||
[[buffers_display_messages]]
|
||||
Wyświetlanie wiadomości
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Pusty ciąg jest często używany podczas pracy z głównym buforem WeeChat. Dla
|
||||
pozostałych buforów należy podać wskaźnik (jako ciąg, zobacz <<pointers,pointers>>).
|
||||
|
||||
Przykłady:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
# wyświetl "witaj" w głównym buforze
|
||||
weechat.prnt("", "witaj")
|
||||
|
||||
# wyświetl "witaj" w głównym buforze, ale nie zapisuj tego do pliku z logiem
|
||||
# (tylko wersje >= 0.3.3)
|
||||
weechat.prnt_date_tags("", 0, "no_log", "witaj")
|
||||
|
||||
# wyświetl "==>" przed wiadomością "witaj" w obecnym buforze
|
||||
# (przedrostek i wiadomość muszą być oddzielone znakiem tabulacji)
|
||||
weechat.prnt(weechat.current_buffer(), "==>\twitaj")
|
||||
|
||||
# wyświetla wiadomość o błędzie w głównym buforze (z przedrostiem błąd)
|
||||
weechat.prnt("", "%szłe argumenty" % weechat.prefix("błąd"))
|
||||
|
||||
# wyświetl wiadomość z kolorem w głównym buforze
|
||||
weechat.prnt("", "text %sżółty na niebieskim" % weechat.color("yellow,blue"))
|
||||
|
||||
# przeszuka bufor i wyświetli wiadomość
|
||||
# (pełna nazwa bufora to wtyczka.nazwa, na przykład: "irc.freenode.#weechat")
|
||||
buffer = weechat.buffer_search("irc", "freenode.#weechat")
|
||||
weechat.prnt(buffer, "wiadomość na kanale #weechat")
|
||||
|
||||
# inne rozwiązanie na znalezienie bufora IRC (lepsze)
|
||||
# (zauważ, że serwer i kanał są oddzielone przecinkiem)
|
||||
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
|
||||
weechat.prnt(buffer, "wiadomość na kanale #weechat")
|
||||
----------------------------------------
|
||||
|
||||
[NOTE]
|
||||
Funkcja drukująca nazywa się `print` w Perl/Ruby/Lua/Tcl i `prnt` w Pythonie.
|
||||
|
||||
[[buffers_send_text]]
|
||||
Wysyłanie tekstu do bufora
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Możesz wysłać tekst lub komendę do bufora. Dokładnie tak jakby wpisać tekst
|
||||
w linii poleceń i wcisnąć [Enter]
|
||||
You can send text or command to a buffer. This is exactly like if you type text
|
||||
on command line and press [Enter].
|
||||
|
||||
Przykłady:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
# wykona komendę "/help" w głównym buforze
|
||||
weechat.command("", "/help")
|
||||
|
||||
# wyśle "witaj" na kanał #weechat (użytkownicy na kanale zobaczą wiadomość)
|
||||
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
|
||||
weechat.command(buffer, "witaj")
|
||||
----------------------------------------
|
||||
|
||||
[[buffers_new]]
|
||||
Tworzenie nowego buforu
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Możesz stworzyć nowy bufor w skrypcie, następnie użyć go do wyświetlania wiadomości.
|
||||
|
||||
Dwa callbacki mogą zostać wywołane (są opcjonalne): jeden dla danych wejściowych
|
||||
(kiedy wpiszesz tekst i naciśniesz [Enter] w buforze), drugi jest wywoływany
|
||||
podczas zamykania bufora (na przykład przez `/buffer close`).
|
||||
|
||||
Przykłady:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
# callback dla danych otrzymanych na wejściu
|
||||
def buffer_input_cb(data, buffer, input_data):
|
||||
# ...
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
# callback wywoływany przy zamknięciu bufora
|
||||
def buffer_close_cb(data, buffer):
|
||||
# ...
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
# tworzenie bufora
|
||||
buffer = weechat.buffer_new("mybuffer", "buffer_input_cb", "", "buffer_close_cb", "")
|
||||
|
||||
# ustawianie tytułu
|
||||
weechat.buffer_set(buffer, "title", "To jest tytuł mojego buforu.")
|
||||
|
||||
# wyłącza logowanie, przez ustawienie zmiennej lokalnej "no_log" na "1"
|
||||
weechat.buffer_set(buffer, "localvar_set_no_log", "1")
|
||||
----------------------------------------
|
||||
|
||||
[[buffers_properties]]
|
||||
Właściwości buforów
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Możesz odczytać właściwości buforów jako ciąg, liczbę lub wskaźnik.
|
||||
|
||||
Przykłady:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
buffer = weechat.current_buffer()
|
||||
|
||||
number = weechat.buffer_get_integer(buffer, "number")
|
||||
name = weechat.buffer_get_string(buffer, "name")
|
||||
short_name = weechat.buffer_get_string(buffer, "short_name")
|
||||
----------------------------------------
|
||||
|
||||
Możliwe jest dodanie, odczytanie lub kasowanie lokalnych zmiennych dla buforów:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
# dodanie zmiennej lokalnej
|
||||
weechat.buffer_set(buffer, "localvar_set_myvar", "my_value")
|
||||
|
||||
# odczyt zmiennej lokalnej
|
||||
myvar = weechat.buffer_get_string(buffer, "localvar_myvar")
|
||||
|
||||
# kasowanie zmiennej loaklnej
|
||||
weechat.buffer_set(buffer, "localvar_del_myvar", "")
|
||||
----------------------------------------
|
||||
|
||||
Aby zobaczyć lokalne zmienne danego bufora, należy wykonać tą komendę w WeeChat:
|
||||
|
||||
----------------------------------------
|
||||
/buffer localvar
|
||||
----------------------------------------
|
||||
|
||||
[[hooks]]
|
||||
Hooks
|
||||
~~~~~
|
||||
|
||||
[[hook_command]]
|
||||
Dodanie nowej komendy
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Aby dodać nową komendę należy użyć `hook_command`. Można użyć własnego szablonu
|
||||
dopełnień dla uzupełniania argumentów własnej komendy.
|
||||
|
||||
Przykład:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
def my_command_cb(data, buffer, args):
|
||||
# ...
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
hook = weechat.hook_command("myfilter", "opis myfilter",
|
||||
"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags regex] | [del name|-all]",
|
||||
"description of arguments...",
|
||||
"list"
|
||||
" || enable %(filters_names)"
|
||||
" || disable %(filters_names)"
|
||||
" || toggle %(filters_names)"
|
||||
" || add %(filters_names) %(buffers_plugins_names)|*"
|
||||
" || del %(filters_names)|-all",
|
||||
"my_command_cb", "")
|
||||
----------------------------------------
|
||||
|
||||
Następnie w WeeChat:
|
||||
|
||||
----------------------------------------
|
||||
/help myfilter
|
||||
|
||||
/myfilter argumenty...
|
||||
----------------------------------------
|
||||
|
||||
[[hook_timer]]
|
||||
Dodanie timera
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
Do dodania timera służy `hook_timer`.
|
||||
|
||||
Przykład:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
def timer_cb(data, remaining_calls):
|
||||
# ...
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
# timer wywoływany co minutę, kiedy liczba sekund wynosi 00
|
||||
weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "")
|
||||
----------------------------------------
|
||||
|
||||
[[hook_process]]
|
||||
Wykonuje proces w tle
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Do wykonywania procesów w tle służy `hook_process`. Twoje callbacki zostaną
|
||||
wywołane, kiedy dane będą gotowe. Może zostać wywołane wiele razy.
|
||||
|
||||
Dla ostatniego wykonania Twojego callbacku 'rc' jest ustawiane na 0, lub wartość
|
||||
dodatnią, jest to kod zwracany przez komendę.
|
||||
|
||||
Przykład:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
# Wyświetla wersje Linuksowych kerneli.
|
||||
kernel_txt = ""
|
||||
|
||||
def kernel_process_cb(data, command, rc, stdout, stderr):
|
||||
""" Callback reading command output. """
|
||||
global kernel_txt
|
||||
if stdout != "":
|
||||
kernel_txt += stdout
|
||||
if int(rc) >= 0:
|
||||
weechat.prnt("", kernel_txt)
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
weechat.hook_process("python -c \"import urllib; "
|
||||
"print urllib.urlopen('http://www.kernel.org/kdist/finger_banner').read()\"",
|
||||
10 * 1000, "kernel_process_cb", "")
|
||||
----------------------------------------
|
||||
|
||||
[[config_options]]
|
||||
Konfiguracja / opcje
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
[[config_options_set_script]]
|
||||
Ustawianie opcji dla skryptu
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Funkcja `config_is_set_plugin` używana jest do sprawdzenia czy opcja jest ustawiona,
|
||||
`config_set_plugin` ustawia opcję.
|
||||
|
||||
Example:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
script_options = {
|
||||
"opcja1" : "wartość1",
|
||||
"opcja2" : "wartość2",
|
||||
"opcja3" : "wartość3",
|
||||
}
|
||||
for option, default_value in script_options.iteritems():
|
||||
if not weechat.config_is_set_plugin(option):
|
||||
weechat.config_set_plugin(option, default_value)
|
||||
----------------------------------------
|
||||
|
||||
[[config_options_detect_changes]]
|
||||
Wykrywanie zmian
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Do wykrywania zmian opcji skryptu służy `hook_config`.
|
||||
|
||||
Przykład:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
SCRIPT_NAME = "myscript"
|
||||
|
||||
# ...
|
||||
|
||||
def config_cb(data, option, value):
|
||||
""" Callback called when a script option is changed. """
|
||||
# na przykład, odczyt wszystkich opcji skryptu...
|
||||
# ...
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
# ...
|
||||
|
||||
weechat.hook_config("plugins.var.python." + SCRIPT_NAME + ".*", "config_cb", "")
|
||||
# dla innych języków, zmień "python" na swój język ("perl", "ruby", "lua" or "tcl")
|
||||
----------------------------------------
|
||||
|
||||
[[config_options_weechat]]
|
||||
Odczyt opcji WeeChat
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Funkcja `config_get` zwraca wskaźnik do opcji. Następnie, w zależności od typu opcji,
|
||||
należy wywołać `config_string`, `config_boolean`, `config_integer` lub
|
||||
`config_color`.
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
# string
|
||||
weechat.prnt("", "wartość opcji weechat.look.item_time_format to: %s"
|
||||
% (weechat.config_string(weechat.config_get("weechat.look.item_time_format"))))
|
||||
|
||||
# boolean
|
||||
weechat.prnt("", "wartość opcji weechat.look.day_change to: %d"
|
||||
% (weechat.config_boolean(weechat.config_get("weechat.look.day_change"))))
|
||||
|
||||
# integer
|
||||
weechat.prnt("", "wartość opcji weechat.look.scroll_page_percent to: %d"
|
||||
% (weechat.config_integer(weechat.config_get("weechat.look.scroll_page_percent"))))
|
||||
|
||||
# color
|
||||
weechat.prnt("", "wartość opcji weechat.color.chat_delimiters to: %s"
|
||||
% (weechat.config_color(weechat.config_get("weechat.color.chat_delimiters"))))
|
||||
----------------------------------------
|
||||
|
||||
[[irc]]
|
||||
IRC
|
||||
~~~
|
||||
|
||||
[[irc_catch_messages]]
|
||||
Przechwytywanie wiadomości
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Wtyczka IRC wysyła dwa sygnały dla otrzymanej wiadomości (`xxx` jest wewnętrzną
|
||||
nazwą serwera IRC, `yyy` to komenda IRC jak JOIN, QUIT, PRIVMSG, 301, ..):
|
||||
|
||||
xxxx,irc_in_yyy::
|
||||
sygnał wysłany przed przetworzeniem wiadomości
|
||||
|
||||
xxx,irc_in2_yyy::
|
||||
sygnał wysłany po przetworzeniu wiadomości
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
def join_cb(data, sygnał, signal_data):
|
||||
# sygnał to na przykład: "freenode,irc_in2_join"
|
||||
# signal_data to wiadomość IRC, na przykład: ":nick!user@host JOIN :#channel"
|
||||
nick = weechat.info_get("irc_nick_from_host", signal_data)
|
||||
server = signal.split(",")[0]
|
||||
channel = signal_data.split(":")[-1]
|
||||
buffer = weechat.info_get("irc_buffer", "%s,%s" % (server, channel))
|
||||
if buffer:
|
||||
weechat.prnt(buffer, "Eheh, %s has joined this channel!" % nick)
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
# przydatne jest użycie "*" jako serwera, aby złapać wiadomość JOIN na wszystkich
|
||||
# serwerach IRC
|
||||
weechat.hook_signal("*,irc_in2_join", "join_cb", "")
|
||||
----------------------------------------
|
||||
|
||||
[[irc_modify_messages]]
|
||||
Modyfikowanie wiadomości
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Wtyczka IRC wysyła "modyfikator" nazwany "irc_in_xxx" ("xxx" to komenda IRC) dla
|
||||
otrzymanej wiadomości, żeby można było ją zmodyfikować.
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
def modifier_cb(data, modifier, modifier_data, string):
|
||||
# dodaje nazwę serwera do wszystkich otrzymanych wiadomości
|
||||
# (nie jest to może bardzo przydatne, ale to tylko przykład!)
|
||||
return "%s %s" % (string, modifier_data)
|
||||
|
||||
weechat.hook_modifier("irc_in_privmsg", "modifier_cb", "")
|
||||
----------------------------------------
|
||||
|
||||
[WARNING]
|
||||
Zniekształcone wiadomości mogą uszkodzić WeeChat, lub spowodować wiele problemów!
|
||||
|
||||
[[irc_message_parse]]
|
||||
Przetwarzanie wiadomości
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
_Nowe w wersji 0.3.4._
|
||||
|
||||
Można przetwarzać wiadomości IRC za pomocą info_hashtable zwanej "irc_message_parse".
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
dict = weechat.info_get_hashtable("irc_message_parse",
|
||||
{ "message": ":nick!user@host PRIVMSG #weechat :message here" })
|
||||
weechat.prnt("", "dict: %s" % dict)
|
||||
|
||||
# wyjście:
|
||||
# dict: {'nick': 'nick', 'host': 'nick!user@host', 'command': 'PRIVMSG', 'arguments': '#weechat :message here', 'channel': '#weechat'}
|
||||
----------------------------------------
|
||||
|
||||
[[infos]]
|
||||
Informacje
|
||||
~~~~~~~~~~
|
||||
|
||||
[[infos_weechat_version]]
|
||||
Wersja WeeChat
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Najprostszym sposobem na sprawdzenie wersji to pozyskanie "version_number"
|
||||
i wykonanie porównania między liczbą całkowitą a heksadecymalnym numerem wersji.
|
||||
|
||||
Przykład:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
version = weechat.info_get("version_number", "") or 0
|
||||
if int(version) >= 0x00030200:
|
||||
weechat.prnt("", "This is WeeChat 0.3.2 or newer")
|
||||
else:
|
||||
weechat.prnt("", "This is WeeChat 0.3.1 or older")
|
||||
----------------------------------------
|
||||
|
||||
[NOTE]
|
||||
Wersje ≤ 0.3.1.1 zwracają pusty ciąg dla 'info_get("version_number")' należy
|
||||
sprawdzić, czy zwracana wartość *nie* jest pusta.
|
||||
|
||||
Aby otrzymać ciąg z numerem wersji:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
# wyświetli to na przykład "Version 0.3.2"
|
||||
weechat.prnt("", "Version %s" % weechat.info_get("version", ""))
|
||||
----------------------------------------
|
||||
|
||||
[[infos_other]]
|
||||
Inne informacje
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
# katalog domowy WeeChat, na przykład: "/home/xxxx/.weechat"
|
||||
weechat.prnt("", "Katalog domowy WeeChat: %s" % weechat.info_get("weechat_dir", ""))
|
||||
|
||||
# nieaktywność klawiatury
|
||||
weechat.prnt("", "Nieaktywny od %s sekund" % weechat.info_get("inactivity", ""))
|
||||
----------------------------------------
|
||||
|
||||
[[infolists]]
|
||||
Infolisty
|
||||
~~~~~~~~~
|
||||
|
||||
[[infolists_read]]
|
||||
Odczytanie infolisty
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Można odczytać infolisty wbudowane w WeeChat lub inne wtyczki.
|
||||
|
||||
Przykład:
|
||||
|
||||
[source,python]
|
||||
----------------------------------------
|
||||
# odczyta infolistę "buffer", aby otrzymać listę buforów
|
||||
infolist = weechat.infolist_get("buffer", "", "")
|
||||
if infolist:
|
||||
while weechat.infolist_next(infolist):
|
||||
name = weechat.infolist_string(infolist, "name")
|
||||
weechat.prnt("", "buffer: %s" % name)
|
||||
weechat.infolist_free(infolist)
|
||||
----------------------------------------
|
||||
|
||||
[IMPORTANT]
|
||||
Nie zapomnij wywołać `infolist_free`, aby zwolnić pamięć użyta przez infolistę,
|
||||
ponieważ WeeChat nie zwolni automatycznie tej pamięci.
|
||||
@@ -12,17 +12,17 @@ Najłatwiejszym (a zarazem najtrudniejszym) sposobem jest testowanie!
|
||||
|
||||
Testowanie jest bardzo ważną częścią rozwoju oprogramowania i nie powinno być
|
||||
niedoceniane. Kiedy nowe funkcje są implementowane, powinny zostać przetestowane,
|
||||
ale dla wielu z nich jest za dużo możliwości użycia lub nie są łątwe do
|
||||
zasymulowania dlatego programiści nie są wstanie sprawdzić ich wszystkich.
|
||||
ale dla wielu z nich jest za dużo możliwości użycia lub nie są łatwe do
|
||||
za symulowania dlatego programiści nie są wstanie sprawdzić ich wszystkich.
|
||||
|
||||
Na przykład: Powszechnie znana wtyczka od kodowania została wprowadzona w
|
||||
WeeChat 0.2.2: żaden z nas (programistów, współpracowników, testerów) nie
|
||||
używał kanałów ze znakami narodowymi w nazwach, kiedy wersja 0.2.2 została
|
||||
wypuszczona zostaliśmy zalani użytkownikami z Rosji obwiniającymi nas.
|
||||
Gdy będziemy mieli więcej testrów taka sytuacja nie powinna się już zdarzyć
|
||||
Gdy będziemy mieli więcej testerów taka sytuacja nie powinna się już zdarzyć
|
||||
w przyszłości.
|
||||
|
||||
Testowanie stabilenj wersji WeeChat jest bezcelowe, ponieważ programiści są
|
||||
Testowanie stabilnej wersji WeeChat jest bezcelowe, ponieważ programiści są
|
||||
zajęci cały czas implementowaniem nowych rzeczy (oraz poprawianiem błędów).
|
||||
|
||||
|
||||
@@ -30,9 +30,9 @@ zajęci cały czas implementowaniem nowych rzeczy (oraz poprawianiem błędów).
|
||||
Przygotuj swój system
|
||||
---------------------
|
||||
|
||||
Bardzo nam pomoże, jeśli włączysz linuksowe pliki 'core': jeśli WeeChat zawiesi,
|
||||
się Linuks zapisze plik zwany 'core'. Plik ten zawiera uzyteczne informacje
|
||||
pozwalające dokładnie zlokalizować bład w WeeChat.
|
||||
Bardzo nam pomoże, jeśli włączysz linuksowe pliki 'core': jeśli WeeChat zawiesi
|
||||
się Linux zapisze plik zwany 'core'. Plik ten zawiera użyteczne informacje
|
||||
pozwalające dokładnie zlokalizować błąd w WeeChat.
|
||||
|
||||
Jeśli korzystasz z powłoki 'bash', dodaj następującą linijkę do `~/.bashrc`:
|
||||
|
||||
@@ -43,11 +43,11 @@ Jeśli korzystasz z powłoki 'bash', dodaj następującą linijkę do `~/.bashrc
|
||||
Pobieranie wersji rozwojowej
|
||||
----------------------------
|
||||
|
||||
Świerzy kod (z najnowszymi błędami i funkcjami) przechowywany jest w repozytorium GIT.
|
||||
Świeży kod (z najnowszymi błędami i funkcjami) przechowywany jest w repozytorium GIT.
|
||||
|
||||
Możesz się zdecydować na własnoręczne zbudowanie (zalecana metoda):
|
||||
|
||||
* wersja z GIT może być zbudowana i zainstalowana równolegle z wersją stabulną,
|
||||
* wersja z GIT może być zbudowana i zainstalowana równolegle z wersją stabilną,
|
||||
* nie potrzebujesz uprawnień administratora, oraz nie musisz poświęcać stabilnej
|
||||
wersji WeeChat.
|
||||
|
||||
@@ -62,7 +62,7 @@ $ mkdir ~/weechat-git
|
||||
$ cd ~/weechat-git
|
||||
---------------------
|
||||
|
||||
Jeśli masz zainstalowanego gita, po prostu zklonuj repozytorium (zalecana
|
||||
Jeśli masz zainstalowanego gita, po prostu sklonuj repozytorium (zalecana
|
||||
metoda):
|
||||
|
||||
--------------------------------------------
|
||||
@@ -73,7 +73,7 @@ $ cd weechat
|
||||
UWAGA: Później możesz wykonać w tym katalogu "`git pull`", aby pobrać najnowsze
|
||||
poprawki.
|
||||
|
||||
Oczywiście możesz pobrać paczke oznaczoną jako 'devel':
|
||||
Oczywiście możesz pobrać paczkę oznaczoną jako 'devel':
|
||||
|
||||
-----------------------------------------------------------------
|
||||
$ wget http://www.weechat.org/files/src/weechat-devel.tar.bz2
|
||||
@@ -116,7 +116,7 @@ W zależności od dystrybucji Linuksa:
|
||||
Uruchomienie WeeChat
|
||||
--------------------
|
||||
|
||||
Zalca się uruchomianie WeeChat z innym katalogiem (różnym od wersji stabilnej),
|
||||
Zaleca się uruchomianie WeeChat z innym katalogiem (różnym od wersji stabilnej),
|
||||
za pomocą opcji `--dir`.
|
||||
|
||||
Komenda to:
|
||||
@@ -126,8 +126,8 @@ Komenda to:
|
||||
Jeśli nadal nie śpisz powinieneś ujrzeć znajomy interfejs i chwalić się
|
||||
z posiadania najnowszej możliwej wersji WeeChat. ;)
|
||||
|
||||
Teraz jeśli zaobserwujesz dziwne zachowanie (może sprawiać problemy, ulec awari
|
||||
lub zagotować Twoje piwo) nie wachaj się wejść na kanał `#weechat` na serwerze
|
||||
Teraz jeśli zaobserwujesz dziwne zachowanie (może sprawiać problemy, ulec awarii
|
||||
lub zagotować Twoje piwo) nie wahaj się wejść na kanał `#weechat` na serwerze
|
||||
`irc.freenode.net` i nam o tym opowiedzieć.
|
||||
|
||||
Jeśli wszystko będzie w porządku - też nam o tym powiedz, potrzebujemy Twojej opinii!
|
||||
|
||||
@@ -860,7 +860,7 @@ string_split (const char *string, const char *separators, int keep_eol,
|
||||
if (!string || !string[0] || !separators || !separators[0])
|
||||
return NULL;
|
||||
|
||||
string2 = string_strip (string, 1, 1, separators);
|
||||
string2 = string_strip (string, 1, (keep_eol == 2) ? 0 : 1, separators);
|
||||
if (!string2 || !string2[0])
|
||||
return NULL;
|
||||
|
||||
|
||||
@@ -390,6 +390,11 @@ util_file_get_content (const char *filename)
|
||||
}
|
||||
buffer = buffer2;
|
||||
count = fread (&buffer[fp], sizeof(char), 1024, f);
|
||||
if (count <= 0)
|
||||
{
|
||||
free (buffer);
|
||||
return NULL;
|
||||
}
|
||||
fp += count;
|
||||
}
|
||||
buffer2 = (char *) realloc (buffer, fp + sizeof (char));
|
||||
|
||||
@@ -283,6 +283,12 @@ gui_bar_window_print_string (struct t_gui_bar_window *bar_window,
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case GUI_COLOR_RESET_CHAR: /* reset color (keep attributes) */
|
||||
string++;
|
||||
gui_window_set_custom_color_fg_bg (GUI_BAR_WINDOW_OBJECTS(bar_window)->win_bar,
|
||||
CONFIG_COLOR(bar_window->bar->options[GUI_BAR_OPTION_COLOR_FG]),
|
||||
CONFIG_COLOR(bar_window->bar->options[GUI_BAR_OPTION_COLOR_BG]));
|
||||
break;
|
||||
default:
|
||||
gui_window_string_apply_color_weechat ((unsigned char **)&string,
|
||||
GUI_BAR_WINDOW_OBJECTS(bar_window)->win_bar);
|
||||
|
||||
@@ -107,25 +107,28 @@ gui_chat_marker_for_line (struct t_gui_buffer *buffer, struct t_gui_line *line)
|
||||
|
||||
void
|
||||
gui_chat_reset_style (struct t_gui_window *window, struct t_gui_line *line,
|
||||
int reset_attributes,
|
||||
int color_inactive_window, int color_inactive_buffer,
|
||||
int color_default)
|
||||
{
|
||||
int color;
|
||||
|
||||
color = color_default;
|
||||
if ((window != gui_current_window) &&
|
||||
CONFIG_BOOLEAN(config_look_color_inactive_window))
|
||||
{
|
||||
gui_window_reset_style (GUI_WINDOW_OBJECTS(window)->win_chat,
|
||||
color_inactive_window);
|
||||
return;
|
||||
color = color_inactive_window;
|
||||
}
|
||||
if (line && !(line->data->buffer->active)
|
||||
&& CONFIG_BOOLEAN(config_look_color_inactive_buffer))
|
||||
else if (line && !(line->data->buffer->active)
|
||||
&& CONFIG_BOOLEAN(config_look_color_inactive_buffer))
|
||||
{
|
||||
gui_window_reset_style (GUI_WINDOW_OBJECTS(window)->win_chat,
|
||||
color_inactive_buffer);
|
||||
return;
|
||||
color = color_inactive_buffer;
|
||||
}
|
||||
gui_window_reset_style (GUI_WINDOW_OBJECTS(window)->win_chat,
|
||||
color_default);
|
||||
|
||||
if (reset_attributes)
|
||||
gui_window_reset_style (GUI_WINDOW_OBJECTS(window)->win_chat, color);
|
||||
else
|
||||
gui_window_reset_color (GUI_WINDOW_OBJECTS(window)->win_chat, color);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -260,6 +263,24 @@ gui_chat_string_next_char (struct t_gui_window *window, struct t_gui_line *line,
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case GUI_COLOR_RESET_CHAR: /* reset color (keep attributes) */
|
||||
string++;
|
||||
if (apply_style)
|
||||
{
|
||||
if (apply_style_inactive)
|
||||
{
|
||||
gui_chat_reset_style (window, line, 0,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
GUI_COLOR_CHAT_INACTIVE_BUFFER,
|
||||
GUI_COLOR_CHAT);
|
||||
}
|
||||
else
|
||||
{
|
||||
gui_window_reset_color (GUI_WINDOW_OBJECTS(window)->win_chat,
|
||||
GUI_COLOR_CHAT);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
gui_window_string_apply_color_weechat ((unsigned char **)&string,
|
||||
(apply_style) ? GUI_WINDOW_OBJECTS(window)->win_chat : NULL);
|
||||
@@ -282,7 +303,7 @@ gui_chat_string_next_char (struct t_gui_window *window, struct t_gui_line *line,
|
||||
{
|
||||
if (apply_style_inactive)
|
||||
{
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
GUI_COLOR_CHAT_INACTIVE_BUFFER,
|
||||
GUI_COLOR_CHAT);
|
||||
@@ -547,7 +568,7 @@ gui_chat_display_time_to_prefix (struct t_gui_window *window,
|
||||
{
|
||||
if (window->win_chat_cursor_y < window->coords_size)
|
||||
window->coords[window->win_chat_cursor_y].line = line;
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
GUI_COLOR_CHAT_INACTIVE_BUFFER,
|
||||
GUI_COLOR_CHAT);
|
||||
@@ -568,7 +589,7 @@ gui_chat_display_time_to_prefix (struct t_gui_window *window,
|
||||
|
||||
if (!simulate)
|
||||
{
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
GUI_COLOR_CHAT_INACTIVE_BUFFER,
|
||||
GUI_COLOR_CHAT);
|
||||
@@ -601,7 +622,7 @@ gui_chat_display_time_to_prefix (struct t_gui_window *window,
|
||||
{
|
||||
if (!simulate)
|
||||
{
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
GUI_COLOR_CHAT_INACTIVE_BUFFER,
|
||||
GUI_COLOR_CHAT);
|
||||
@@ -617,7 +638,7 @@ gui_chat_display_time_to_prefix (struct t_gui_window *window,
|
||||
|
||||
if (!simulate)
|
||||
{
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
(CONFIG_BOOLEAN(config_look_color_inactive_buffer)
|
||||
&& CONFIG_BOOLEAN(config_look_color_inactive_prefix_buffer)
|
||||
@@ -673,7 +694,7 @@ gui_chat_display_time_to_prefix (struct t_gui_window *window,
|
||||
{
|
||||
if (!simulate)
|
||||
{
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
GUI_COLOR_CHAT_INACTIVE_BUFFER,
|
||||
GUI_COLOR_CHAT);
|
||||
@@ -707,7 +728,7 @@ gui_chat_display_time_to_prefix (struct t_gui_window *window,
|
||||
{
|
||||
if (!simulate)
|
||||
{
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
GUI_COLOR_CHAT_INACTIVE_BUFFER,
|
||||
GUI_COLOR_CHAT);
|
||||
@@ -753,7 +774,7 @@ gui_chat_display_time_to_prefix (struct t_gui_window *window,
|
||||
}
|
||||
if (!simulate)
|
||||
{
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
(CONFIG_BOOLEAN(config_look_color_inactive_buffer)
|
||||
&& CONFIG_BOOLEAN(config_look_color_inactive_prefix)
|
||||
@@ -767,7 +788,7 @@ gui_chat_display_time_to_prefix (struct t_gui_window *window,
|
||||
{
|
||||
if (!simulate)
|
||||
{
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
(CONFIG_BOOLEAN(config_look_color_inactive_buffer)
|
||||
&& CONFIG_BOOLEAN(config_look_color_inactive_prefix)
|
||||
@@ -813,7 +834,7 @@ gui_chat_display_time_to_prefix (struct t_gui_window *window,
|
||||
|
||||
if (!simulate)
|
||||
{
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
GUI_COLOR_CHAT_INACTIVE_BUFFER,
|
||||
GUI_COLOR_CHAT);
|
||||
@@ -944,14 +965,14 @@ gui_chat_display_line (struct t_gui_window *window, struct t_gui_line *line,
|
||||
{
|
||||
if (CONFIG_BOOLEAN(config_look_color_inactive_message))
|
||||
{
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
GUI_COLOR_CHAT_INACTIVE_BUFFER,
|
||||
GUI_COLOR_CHAT);
|
||||
}
|
||||
else
|
||||
{
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT,
|
||||
GUI_COLOR_CHAT,
|
||||
GUI_COLOR_CHAT);
|
||||
@@ -1107,7 +1128,7 @@ gui_chat_display_line_y (struct t_gui_window *window, struct t_gui_line *line,
|
||||
int y)
|
||||
{
|
||||
/* reset color & style for a new line */
|
||||
gui_chat_reset_style (window, line,
|
||||
gui_chat_reset_style (window, line, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
GUI_COLOR_CHAT_INACTIVE_BUFFER,
|
||||
GUI_COLOR_CHAT);
|
||||
@@ -1250,7 +1271,7 @@ gui_chat_draw (struct t_gui_buffer *buffer, int erase)
|
||||
{
|
||||
gui_window_coords_alloc (ptr_win);
|
||||
|
||||
gui_chat_reset_style (ptr_win, NULL,
|
||||
gui_chat_reset_style (ptr_win, NULL, 1,
|
||||
GUI_COLOR_CHAT_INACTIVE_WINDOW,
|
||||
GUI_COLOR_CHAT_INACTIVE_BUFFER,
|
||||
GUI_COLOR_CHAT);
|
||||
|
||||
@@ -111,7 +111,7 @@ void
|
||||
gui_mouse_display_state ()
|
||||
{
|
||||
gui_chat_printf (NULL,
|
||||
(CONFIG_BOOLEAN(config_look_mouse)) ?
|
||||
gui_mouse_enabled ?
|
||||
_("Mouse is enabled") : _("Mouse is disabled"));
|
||||
}
|
||||
|
||||
|
||||
@@ -247,6 +247,17 @@ gui_window_reset_style (WINDOW *window, int weechat_color)
|
||||
gui_color[weechat_color]->attributes);
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_window_reset_color: reset color with a weechat color for a window
|
||||
*/
|
||||
|
||||
void
|
||||
gui_window_reset_color (WINDOW *window, int weechat_color)
|
||||
{
|
||||
wattron (window, COLOR_PAIR(gui_color_weechat_get_pair (weechat_color)) |
|
||||
gui_color[weechat_color]->attributes);
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_window_set_color_style: set style for color
|
||||
*/
|
||||
@@ -333,15 +344,15 @@ gui_window_set_custom_color_fg (WINDOW *window, int fg)
|
||||
{
|
||||
if (fg & GUI_COLOR_EXTENDED_BOLD_FLAG)
|
||||
gui_window_set_color_style (window, A_BOLD);
|
||||
else
|
||||
else if (!(fg & GUI_COLOR_EXTENDED_KEEPATTR_FLAG))
|
||||
gui_window_remove_color_style (window, A_BOLD);
|
||||
if (fg & GUI_COLOR_EXTENDED_REVERSE_FLAG)
|
||||
gui_window_set_color_style (window, A_REVERSE);
|
||||
else
|
||||
else if (!(fg & GUI_COLOR_EXTENDED_KEEPATTR_FLAG))
|
||||
gui_window_remove_color_style (window, A_REVERSE);
|
||||
if (fg & GUI_COLOR_EXTENDED_UNDERLINE_FLAG)
|
||||
gui_window_set_color_style (window, A_UNDERLINE);
|
||||
else
|
||||
else if (!(fg & GUI_COLOR_EXTENDED_KEEPATTR_FLAG))
|
||||
gui_window_remove_color_style (window, A_UNDERLINE);
|
||||
gui_window_set_color (window,
|
||||
fg & GUI_COLOR_EXTENDED_MASK,
|
||||
@@ -349,8 +360,11 @@ gui_window_set_custom_color_fg (WINDOW *window, int fg)
|
||||
}
|
||||
else if ((fg & GUI_COLOR_EXTENDED_MASK) < GUI_CURSES_NUM_WEECHAT_COLORS)
|
||||
{
|
||||
gui_window_remove_color_style (window,
|
||||
A_BOLD | A_REVERSE | A_UNDERLINE);
|
||||
if (!(fg & GUI_COLOR_EXTENDED_KEEPATTR_FLAG))
|
||||
{
|
||||
gui_window_remove_color_style (window,
|
||||
A_BOLD | A_REVERSE | A_UNDERLINE);
|
||||
}
|
||||
attributes = 0;
|
||||
if (fg & GUI_COLOR_EXTENDED_BOLD_FLAG)
|
||||
attributes |= A_BOLD;
|
||||
@@ -425,22 +439,25 @@ gui_window_set_custom_color_fg_bg (WINDOW *window, int fg, int bg)
|
||||
{
|
||||
if (fg & GUI_COLOR_EXTENDED_BOLD_FLAG)
|
||||
gui_window_set_color_style (window, A_BOLD);
|
||||
else
|
||||
else if (!(fg & GUI_COLOR_EXTENDED_KEEPATTR_FLAG))
|
||||
gui_window_remove_color_style (window, A_BOLD);
|
||||
if (fg & GUI_COLOR_EXTENDED_REVERSE_FLAG)
|
||||
gui_window_set_color_style (window, A_REVERSE);
|
||||
else
|
||||
else if (!(fg & GUI_COLOR_EXTENDED_KEEPATTR_FLAG))
|
||||
gui_window_remove_color_style (window, A_REVERSE);
|
||||
if (fg & GUI_COLOR_EXTENDED_UNDERLINE_FLAG)
|
||||
gui_window_set_color_style (window, A_UNDERLINE);
|
||||
else
|
||||
else if (!(fg & GUI_COLOR_EXTENDED_KEEPATTR_FLAG))
|
||||
gui_window_remove_color_style (window, A_UNDERLINE);
|
||||
fg &= GUI_COLOR_EXTENDED_MASK;
|
||||
}
|
||||
else if ((fg & GUI_COLOR_EXTENDED_MASK) < GUI_CURSES_NUM_WEECHAT_COLORS)
|
||||
{
|
||||
gui_window_remove_color_style (window,
|
||||
A_BOLD | A_REVERSE | A_UNDERLINE);
|
||||
if (!(fg & GUI_COLOR_EXTENDED_KEEPATTR_FLAG))
|
||||
{
|
||||
gui_window_remove_color_style (window,
|
||||
A_BOLD | A_REVERSE | A_UNDERLINE);
|
||||
}
|
||||
attributes = 0;
|
||||
if (fg & GUI_COLOR_EXTENDED_BOLD_FLAG)
|
||||
attributes |= A_BOLD;
|
||||
|
||||
@@ -88,6 +88,7 @@ extern void gui_window_redraw_buffer (struct t_gui_buffer *buffer);
|
||||
extern void gui_window_clear (WINDOW *window, int fg, int bg);
|
||||
extern void gui_window_clrtoeol (WINDOW *window);
|
||||
extern void gui_window_reset_style (WINDOW *window, int num_color);
|
||||
extern void gui_window_reset_color (WINDOW *window, int num_color);
|
||||
extern void gui_window_set_color_style (WINDOW *window, int style);
|
||||
extern void gui_window_remove_color_style (WINDOW *window, int style);
|
||||
extern void gui_window_set_color (WINDOW *window, int fg, int bg);
|
||||
|
||||
@@ -104,6 +104,9 @@ gui_color_attr_get_flag (char c)
|
||||
if (c == GUI_COLOR_EXTENDED_UNDERLINE_CHAR)
|
||||
return GUI_COLOR_EXTENDED_UNDERLINE_FLAG;
|
||||
|
||||
if (c == GUI_COLOR_EXTENDED_KEEPATTR_CHAR)
|
||||
return GUI_COLOR_EXTENDED_KEEPATTR_FLAG;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -128,6 +131,8 @@ gui_color_attr_build_string (int color, char *str_attr)
|
||||
str_attr[i++] = GUI_COLOR_EXTENDED_ITALIC_CHAR;
|
||||
if (color & GUI_COLOR_EXTENDED_UNDERLINE_FLAG)
|
||||
str_attr[i++] = GUI_COLOR_EXTENDED_UNDERLINE_CHAR;
|
||||
if (color & GUI_COLOR_EXTENDED_KEEPATTR_FLAG)
|
||||
str_attr[i++] = GUI_COLOR_EXTENDED_KEEPATTR_CHAR;
|
||||
|
||||
str_attr[i] = '\0';
|
||||
}
|
||||
@@ -159,6 +164,13 @@ gui_color_get_custom (const char *color_name)
|
||||
"%c",
|
||||
GUI_COLOR_RESET_CHAR);
|
||||
}
|
||||
else if (string_strcasecmp (color_name, "resetcolor") == 0)
|
||||
{
|
||||
snprintf (color[index_color], sizeof (color[index_color]),
|
||||
"%c%c",
|
||||
GUI_COLOR_COLOR_CHAR,
|
||||
GUI_COLOR_RESET_CHAR);
|
||||
}
|
||||
else if (string_strcasecmp (color_name, "bold") == 0)
|
||||
{
|
||||
snprintf (color[index_color], sizeof (color[index_color]),
|
||||
@@ -521,6 +533,9 @@ gui_color_decode (const char *string, const char *replacement)
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case GUI_COLOR_RESET_CHAR:
|
||||
ptr_string++;
|
||||
break;
|
||||
default:
|
||||
if (isdigit (ptr_string[0]) && isdigit (ptr_string[1]))
|
||||
ptr_string += 2;
|
||||
|
||||
@@ -98,6 +98,7 @@ enum t_gui_color_enum
|
||||
#define GUI_COLOR_EXTENDED_REVERSE_CHAR '!'
|
||||
#define GUI_COLOR_EXTENDED_ITALIC_CHAR '/'
|
||||
#define GUI_COLOR_EXTENDED_UNDERLINE_CHAR '_'
|
||||
#define GUI_COLOR_EXTENDED_KEEPATTR_CHAR '|'
|
||||
|
||||
/* color codes specific to bars */
|
||||
#define GUI_COLOR_BAR_CHAR 'b'
|
||||
@@ -115,6 +116,7 @@ enum t_gui_color_enum
|
||||
#define GUI_COLOR_EXTENDED_REVERSE_FLAG 0x0400000
|
||||
#define GUI_COLOR_EXTENDED_ITALIC_FLAG 0x0800000
|
||||
#define GUI_COLOR_EXTENDED_UNDERLINE_FLAG 0x1000000
|
||||
#define GUI_COLOR_EXTENDED_KEEPATTR_FLAG 0x2000000
|
||||
#define GUI_COLOR_EXTENDED_MASK 0x00FFFFF
|
||||
#define GUI_COLOR_EXTENDED_MAX 99999
|
||||
|
||||
|
||||
@@ -176,14 +176,14 @@ irc_color_decode (const char *string, int keep_colors)
|
||||
}
|
||||
}
|
||||
snprintf (str_color, sizeof (str_color),
|
||||
"%s%s%s",
|
||||
"|%s%s%s",
|
||||
(fg >= 0) ? irc_color_to_weechat[fg] : "",
|
||||
(bg >= 0) ? "," : "",
|
||||
(bg >= 0) ? irc_color_to_weechat[bg] : "");
|
||||
strcat ((char *)out, weechat_color(str_color));
|
||||
}
|
||||
else
|
||||
strcat ((char *)out, weechat_color("reset"));
|
||||
strcat ((char *)out, weechat_color("resetcolor"));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -738,7 +738,7 @@ irc_message_split (struct t_irc_server *server, const char *message)
|
||||
goto end;
|
||||
|
||||
argv = weechat_string_split (message, " ", 0, 0, &argc);
|
||||
argv_eol = weechat_string_split (message, " ", 1, 0, NULL);
|
||||
argv_eol = weechat_string_split (message, " ", 2, 0, NULL);
|
||||
|
||||
if (argc < 2)
|
||||
goto end;
|
||||
|
||||
@@ -3162,6 +3162,7 @@ irc_server_gnutls_callback (void *data, gnutls_session_t tls_session,
|
||||
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x020b00
|
||||
tls_struct.cert_type = GNUTLS_CRT_X509;
|
||||
tls_struct.key_type = GNUTLS_PRIVKEY_X509;
|
||||
#else
|
||||
tls_struct.type = GNUTLS_CRT_X509;
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user