このマニュアルは WeeChat チャットクライアントについての文書で、WeeChat の一部です。
この文書の最新版を見るには以下のページを確認して下さい: https://weechat.org/doc
1. はじめに
WeeChat (Wee Enhanced Environment for Chat) は無料のチャットクライアントで、高速、軽量、多くのオペレーティングシステムで動くように設計されています。
このマニュアルは WeeChat プラグイン API についての文書で、C 言語プラグインはこの API を使って WeeChat の中核部と通信しています。
2. WeeChat プラグイン
プラグインは C 言語のプログラムであり、インターフェイスが定義する WeeChat 関数を呼び出すことができます。
この C 言語プログラムはコンパイルの際に WeeChat のソースを必要としません、WeeChat
は /plugin
コマンドでこのプログラムを動的に読み込むことができます。
プラグインを動的にオペレーティングシステムに読み込ませるために、プラグインは必ずダイナミックライブラリにしてください。ファイルの拡張子は GNU/Linux では ".so"、Windows では ".dll" です。
プラグインでは必ず "weechat-plugin.h" ファイルをインクルードしてください (WeeChat ソースコードに含まれています)。このファイルでは WeeChat と通信する際に使う構造体や型が定義されています。
2.1. マクロ
プラグインでは必ず以下のマクロを使ってください (いくつかの変数を定義するために必要です):
- WEECHAT_PLUGIN_NAME("name")
-
プラグイン名
- WEECHAT_PLUGIN_DESCRIPTION("description")
-
プラグインの短い説明
- WEECHAT_PLUGIN_VERSION("1.0")
-
プラグインのバージョン番号
- WEECHAT_PLUGIN_LICENSE("GPL3")
-
プラグインのライセンス
2.2. 重要な関数
プラグインでは必ず以下の 2 つの関数を使ってください:
-
weechat_plugin_init
-
weechat_plugin_end
2.2.1. weechat_plugin_init
WeeChat はプラグインを読み込む際にこの関数を呼び出します。
プロトタイプ:
引数:
-
plugin: WeeChat プラグイン構造体へのポインタ
-
argc: プラグインに対する引数の数 (ユーザがコマンドラインで指定)
-
argv: プラグインに対する引数
戻り値:
-
WEECHAT_RC_OK 成功した場合 (プラグインを読み込みます)
-
WEECHAT_RC_ERROR エラーが起きた場合 (プラグインを読み込みません)
2.2.2. weechat_plugin_end
WeeChat プラグインを再読み込みする際にこの関数を呼び出します。
プロトタイプ:
引数:
-
plugin: WeeChat プラグイン構造体へのポインタ
戻り値:
-
WEECHAT_RC_OK 成功した場合
-
WEECHAT_RC_ERROR エラーが起きた場合
2.3. プラグインのコンパイル
コンパイルするために WeeChat のソースは不要で、weechat-plugin.h ファイルだけが必要です。
1 つのファイル "toto.c" からなるプラグインは以下のようにコンパイルします (GNU/Linux の場合):
$ gcc -fPIC -Wall -c toto.c
$ gcc -shared -fPIC -o libtoto.so toto.o
2.4. プラグインを読み込む
libtoto.so ファイルをシステムのプラグインディレクトリ (例えば /usr/local/lib/weechat/plugins) またはユーザのプラグインディレクトリ (例えば /home/xxx/.weechat/plugins) にコピーしてください。
WeeChat の中で:
/plugin load toto
2.5. プラグインの例
コマンド /double を追加するプラグインの例: 引数を 2 倍して現在のバッファに表示するか、コマンドを 2 回実行する (これは実用的なコマンドというよりも、ただの例です!):
3. プラグイン API
以下の章では API 関数をカテゴリごとに説明しています。
それぞれの関数について、以下の内容が記載されています:
-
関数の説明、
-
C 言語のプロトタイプ、
-
引数の詳細、
-
戻り値、
-
C 言語での使用例、
-
Python スクリプトでの使用例 (他のスクリプト言語を使う場合も文法は似ています)。
3.1. プラグイン
プラグインに関する情報を取得する関数。
3.1.1. weechat_plugin_get_name
プラグインの名前を取得。
プロトタイプ:
引数:
-
plugin: WeeChat プラグイン構造体へのポインタ (NULL でも可)
戻り値:
-
プラグインの名前、WeeChat コアの場合は "core" (プラグインへのポインタが NULL の場合)
C 言語での使用例:
スクリプト (Python) での使用例:
3.2. 文字列
以下の多くの文字列関数は標準的な C 言語の関数でも定義されていますが、この API 関数を使うことを推奨します。なぜなら、これらの関数は文字列を UTF-8 とロケールに準じて取り扱うようになっているからです。
3.2.1. weechat_charset_set
新しいプラグインの文字セットを設定する (デフォルトの文字セットは UTF-8 です、このためプラグインで UTF-8 を使う場合は、この関数を呼び出す必要はありません。
プロトタイプ:
引数:
-
charset: 新たに利用する文字セット
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.2. weechat_iconv_to_internal
文字列の文字セットを WeeChat の内部文字セット (UTF-8) に変換。
プロトタイプ:
引数:
-
charset: 変換元の文字列の文字セット
-
string: 変換元の文字列
戻り値:
-
文字セットを変換した文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.3. weechat_iconv_from_internal
文字列の文字セットを WeeChat の内部文字セット (UTF-8) から別の文字セットに変換。
プロトタイプ:
引数:
-
charset: 変換先の文字列の文字セット
-
string: 変換元の文字列
戻り値:
-
文字セットを変換した文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.4. weechat_gettext
翻訳済み文字列を返す (設定言語に依存)。
プロトタイプ:
引数:
-
string: 翻訳元の文字列
戻り値:
-
翻訳済み文字列
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.5. weechat_ngettext
count 引数を元に単数形または複数形で、翻訳済み文字列を返す。
プロトタイプ:
引数:
-
string: 翻訳元の文字列、単数形
-
plural: 翻訳元の文字列、複数形
-
count: 単数形と複数形のどちらを返すかの判断に使います (選択は設定言語に依存)
戻り値:
-
翻訳済みの文字列
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.6. weechat_strndup
複製した文字列を最大で length 文字分返す。
プロトタイプ:
引数:
-
string: 複製元の文字列
-
length: 複製する文字列の最大文字数
戻り値:
-
複製した文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.7. weechat_string_tolower
UTF-8 文字列を小文字に変換。
プロトタイプ:
引数:
-
string: 変換元の文字列
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.8. weechat_string_toupper
UTF-8 文字列を大文字に変換。
プロトタイプ:
引数:
-
string: 変換元の文字列
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.9. weechat_strcasecmp
バージョン 1.0 で更新。
ロケールと大文字小文字を無視して文字列を比較。
プロトタイプ:
引数:
-
string1: 1 番目の比較対象の文字列
-
string2: 2 番目の比較対象の文字列
戻り値:
-
string1 < string2 の場合は -1
-
string1 == string2 の場合は 0
-
string1 > string2 の場合は 1
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.10. weechat_strcasecmp_range
WeeChat バージョン 0.3.7 以上で利用可。バージョン 1.0 で更新。
大文字小文字を無視する文字範囲の幅を使い、ロケールと大文字小文字を無視して文字列を比較。
プロトタイプ:
引数:
-
string1: 1 番目の比較対象の文字列
-
string2: 2 番目の比較対象の文字列
-
range: 大文字小文字を無視する文字範囲の幅、例:
-
26: "A-Z" を "a-z" のように変換して比較
-
29: "A-Z [ \ ]" を "a-z { | }" のように変換して比較
-
30: "A-Z [ \ ] ^" を "a-z { | } ~" のように変換して比較
-
Note
|
29 と 30 は IRC など一部のプロトコルで使います。 |
戻り値:
-
string1 < string2 の場合は -1
-
string1 == string2 の場合は 0
-
string1 > string2 の場合は 1
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.11. weechat_strncasecmp
バージョン 1.0 で更新。
ロケールと大文字小文字を無視して max 文字だけ文字列を比較。
プロトタイプ:
引数:
-
string1: 1 番目の比較対象の文字列
-
string2: 2 番目の比較対象の文字列
-
max: 比較する文字数の最大値
戻り値:
-
string1 < string2 の場合は -1
-
string1 == string2 の場合は 0
-
string1 > string2 の場合は 1
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.12. weechat_strncasecmp_range
WeeChat バージョン 0.3.7 以上で利用可。バージョン 1.0 で更新。
大文字小文字を無視する文字範囲の幅を使い、ロケールと大文字小文字を無視して max 文字だけ文字列を比較。
プロトタイプ:
引数:
-
string1: 1 番目の比較対象の文字列
-
string2: 2 番目の比較対象の文字列
-
max: 比較する文字数の最大値
-
range: 大文字小文字を無視する文字範囲の幅、例:
-
26: "A-Z" を "a-z" のように変換して比較
-
29: "A-Z [ \ ]" を "a-z { | }" のように変換して比較
-
30: "A-Z [ \ ] ^" を "a-z { | } ~" のように変換して比較
-
Note
|
29 と 30 は IRC など一部のプロトコルで使います。 |
戻り値:
-
string1 < string2 の場合は -1
-
string1 == string2 の場合は 0
-
string1 > string2 の場合は 1
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.13. weechat_strcmp_ignore_chars
バージョン 1.0 で更新。
一部の文字列を無視して、ロケールに依存して (オプションで大文字小文字の区別をしない) 文字列を比較。
プロトタイプ:
引数:
-
string1: 1 番目の比較対象の文字列
-
string2: 2 番目の比較対象の文字列
-
chars_ignored: 無視する文字
-
case_sensitive: 大文字小文字を区別して比較する場合は 1、区別しない場合は 0
戻り値:
-
string1 < string2 の場合は -1
-
string1 == string2 の場合は 0
-
string1 > string2 の場合は 1
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.14. weechat_strcasestr
ロケールと大文字小文字を区別して文字列を検索。
プロトタイプ:
引数:
-
string: 文字列
-
search: string 内を検索する文字
戻り値:
-
見つかった文字列へのポインタ、見つからない場合は NULL
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.15. weechat_strlen_screen
WeeChat バージョン 0.4.2 以上で利用可。
UTF-8 文字列をスクリーン上に表示するために必要なスクリーン幅を返す。非表示文字を 1 文字として数えます (これが weechat_utf8_strlen_screen 関数との違いです)。
プロトタイプ:
引数:
-
string: 文字列
戻り値:
-
UTF-8 文字列をスクリーン上に表示するために必要なスクリーン幅
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.16. weechat_string_match
バージョン 1.0 で更新。
文字列がマスクにマッチするか確認。
プロトタイプ:
引数:
-
string: 文字列
-
mask: ワイルドカード ("*") を含むマスク、各ワイルドカードは文字列中の 0 個またはそれ以上の文字にマッチします
-
case_sensitive: 大文字小文字を区別する場合は 1、区別しない場合は 0
Note
|
バージョン 1.0 以上では、ワイルドカードをマスクの内部で使うことが可能です (マスクの最初および最後だけではありません)。 |
戻り値:
-
マスクにマッチした場合は 1、それ以外は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.17. weechat_string_expand_home
WeeChat バージョン 0.3.3 以上で利用可。
文字列が ~
から始まる場合はこれをホームディレクトリで置換。文字列が
~
から始まっていない場合は同じ文字列を返す。
プロトタイプ:
引数:
-
path: パス
戻り値:
-
~
から始まるパスをホームディレクトリで置換したパス (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.18. weechat_string_remove_quotes
文字列の最初と最後から引用符号を削除 (最初の引用符号の前と最後の引用符号の後にある空白文字は無視)。
プロトタイプ:
引数:
-
string: 文字列
-
quotes: 引用符号のリストを含む文字列
戻り値:
-
最初と最後から引用符号を削除した文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.19. weechat_string_strip
文字列の最初と最後から文字を削除する。
プロトタイプ:
引数:
-
string: 文字列
-
left: 0 以外の場合は左側の文字を削除
-
right: 0 以外の場合は右側の文字を削除
-
chars: 削除する文字を含む文字列
戻り値:
-
文字を削除した文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.20. weechat_string_convert_escaped_chars
WeeChat バージョン 1.0 以上で利用可。
エスケープ文字を値に変換:
-
\"
: 二重引用符 -
\\
: バックスラッシュ -
\a
: アラート (BEL) -
\b
: バックスペース -
\e
: エスケープ -
\f
: 改ページ -
\n
: 改行 -
\r
: キャリッジリターン -
\t
: 水平タブ -
\v
: 垂直タブ -
\0ooo
: 文字の 8 進数表現 (ooo は 0 桁から 3 桁) -
\xhh
: 文字の 16 進数表現 (hh は 1 桁から 2 桁) -
\uhhhh
: ユニコード文字の 16 進数表現 (hhhh は 1 桁から 4 桁) -
\Uhhhhhhhh
: ユニコード文字の 16 進数表現 (hhhhhhhh は 1 桁から 8 桁)
プロトタイプ:
引数:
-
string: 文字列
戻り値:
-
エスケープ文字を値に変換した文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.21. weechat_string_mask_to_regex
マスクから正規表現を作りこれを返す、マスク用の特殊文字は
"*
" のみ。これ以外の文字はすべてエスケープされます。
プロトタイプ:
引数:
-
mask: マスク
戻り値:
-
正規表現の文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.22. weechat_string_regex_flags
WeeChat バージョン 0.3.7 以上で利用可。
フラグ以降の文字列へのポインタと正規表現をコンパイルするためのフラグ付きマスクを返す
プロトタイプ:
引数:
-
regex: POSIX 拡張正規表現
-
default_flags: 以下の値を組み合わせたもの (
man regcomp
を参照):-
REG_EXTENDED
-
REG_ICASE
-
REG_NEWLINE
-
REG_NOSUB
-
-
flags: ポインタ値は正規表現中で指定されたフラグと一緒にセットされます (デフォルトのフラグ + 正規表現中で指定されたフラグ)
フラグは必ず正規表現の最初につけてください。フォーマットは: "(?eins-eins)string"。
利用可能なフラグ:
-
e: POSIX 拡張正規表現 (REG_EXTENDED)
-
i: 大文字小文字を区別しない (REG_ICASE)
-
n: 任意の文字にマッチする演算子を改行文字にマッチさせない (REG_NEWLINE)
-
s: マッチした部分文字列の位置を使わない (REG_NOSUB)
戻り値:
-
regex からフラグを除いた位置へのポインタ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.23. weechat_string_regcomp
WeeChat バージョン 0.3.7 以上で利用可。
文字列の最初に含まれるオプションフラグを使って POSIX 拡張正規表現をコンパイル (フラグのフォーマットについては weechat_string_regex_flags を参照)。
プロトタイプ:
引数:
-
preg: regex_t 構造体へのポインタ
-
regex: POSIX 拡張正規表現
-
default_flags: 以下の値の組み合わせ (
man regcomp
を参照):-
REG_EXTENDED
-
REG_ICASE
-
REG_NEWLINE
-
REG_NOSUB
-
戻り値:
-
regcomp
関数と同じ戻り値 (成功の場合は 0、エラーが起きた場合は 0 以外、man regcomp
を参照)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.24. weechat_string_has_highlight
ハイライトしたい単語のリストを元に、1 箇所以上マッチする部分があるか調べる。
プロトタイプ:
引数:
-
string: 文字列、
-
highlight_words: ハイライトしたい単語のリスト、コンマ区切り
戻り値:
-
ハイライトしたい単語にマッチする部分が 1 箇所以上ある場合は 1、それ以外は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.25. weechat_string_has_highlight_regex
WeeChat バージョン 0.3.4 以上で利用可。
POSIX 拡張正規表現を使って、文字列中から正規表現にマッチする部分が 1
つ以上あるか確認。
文字列を正規表現にマッチさせるには、マッチする部分の前後に区切り文字
(アルファベット、"-"、"_"、"|" 以外) がなければいけません。
プロトタイプ:
引数:
-
string: 文字列
-
regex: POSIX 拡張正規表現
戻り値:
-
ハイライトしたい正規表現にマッチする部分が 1 箇所以上ある場合は 1、それ以外は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.26. weechat_string_replace
マッチした全ての文字列を別の文字列で置換。
プロトタイプ:
引数:
-
string: 文字列
-
search: マッチさせる文字列
-
replace: search を置き換える文字列
戻り値:
-
search を replace で置き換えた文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.27. weechat_string_replace_regex
WeeChat バージョン 1.0 以上で利用可。
文字列中のテキストを正規表現、置換先テキスト、任意指定のコールバックを使って置換。
プロトタイプ:
引数:
-
string: 文字列
-
regex: WeeChat 関数 weechat_string_regcomp または regcomp (
man regcomp
を参照) でコンパイルした正規表現へのポインタ (regex_t 構造体) -
replace: 置換先テキスト、以下のリファレンスを使うことができます:
-
$0
から$99
: 正規表現中の 0 から 99 番目のマッチ部分 (0 はマッチする部分全体、1 から 99 は括弧で括られたグループ) -
$+
: 最後にマッチした部分 (最大の番号を持つマッチ部分) -
$.*N
:*
で全ての文字を置換したN
番目 (+
または0
から99
を使うことができます) のマッチ部分 (*
文字は空白 (32) から~
(126) までの任意の文字を使うことができます)
-
-
reference_char: マッチ部分を参照するための文字 (通常は $)
-
callback: replace に含まれる各リファレンスに対して呼び出される任意指定可能なコールバック (マッチ部分を文字で置換する場合を除く); このコールバックは必ず以下の値を返してください:
-
新しく割り当てられた文字列: 文字列を置換先テキストとして使います (文字列は使用後に開放されます)
-
NULL: コールバックに渡されたテキストを置換先テキストとして使います (文字列に変更を加えません)
-
-
callback_data: コールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
置換されたテキストを含む文字、問題が起きた場合は NULL (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.28. weechat_string_split
1 つ以上の区切り文字に従って文字列を分割。
プロトタイプ:
引数:
-
string: 分割する文字列
-
separators: 分割に使う区切り文字
-
keep_eol:
-
0: 区切り文字ごとの文字列に分割
-
1: 文字列の最初から区切り文字までの文字列に分割 (下の例を参照)
-
2: 1 と同じだが、文字列の最後から区切り文字を削除しない (WeeChat バージョン 0.3.6 以上で利用可)
-
-
num_items_max: 分割回数の上限 (0 = 制限なし)
-
num_items: 分割回数を返す整数型変数へのポインタ
戻り値:
-
文字列の配列、分割に失敗した場合は NULL (使用後には必ず weechat_string_free_split を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.29. weechat_string_split_shell
WeeChat バージョン 1.0 以上で利用可。
コマンドを引数を分割する際にシェルがやるように文字列を分割。
この関数は Python クラス "shlex" の C 言語実装です (ファイル: Python リポジトリの Lib/shlex.py)、参照: http://docs.python.org/3/library/shlex.html
プロトタイプ:
引数:
-
string: 分割する文字列
-
num_items: 分割回数を返す整数型変数へのポインタ
戻り値:
-
文字列の配列、分割に失敗した場合は NULL (使用後には必ず weechat_string_free_split を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.30. weechat_string_free_split
文字列分割に使用したメモリを開放。
プロトタイプ:
引数:
-
split_string: 関数 weechat_string_split が返した分割文字列の配列
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.31. weechat_string_build_with_split_string
分割文字列から文字列を作る。
プロトタイプ:
引数:
-
split_string: 関数 weechat_string_split が返した分割文字列の配列
-
separator: 文字列を分割する区切り文字
戻り値:
-
分割文字列から作った文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.32. weechat_string_split_command
separator でコマンドのリストを分割 (コマンドに区切り文字を使う場合は "\" でエスケープ)。
プロトタイプ:
引数:
-
command: 分割するコマンド
-
separator: 区切り文字
戻り値:
-
文字列の配列、分割に失敗した場合は NULL (使用後には必ず weechat_free_split_command を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.33. weechat_string_free_split_command
コマンド分割で使用したメモリを開放。
プロトタイプ:
引数:
-
split_command: 関数 weechat_string_split_command が返す分割コマンドの配列
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.34. weechat_string_format_size
ファイルサイズと設定言語に翻訳された単位を書式に当てはめて文字列を作る
プロトタイプ:
引数:
-
size: サイズ (バイト単位)
戻り値:
-
書式に従う文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.35. weechat_string_remove_color
文字列から WeeChat 色コードを削除。
プロトタイプ:
引数:
-
string: 文字列
-
replacement: NULL または空文字列でなければ、WeeChat 色コードを指定した文字列の 1 文字目で置換、そうでなければ WeeChat 色コードとそれに続く (色に関連する) 文字を文字列から削除
戻り値:
-
色コードを削除した文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.36. weechat_string_encode_base64
WeeChat バージョン 0.3.2 以上で利用可。
文字列を base64 でエンコード。
プロトタイプ:
引数:
-
from: エンコード元文字列
-
length: エンコードする文字列の長さ (例えば
strlen(from)
) -
to: エンコード結果を保存する文字列へのポインタ (十分な領域を確保してください、結果はエンコード元文字列よりも長くなります)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.37. weechat_string_decode_base64
WeeChat バージョン 0.3.2 以上で利用可。
base64 文字列をデコード。
プロトタイプ:
引数:
-
from: デコード元文字列
-
to: デコード結果を保存する文字列へのポインタ (十分な領域を確保してください、結果はデコード元文字列よりも短くなります)
戻り値:
-
*to に保存された文字列の長さ (最後の \0 は数えません)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.2.38. weechat_string_is_command_char
WeeChat バージョン 0.3.2 以上で利用可。
文字列の 1 文字目がコマンド文字か確認 (デフォルトのコマンド文字は /)。
プロトタイプ:
引数:
-
string: 文字列
戻り値:
-
文字列の 1 文字目がコマンド文字の場合は 1、コマンド文字でない場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.39. weechat_string_input_for_buffer
WeeChat バージョン 0.3.2 以上で利用可。
文字列からバッファに入力される部分に対するポインタを返す ("string" 引数の内部へのポインタ)、コマンドの場合は NULL。
プロトタイプ:
引数:
-
string: 文字列
戻り値:
-
"string" の内部へのポインタまたは NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.2.40. weechat_string_eval_expression
WeeChat バージョン 0.4.0 以上で利用可、バージョン 0.4.2 と 1.1 で更新。
式を評価して文字列として返す。${variable}
という書式で書かれた特殊変数は展開されます (以下の表を参照)。
Note
|
バージョン 1.0 以降、入れ子変数を使えるようになりました、例: |
プロトタイプ:
引数:
-
expr: 評価する式 (以下の表を参照)
-
pointers: ポインタを含むハッシュテーブル (キーは文字列、値はポインタ); (現在のウィンドウやバッファへのポインタを持つ) ハッシュテーブルが "window" と "buffer" ポインタを持たない場合はこれらは自動的に追加される (NULL でも可):
-
regex: WeeChat 関数 weechat_string_regcomp または regcomp (
man regcomp
を参照) でコンパイル済みの正規表現へのポインタ (regex_t 構造体); このオプションは (以下の) ハッシュテーブル構造体 options メンバの regex とよく似ていますが、より高速に動作します
-
-
extra_vars: 展開される追加変数 (NULL でも可)
-
options: いくつかのオプションを含むハッシュテーブル (キーと値は必ず文字列) (NULL でも可):
-
type: デフォルトの挙動では式中の変数をその値で置換するだけです、その他に以下のタイプを使うことができます:
-
condition: 条件式として式を評価します: 演算子と括弧が使われます、結果はブール値 ("0" または "1") です
-
-
prefix: 置換する変数のプレフィックス (デフォルト: "${")
-
suffix: 置換する変数のサフィックス (デフォルト: "}")
-
regex: expr のテキストを置換する正規表現 (この場合 expr は評価されません)
-
regex_replace: regex と一緒に使われる置換テキスト、expr に含まれるテキストを置換する (regex_replace は、expr 内で regex 引数にマッチする部分が見つからなくなるまで、毎回評価されます)
-
戻り値:
-
評価された式 (使用後には必ず "free" を呼び出して領域を開放してください)、失敗した場合は NULL (式が不正な場合やメモリが不足している場合)
式中で展開される変数のリスト (優先度の高い順、展開順の早いものを上に遅いものを下に):
フォーマット | 説明 | 例 | 結果 |
---|---|---|---|
|
extra_vars の変数 |
|
|
|
エスケープ文字を含む文字列 |
|
|
|
隠す文字を含むテキスト ( |
|
|
|
正規表現のキャプチャグループ: 0 = マッチするすべての文字列、1 から 99 =
キャプチャされたグループ、 |
|
|
|
WeeChat 色コード (色名部分はオプション属性をとることも可能です) |
|
|
|
WeeChat またはプラグインのインフォ、weechat_info_get を参照 |
|
|
|
セキュアデータ |
|
|
|
オプションの値 |
|
|
|
バッファに対するローカル変数 |
|
|
|
hdata の値 ( |
|
|
C 言語での使用例:
スクリプト (Python) での使用例:
3.3. UTF-8
UTF-8 文字列関数。
3.3.1. weechat_utf8_has_8bits
文字列に 8 ビット文字が含まれているか確認。
プロトタイプ:
引数:
-
string: 文字列
戻り値:
-
文字列に 8 ビット文字が含まれる場合は 1、7 ビット文字だけの場合は 0
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.2. weechat_utf8_is_valid
文字列が妥当な UTF-8 表現か確認。
プロトタイプ:
引数:
-
string: 文字列
-
error: NULL でない場合は error は文字列に含まれる最初の妥当でない UTF-8 文字へのポインタ
戻り値:
-
妥当な UTF-8 文字列の場合は 1、妥当でない場合は 0
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.3. weechat_utf8_normalize
UTF-8 文字列を正規化: 非 UTF-8 文字を削除し、これらを文字で置換。
プロトタイプ:
引数:
-
string: 文字列
-
replacement: 非 UTF-8 文字を置き換える文字
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.4. weechat_utf8_prev_char
文字列中の 1 つ前の UTF-8 文字へのポインタを返す。
プロトタイプ:
引数:
-
string_start: 文字列の開始位置へのポインタ (関数はこのポインタよりも前の文字を返しません)
-
string: 文字列へのポインタ (必ず string_start 以上の値)
戻り値:
-
1 つ前の UTF-8 文字へのポインタ、見つからなければ (文字列の開始位置に到達した場合は) NULL
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.5. weechat_utf8_next_char
文字列中の 1 つ後の UTF-8 文字へのポインタを返す。
プロトタイプ:
引数:
-
string: 文字列
戻り値:
-
1 つ後の UTF-8 文字へのポインタ、見つからなければ (文字列の最後に到達した場合は) NULL
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.6. weechat_utf8_char_int
UTF-8 文字を整数で返す。
プロトタイプ:
引数:
-
string: 文字列
戻り値:
-
UTF-8 文字の整数表現
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.7. weechat_utf8_char_size
UTF-8 文字のサイズを返す (バイト単位)。
プロトタイプ:
引数:
-
string: 文字列
戻り値:
-
UTF-8 文字のサイズ (バイト単位)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.8. weechat_utf8_strlen
UTF-8 文字の長さを返す (UTF-8 文字の個数)。
プロトタイプ:
引数:
-
string: 文字列
戻り値:
-
UTF-8 文字列の長さ (UTF-8 文字の個数)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.9. weechat_utf8_strnlen
文字列の bytes バイト目までに含まれる UTF-8 文字列の長さを返す (UTF-8 文字の個数)。
プロトタイプ:
引数:
-
string: 文字列
-
bytes: バイト数の上限
戻り値:
-
UTF-8 文字列の長さ (UTF-8 文字の個数)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.10. weechat_utf8_strlen_screen
UTF-8 文字列をスクリーン上に表示するために必要なスクリーン幅を返す。
プロトタイプ:
引数:
-
string: 文字列
戻り値:
-
UTF-8 文字列をスクリーン上に表示するために必要なスクリーン幅。
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.11. weechat_utf8_charcmp
バージョン 1.0 で更新。
2 つの UTF-8 文字を比較。
プロトタイプ:
引数:
-
string1: 1 番目の比較文字列
-
string2: 2 番目の比較文字列
戻り値:
-
string1 < string2 の場合は -1
-
string1 == string2 の場合は 0
-
string1 > string2 の場合は 1
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.12. weechat_utf8_charcasecmp
バージョン 1.0 で更新。
大文字小文字の違いを無視して、2 つの UTF-8 文字を比較。
プロトタイプ:
引数:
-
string1: 1 番目の比較文字列
-
string2: 2 番目の比較文字列
戻り値:
-
string1 < string2 の場合は -1
-
string1 == string2 の場合は 0
-
string1 > string2 の場合は 1
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.13. weechat_utf8_char_size_screen
UTF-8 文字をスクリーン上に表示するために必要なスクリーン幅を返す。
プロトタイプ:
引数:
-
string: 文字列
戻り値:
-
UTF-8 文字をスクリーン上に表示するために必要なスクリーン幅
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.14. weechat_utf8_add_offset
UTF-8 文字列で N 文字前に進む。
プロトタイプ:
引数:
-
string: 文字列
-
offset: 文字数
戻り値:
-
文字列の N 文字後に進んだ位置へのポインタ (元文字列の最後より後の位置を指す場合は NULL)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.15. weechat_utf8_real_pos
UTF-8 文字列中の真の位置を返す。
プロトタイプ:
引数:
-
string: 文字列
-
pos: 位置 (文字目)
戻り値:
-
真の位置 (バイト目)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.16. weechat_utf8_pos
UTF-8 文字列中の位置を返す。
プロトタイプ:
引数:
-
string: 文字列
-
real_pos: 真の位置 (バイト目)
戻り値:
-
位置 (文字目)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.3.17. weechat_utf8_strndup
最長 length 文字の複製された文字列を返す。
プロトタイプ:
引数:
-
string: 文字列
-
length: 複製する文字数の最大値
戻り値:
-
複製された文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.4. ディレクトリ
ディレクトリに関する関数。
3.4.1. weechat_mkdir_home
WeeChat ホームディレクトリの下にディレクトリを作成。
プロトタイプ:
引数:
-
directory: 作成するディレクトリの名前
-
mode: ディレクトリのモード
戻り値:
-
ディレクトリの作成に成功した場合は 1、エラーが起きた場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.4.2. weechat_mkdir
ディレクトリを作成。
プロトタイプ:
引数:
-
directory: 作成するディレクトリの名前
-
mode: ディレクトリのモード
戻り値:
-
ディレクトリの作成に成功した場合は 1、エラーが起きた場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.4.3. weechat_mkdir_parents
ディレクトリの作成と必要に応じて親ディレクトリの作成を行う。
プロトタイプ:
引数:
-
directory: 作成するディレクトリの名前
-
mode: ディレクトリのモード
戻り値:
-
ディレクトリの作成に成功した場合は 1、エラーが起きた場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.4.4. weechat_exec_on_files
ディレクトリ中のファイルを探し、各ファイルに対してコールバックを実行。
プロトタイプ:
引数:
-
directory: ファイルを検索するディレクトリ
-
hidden_files: 検索対象に隠しファイルを含める場合は 1、含めない場合は 0
-
data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
-
callback: 各ファイルに対して呼び出す関数、引数:
-
void *data: ポインタ
-
const char *filename: 見つかったファイルの名前
-
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.4.5. weechat_file_get_content
WeeChat バージョン 0.3.1 以上で利用可。
テキストファイルの内容を文字列に代入。
プロトタイプ:
引数:
-
filename: パスやファイル名
戻り値:
-
ファイルの内容を含む文字列 (使用後には必ず "free" を呼び出して領域を開放してください)
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.5. ユーティリティ
便利な関数。
3.5.1. weechat_util_timeval_cmp
2 つの "timeval" 構造体を比較。
プロトタイプ:
引数:
-
tv1: 1 番目の "timeval" 構造体
-
tv2: 2 番目の "timeval" 構造体
戻り値:
-
tv1 < tv2 の場合は -1
-
tv1 == tv2 の場合は 0
-
tv1 > tv2 の場合は +1
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.5.2. weechat_util_timeval_diff
バージョン 1.1 で更新。
2 つの "timeval" 構造体の差を返す (マイクロ秒単位)。
プロトタイプ:
引数:
-
tv1: 1 番目の "timeval" 構造体
-
tv2: 2 番目の "timeval" 構造体
戻り値:
-
マイクロ秒単位の差
Note
|
WeeChat バージョン 1.0 以前の場合、戻り値の単位はミリ秒でした。 |
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.5.3. weechat_util_timeval_add
バージョン 1.1 で更新。
timeval 構造体に時間間隔を追加 (マイクロ秒単位)。
プロトタイプ:
引数:
-
tv: timeval 構造体
-
interval: 時間間隔 (マイクロ秒単位)
Note
|
WeeChat バージョン 1.0 以前の場合、時間間隔の単位はミリ秒でした。 |
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.5.4. weechat_util_get_time_string
WeeChat バージョン 0.3.2 以上で利用可。
日付や時間を "strftime" で作った文字列で取得。
プロトタイプ:
引数:
-
date: 日付へのポインタ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.5.5. weechat_util_version_number
WeeChat バージョン 0.3.9 以上で利用可。
WeeChat バージョンの文字列を番号に変換。
プロトタイプ:
引数:
-
version: WeeChat バージョン文字列 (例: "0.3.9" や "0.3.9-dev")
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.6. ソート済みリスト
ソート済みリスト関数。
3.6.1. weechat_list_new
新しいリストを作成。
プロトタイプ:
戻り値:
-
新しいリストへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.2. weechat_list_add
リストに要素を追加。
プロトタイプ:
引数:
-
weelist: リストへのポインタ
-
data: リストに追加するデータ
-
where: データを追加する場所:
-
WEECHAT_LIST_POS_SORT: リストに追加、リストをソートされた状態を保持
-
WEECHAT_LIST_POS_BEGINNING: リストの最初に追加
-
WEECHAT_LIST_POS_END: リストの最後に追加
-
-
user_data: 任意のポインタ
戻り値:
-
新しい要素へのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.3. weechat_list_search
リストから要素を検索。
プロトタイプ:
引数:
-
weelist: リストへのポインタ
-
data: リストから検索するデータ
戻り値:
-
見つかった要素へのポインタ、見つからなかった場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.4. weechat_list_search_pos
WeeChat バージョン 0.3.4 以上で利用可。
リストから要素の位置を検索。
プロトタイプ:
引数:
-
weelist: リストへのポインタ
-
data: リストから検索するデータ
戻り値:
-
見つかった要素の位置、見つからなかった場合は -1
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.5. weechat_list_casesearch
大文字小文字を無視してリストから要素を検索。
プロトタイプ:
引数:
-
weelist: リストへのポインタ
-
data: リストから検索するデータ
戻り値:
-
見つかった要素へのポインタ、見つからなかった場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.6. weechat_list_casesearch_pos
WeeChat バージョン 0.3.4 以上で利用可。
大文字小文字を無視してリストから要素の位置を検索。
プロトタイプ:
引数:
-
weelist: リストへのポインタ
-
data: リストから検索するデータ
戻り値:
-
見つかった要素の位置、見つからなかった場合は -1
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.7. weechat_list_get
リスト中の位置を指定して要素を返す。
プロトタイプ:
引数:
-
weelist: リストへのポインタ
-
position: リスト中の位置 (1 番目の要素は 0)
戻り値:
-
見つかった要素へのポインタ、見つからなかった場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.8. weechat_list_set
ある要素に新しい値をセット。
プロトタイプ:
引数:
-
item: 要素へのポインタ
-
value: 要素にセットする新しい値
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.9. weechat_list_next
リストから 1 つ後の要素を返す。
プロトタイプ:
引数:
-
item: 要素へのポインタ
戻り値:
-
1 つ後の要素へのポインタ、ポインタがリストの最後を指す場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.10. weechat_list_prev
リストから 1 つ前の要素を返す。
プロトタイプ:
引数:
-
item: 要素へのポインタ
戻り値:
-
1 つ前の要素へのポインタ、ポインタがリストの最初を指す場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.11. weechat_list_string
ある要素の文字列値を返す。
プロトタイプ:
引数:
-
item: 要素へのポインタ
戻り値:
-
要素の文字列値
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.12. weechat_list_size
リストのサイズ (要素の個数) を返す。
プロトタイプ:
引数:
-
weelist: 要素へのポインタ
戻り値:
-
リストのサイズ (要素の個数)、リストが空の場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.13. weechat_list_remove
ある要素をリストから削除。
プロトタイプ:
引数:
-
weelist: リストへのポインタ
-
item: 要素へのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.14. weechat_list_remove_all
あるリストの要素をすべて削除。
プロトタイプ:
引数:
-
weelist: リストへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.6.15. weechat_list_free
リストを開放。
プロトタイプ:
引数:
-
weelist: リストへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.7. ハッシュテーブル
ハッシュテーブル関数。
3.7.1. weechat_hashtable_new
WeeChat バージョン 0.3.3 以上で利用可。
新しいハッシュテーブルを作成。
プロトタイプ:
引数:
-
size: ハッシュキーを保存している内部配列のサイズ、値が大きければ多くのメモリを使う反面パフォーマンスがよくなります (これはハッシュテーブルの要素数の上限を決めるものではありません)
-
type_keys: ハッシュテーブルのキーの種類:
-
WEECHAT_HASHTABLE_INTEGER
-
WEECHAT_HASHTABLE_STRING
-
WEECHAT_HASHTABLE_POINTER
-
WEECHAT_HASHTABLE_BUFFER
-
WEECHAT_HASHTABLE_TIME
-
-
type_values: ハッシュテーブルの値の種類:
-
WEECHAT_HASHTABLE_INTEGER
-
WEECHAT_HASHTABLE_STRING
-
WEECHAT_HASHTABLE_POINTER
-
WEECHAT_HASHTABLE_BUFFER
-
WEECHAT_HASHTABLE_TIME
-
-
callback_hash_key: キーを"ハッシュ化"する (キーを整数値にする) 際のコールバック、キーの種類が "buffer" 以外の場合、コールバックは NULL でも可 (デフォルトのハッシュ関数を使います)、引数と戻り値:
-
struct t_hashtable *hashtable: ハッシュテーブルへのポインタ
-
const void *key: キー
-
戻り値: キーのハッシュ値
-
-
callback_keycmp: 2 つのキーを比較する際のコールバック、キーの種類が "buffer" 以外の場合、コールバックは NULL でも可 (デフォルトの比較関数を使います)、引数と戻り値:
-
struct t_hashtable *hashtable: ハッシュテーブルへのポインタ
-
const void *key1: 1 番目のキー
-
const void *key2: 2 番目のキー
-
戻り値:
-
key1 が key2 より小さい場合は負
-
key1 が key2 と同じ場合はゼロ
-
key1 が key2 より大きい場合は正
-
-
戻り値:
-
新しいハッシュテーブルへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.2. weechat_hashtable_set_with_size
WeeChat バージョン 0.3.3 以上で利用可、バージョン 0.4.2 で更新。
キーと値のサイズを使ってハッシュテーブルの要素を追加または更新。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
-
key: キーへのポインタ
-
key_size: キーのサイズ (バイト単位)、ハッシュテーブルのキーの種類が "buffer" の場合のみ使用
-
value: 値へのポインタ
-
value_size: 値のサイズ (バイト単位)、ハッシュテーブルの値の種類が "buffer" の場合のみ使用
戻り値:
-
作成または更新された要素へのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.3. weechat_hashtable_set
WeeChat バージョン 0.3.3 以上で利用可、バージョン 0.4.2 で更新。
ハッシュテーブルの要素を追加または更新。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
-
key: キーへのポインタ
-
value: 値へのポインタ
戻り値:
-
作成または更新された要素へのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.4. weechat_hashtable_get
WeeChat バージョン 0.3.3 以上で利用可。
ハッシュテーブルからキーに紐付けられた値を取得。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
-
key: キーへのポインタ
戻り値:
-
キーに対応する値、キーが見つからない場合は NULL
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.5. weechat_hashtable_has_key
WeeChat バージョン 0.3.4 以上で利用可。
ハッシュテーブル内にキーが有るか確認する。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
-
key: キーへのポインタ
戻り値:
-
ハッシュテーブル内にキーが有る場合は 1、無い場合は 0
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.6. weechat_hashtable_map
WeeChat バージョン 0.3.3 以上で利用可。
ハッシュテーブルのすべてのエントリに対して関数を呼び出す。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
-
callback_map: ハッシュテーブルの各のエントリに対して呼び出す関数
-
callback_map_data: コールバックを呼び出す際のコールバックの結果保存先へのポインタ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.7. weechat_hashtable_map_string
WeeChat バージョン 0.3.7 以上で利用可。
ハッシュテーブルのすべてのエントリに対して関数を呼び出す、キーと値を文字列として関数に渡す。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
-
callback_map: ハッシュテーブルの各のエントリに対して呼び出す関数
-
callback_map_data: コールバックを呼び出した際のコールバックの結果保存先へのポインタ
Note
|
コールバックに渡される文字列 key と value は一時的な文字列で、コールバックの呼び出しが終了したら削除されます。 |
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.8. weechat_hashtable_dup
WeeChat バージョン 1.0 以上で利用可。
ハッシュテーブルを複製。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
戻り値:
-
複製されたハッシュテーブ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.9. weechat_hashtable_get_integer
WeeChat バージョン 0.3.3 以上で利用可。
ハッシュテーブルプロパティの整数値を返す。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
-
property: プロパティ名:
-
size: ハッシュテーブルの内部配列 "htable" のサイズ
-
items_count: ハッシュテーブルに含まれる要素の数
-
戻り値:
-
プロパティの整数値
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.10. weechat_hashtable_get_string
WeeChat バージョン 0.3.4 以上で利用可。
ハッシュテーブルプロパティを文字列値で返す。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
-
property: プロパティ名:
-
type_keys: キーの型:
-
integer: 整数
-
string: 文字列
-
pointer: ポインタ
-
buffer: バッファ
-
time: 時間
-
-
type_values: 値の型:
-
integer: 整数
-
string: 文字列
-
pointer: ポインタ
-
buffer: バッファ
-
time: 時間
-
-
keys: キーのリストを含む文字列 (フォーマット: "key1,key2,key3")
-
keys_sorted: ソートされたキーのリストを含む文字列 (フォーマット: "key1,key2,key3")
-
values: 値のリストを含む文字列 (フォーマット: "value1,value2,value3")
-
keys_values: リストのキーと値を含む文字列 (フォーマット: "key1:value1,key2:value2,key3:value3")
-
keys_values_sorted: リストのキーと値を含む文字列 (キーでソート) (フォーマット: "key1:value1,key2:value2,key3:value3")
-
戻り値:
-
プロパティに対する結果の文字列
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.11. weechat_hashtable_set_pointer
WeeChat バージョン 0.3.4 以上で利用可。
ハッシュテーブルのポインタ値を設定。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
-
property: プロパティ名:
-
callback_free_key: ハッシュテーブルからキーを開放する際のコールバック関数 (WeeChat バージョン 0.4.2 以上で利用可)
-
callback_free_value: ハッシュテーブルから値を開放する際のコールバック関数
-
-
pointer: プロパティの新しいポインタ値
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.12. weechat_hashtable_add_to_infolist
WeeChat バージョン 0.3.3 以上で利用可。
ハッシュテーブルの要素をインフォリスト要素に追加
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
-
infolist_item: infolist 要素へのポインタ
-
prefix: infolist で名前のプレフィックスとして使う文字列
戻り値:
-
成功した場合は 1、エラーが起きた場合は 0
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.13. weechat_hashtable_remove
WeeChat バージョン 0.3.3 以上で利用可。
ハッシュテーブルから要素を削除。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
-
key: キーへのポインタ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.14. weechat_hashtable_remove_all
WeeChat バージョン 0.3.3 以上で利用可。
ハッシュテーブルからすべての要素を削除。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.7.15. weechat_hashtable_free
WeeChat バージョン 0.3.3 以上で利用可。
ハッシュテーブルを開放。
プロトタイプ:
引数:
-
hashtable: ハッシュテーブルへのポインタ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.8. 設定ファイル
設定ファイルに関する関数。
3.8.1. weechat_config_new
新しい設定ファイルを作成。
プロトタイプ:
引数:
-
name: 設定ファイルの名前 (パスと拡張子は不要)
-
callback_reload:
/reload
で設定ファイルを再読み込みする際に呼び出す関数 (任意、NULL でも可)、引数と戻り値:-
void *data: ポインタ
-
struct t_config_file *config_file: 設定ファイルへのポインタ
-
戻り値:
-
WEECHAT_CONFIG_READ_OK
-
WEECHAT_CONFIG_READ_MEMORY_ERROR
-
WEECHAT_CONFIG_READ_FILE_NOT_FOUND
-
-
-
callback_reload_data: WeeChat が reload コールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しい設定ファイルへのポインタ、エラーが起きた場合は NULL
Note
|
この関数はディスク上にファイルを作りません。ファイルを作るには weechat_config_write 関数を使ってください。この関数を呼び出す必要があるのは (weechat_config_new_section を使って) セクションもしくは (weechat_config_new_option を使って) オプションを追加した後だけです。 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.2. weechat_config_new_section
設定ファイルに新しいセクションを作成する。
プロトタイプ:
引数:
-
config_file: 設定ファイルへのポインタ
-
name: セクションの名前
-
user_can_add_options: ユーザがこのセクションに新しいオプションを作成することを許可する場合は 1、禁止する場合は 0
-
user_can_delete_options: ユーザがこのセクションからオプションを削除することを許可する場合は 1、禁止する場合は 0
-
callback_read: このセクションに含まれるオプションがディスクから読まれた際に呼び出す関数 (特別な関数を使ってセクションを読み出す必要がある場合を除いて、殆どの場合は NULL を指定する)、引数と戻り値:
-
void *data: ポインタ
-
struct t_config_file *config_file: 設定ファイルへのポインタ
-
struct t_config_section *section: セクションへのポインタ
-
const char *option_name: オプションの名前
-
const char *value: 値
-
戻り値:
-
WEECHAT_CONFIG_READ_OK
-
WEECHAT_CONFIG_READ_MEMORY_ERROR
-
WEECHAT_CONFIG_READ_FILE_NOT_FOUND
-
-
-
callback_read_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
-
callback_write: セクションをファイルに書き込む際に呼び出す関数 (特別な関数を使ってセクションを書き込む必要がある場合を除いて、殆どの場合は NULL を指定する)、引数と戻り値:
-
void *data: ポインタ
-
struct t_config_file *config_file: 設定ファイルへのポインタ
-
struct t_config_section *section: セクションへのポインタ
-
const char *option_name: オプションの名前
-
戻り値:
-
WEECHAT_CONFIG_WRITE_OK
-
WEECHAT_CONFIG_WRITE_ERROR
-
WEECHAT_CONFIG_WRITE_MEMORY_ERROR
-
-
-
callback_write_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
-
callback_write_default: セクションのデフォルト値が必ずファイルに書き込まれる際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
struct t_config_file *config_file: 設定ファイルへのポインタ
-
const char *section_name: セクションの名前
-
戻り値:
-
WEECHAT_CONFIG_WRITE_OK
-
WEECHAT_CONFIG_WRITE_ERROR
-
WEECHAT_CONFIG_WRITE_MEMORY_ERROR
-
-
-
callback_write_default_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
-
callback_create_option: セクションに新しいオプションを作成する際に呼び出す関数 (セクションに新しいオプションを作成することを禁止する場合は NULL)、引数と戻り値:
-
void *data: ポインタ
-
struct t_config_file *config_file: 設定ファイルへのポインタ
-
struct t_config_section *section: セクションへのポインタ
-
const char *option_name: オプションの名前
-
const char *value: 値
-
戻り値:
-
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
-
-
-
callback_create_option_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
-
callback_delete_option: セクションからオプションを削除する際に呼び出す関数 (セクションからオプションを削除することを禁止する場合は NULL)、引数と戻り値:
-
void *data: ポインタ
-
struct t_config_file *config_file: 設定ファイルへのポインタ
-
struct t_config_section *section: セクションへのポインタ
-
struct t_config_option *option: オプションへのポインタ
-
戻り値:
-
WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET
-
WEECHAT_CONFIG_OPTION_UNSET_OK_RESET
-
WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED
-
WEECHAT_CONFIG_OPTION_UNSET_ERROR
-
-
-
callback_delete_option_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
設定ファイルの新しいセクションへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.3. weechat_config_search_section
設定ファイルからセクションを検索。
プロトタイプ:
引数:
-
config_file: 設定ファイルへのポインタ
-
section_name: 検索するセクションの名前
戻り値:
-
セクションが見つかった場合はセクションへのポインタ、見つからなかった場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.4. weechat_config_new_option
設定ファイルのあるセクションに新しいオプションを作成。
プロトタイプ:
引数:
-
config_file: 設定ファイルへのポインタ
-
section: セクションへのポインタ
-
name: オプションの名前
-
type: オプションの型:
-
boolean: ブール値 (on/off)
-
integer: 整数値 (任意で文字列を受けるようにすることも可)
-
string: 文字列
-
color: 色
-
-
description: オプションの説明
-
string_values: 文字列で値を受ける ("|" で区切る)、integer 型の場合に使う (任意)
-
min: 最小値 (integer 型で有効)
-
max: 最大値 (integer 型で有効)
-
default_value: オプションのデフォルト値 (オプションをリセットした際に使われる)
-
value: オプションの値
-
null_value_allowed: オプションに null (未定義値) を設定することを許可する場合に 1、禁止する場合は 0
-
callback_check_value: オプションの新しい値をチェックする際に呼び出す関数 (任意)、引数と戻り値:
-
void *data: ポインタ
-
struct t_config_option *option: オプションへのポインタ
-
const char *value: オプションの新しい値
-
戻り値:
-
値が有効の場合は 1
-
値が無効の場合は 0
-
-
-
callback_check_value_data: WeeChat が check_value コールバックを呼び出す際にコールバックに渡すポインタ
-
callback_change: オプションの値を変更した際に呼び出す関数 (任意)、引数:
-
void *data: ポインタ
-
struct t_config_option *option: オプションへのポインタ
-
-
callback_change_data: WeeChat が change コールバックを呼び出す際にコールバックに渡すポインタ
-
callback_delete: オプションを削除する前に際に呼び出す関数 (任意)、引数:
-
void *data: ポインタ
-
struct t_config_option *option: オプションへのポインタ
-
-
callback_delete_data: WeeChat が delete コールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
セクションの新しいオプションへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
Note
|
Ruby では、3 組のコールバックとデータ (合わせて 6 つの文字列) を渡すために必ず 6 つの文字列をからなる配列を 1 つ渡してください (これは Ruby が 関数に 15 個以上の引数を渡せないことが原因です)、より詳しい情報は WeeChat スクリプト作成ガイド を参照してください (バージョン 0.4.1 で修正済み) 。 |
3.8.5. weechat_config_search_option
設定ファイルのセクションからオプションを検索。
プロトタイプ:
引数:
-
config_file: 設定ファイルへのポインタ
-
section: セクションへのポインタ
-
name: 検索するオプションの名前
戻り値:
-
オプションが見つかった場合はオプションへのポインタ、見つからなかった場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.6. weechat_config_search_section_option
設定ファイルまたはセクションからセクションやオプションを検索。
プロトタイプ:
引数:
-
config_file: 設定ファイルへのポインタ
-
section: セクションへのポインタ
-
option_name: オプション名
-
section_found: セクションへのポインタへのポインタ、 これは見つかったオプションのセクションになります
-
option_found: オプションへのポインタへのポインタ、 これは見つかったオプションのへのポインタになります
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.8.7. weechat_config_search_with_string
ファイル/セクション/オプションの情報をオプションを完全な名前で検索。
プロトタイプ:
引数:
-
option_name: オプションの完全な名前 (フォーマット: "file.section.option")
-
config_file: 設定ファイルへのポインタへのポインタ、 これは見つかったオプションの設定ファイルへのポインタになります
-
section: セクションへのポインタのポインタ、 これは見つかったオプションのセクションになります
-
option: オプションへのポインタのポインタ、 これは見つかったオプションへのポインタになります
-
pos_option_name: 文字列へのポインタへのポインタ、 これはオプション名へのポインタになります
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.8.8. weechat_config_string_to_boolean
テキストがブール値としての "true" または "false" かをチェック。
プロトタイプ:
引数:
-
text: チェックするテキスト
戻り値:
-
テキストが "true" ("on"、"yes"、"y"、"true"、"t"、"1") の場合は 1
-
テキストが "false" ("off"、"no"、"n"、"false"、"f"、"0") の場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.9. weechat_config_option_reset
オプションをデフォルト値にリセット。
プロトタイプ:
引数:
-
option: オプションへのポインタ
-
run_callback: オプションを変更する際に、コールバックを呼び出す場合は 1、呼び出さない場合は 0
戻り値:
-
オプションの値がリセットされた場合は WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
-
値が変更されなかった場合は WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
-
エラーが起きた場合は WEECHAT_CONFIG_OPTION_SET_ERROR
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.10. weechat_config_option_set
オプションに新しい値を設定。
プロトタイプ:
引数:
-
option: オプションへのポインタ
-
value: オプションの新しい値
-
run_callback: オプションが変更された際に、change コールバックを呼び出す場合は 1、呼び出さない場合は 0
戻り値:
-
オプションの値が変更された場合は WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
-
値が変更されなかった場合は WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
-
エラーが起きた場合は WEECHAT_CONFIG_OPTION_SET_ERROR
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.11. weechat_config_option_set_null
あるオプションに null (未定義値) を設定する。
プロトタイプ:
引数:
-
option: オプションへのポインタ
-
run_callback: オプションが (null 以外の値に) 変更された際に、change コールバックを呼び出す場合は 1、呼び出さない場合は 0
Note
|
オプションに null を設定することが許可されている場合にのみ null を設定できます (weechat_config_new_option を参照)。 |
戻り値:
-
オプション値が変更された場合は WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
-
値が変更されなかった場合は WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
-
エラーが起きた場合は WEECHAT_CONFIG_OPTION_SET_ERROR
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.12. weechat_config_option_unset
オプションをアンセット/リセットする。
プロトタイプ:
引数:
-
option: オプションへのポインタ
戻り値:
-
オプションの値がリセットされなかった場合は WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET
-
オプションの値がリセットされた場合は WEECHAT_CONFIG_OPTION_UNSET_OK_RESET
-
オプションが削除された場合は WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED
-
エラーが起きた場合は WEECHAT_CONFIG_OPTION_UNSET_ERROR
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.13. weechat_config_option_rename
オプションをリネーム。
プロトタイプ:
引数:
-
option: オプションへのポインタ
-
new_name: オプションの新しい名前
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.14. weechat_config_option_get_pointer
あるオプションのプロパティへのポインタを返す。
プロトタイプ:
引数:
-
option: オプションへのポインタ
-
property: プロパティ名:
-
config_file: 設定ファイルへのポインタ (struct t_config_file *)
-
section: セクションへのポインタ (struct t_config_section *)
-
name: オプション名 (char *)
-
type: オプションの型 (int *)
-
description: オプションの説明 (char *)
-
string_values: 文字列値 (char *)
-
min: 最大値 (int *)
-
max: 最小値 (int *)
-
default_value: デフォルト値 (オプションの型に依存)
-
value: 現在の値 (オプションの型に依存)
-
prev_option: 1 つ前のオプションへのポインタ (struct t_config_option *)
-
next_option: 1 つ後のオプションへのポインタ (struct t_config_option *)
-
戻り値:
-
要求されたプロパティへのポインタ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.8.15. weechat_config_option_is_null
オプションの値が "null" (未定義値) か否かを確認。
プロトタイプ:
引数:
-
option: オプションへのポインタ
戻り値:
-
オプションの値が "null" の場合は 1
-
オプションの値が "null" でない場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.16. weechat_config_option_default_is_null
あるオプションのデフォルト値が "null" (未定義値) か否かを確認。
プロトタイプ:
引数:
-
option: オプションへのポインタ
戻り値:
-
オプションの値が "null" の場合は 1
-
オプションの値が "null" でない場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.17. weechat_config_boolean
オプションのブール値を返す。
プロトタイプ:
引数:
-
option: オプションへのポインタ
戻り値:
-
オプションのブール値 (0 または 1)
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.18. weechat_config_boolean_default
オプションのデフォルトブール値を返す。
プロトタイプ:
引数:
-
option: オプションへのポインタ
戻り値:
-
オプションのデフォルトブール値 (0 または 1)
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.19. weechat_config_integer
オプションの整数値を返す。
プロトタイプ:
引数:
-
option: オプションへのポインタ
戻り値:
-
オプションの整数値
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.20. weechat_config_integer_default
オプションのデフォルト整数値を返す。
プロトタイプ:
引数:
-
option: オプションへのポインタ
戻り値:
-
オプションのデフォルト整数値
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.21. weechat_config_string
オプションの文字列値を返す。
プロトタイプ:
引数:
-
option: オプションへのポインタ
戻り値:
-
オプションの文字列値
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.22. weechat_config_string_default
オプションのデフォルト文字列値を返す。
プロトタイプ:
引数:
-
option: オプションへのポインタ
戻り値:
-
オプションのデフォルト文字列値
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.23. weechat_config_color
オプションの色値を返す。
プロトタイプ:
引数:
-
option: オプションへのポインタ
戻り値:
-
オプションの色値 (色の名前を収めた文字列)
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.24. weechat_config_color_default
オプションのデフォルト色値を返す。
プロトタイプ:
引数:
-
option: オプションへのポインタ
戻り値:
-
オプションのデフォルト色値 (色の名前を収めた文字列)
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.25. weechat_config_write_option
設定ファイルにオプションとその値を収めた行を書き込む (この関数をセクションの "write" および "write_default" コールバック以外で使わないでください)。
プロトタイプ:
引数:
-
config_file: 設定ファイルへのポインタ
-
option: オプションへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.26. weechat_config_write_line
設定ファイルに行を書き込む (この関数をセクションの "write" および "write_default" コールバック以外で使わないでください)
プロトタイプ:
引数:
-
config_file: 設定ファイルへのポインタ
-
option_name: オプション名
-
value: 値 (NULL の場合、セクション名の行を書き込みます。例: "[section]")
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.27. weechat_config_write
設定ファイルをディスクに書き込む。
プロトタイプ:
引数:
-
config_file: 設定ファイルへのポインタ
戻り値:
-
設定を書き込んだ場合は WEECHAT_CONFIG_WRITE_OK
-
メモリ不足の場合は WEECHAT_CONFIG_WRITE_MEMORY_ERROR
-
その他のエラーが起きた場合は WEECHAT_CONFIG_WRITE_ERROR
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.28. weechat_config_read
設定ファイルをディスクから読み込む。
プロトタイプ:
引数:
-
config_file: 設定ファイルへのポインタ
戻り値:
-
設定ファイルを読み込んだ場合は WEECHAT_CONFIG_READ_OK
-
メモリ不足の場合は WEECHAT_CONFIG_READ_MEMORY_ERROR
-
ファイルが見つからない場合は WEECHAT_CONFIG_READ_FILE_NOT_FOUND
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.29. weechat_config_reload
設定ファイルをディスクから再読み込みする。
プロトタイプ:
引数:
-
config_file: 設定ファイルへのポインタ
戻り値:
-
設定を再読み込みした場合は WEECHAT_CONFIG_READ_OK
-
メモリ不足の合は WEECHAT_CONFIG_READ_MEMORY_ERROR
-
ファイルが見つからない場合は WEECHAT_CONFIG_READ_FILE_NOT_FOUND
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.30. weechat_config_option_free
オプションを開放。
プロトタイプ:
引数:
-
option: オプションへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.31. weechat_config_section_free_options
セクションの全てのオプションを開放。
プロトタイプ:
引数:
-
section: セクションへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.32. weechat_config_section_free
セクションを開放。
プロトタイプ:
引数:
-
section: セクションへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.33. weechat_config_free
設定ファイルを開放。
プロトタイプ:
引数:
-
config_file: 設定ファイルへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.34. weechat_config_get
完全な名前でオプションを検索。
プロトタイプ:
引数:
-
option_name: オプションの完全な名前 (フォーマット: "file.section.option")
戻り値:
-
見つかったオプションへのポインタ、見つからなかった場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.35. weechat_config_get_plugin
プラグインの設定ファイル (plugins.conf) からオプションを検索。
プロトタイプ:
引数:
-
option_name: オプション名、プレフィックス "plugins.var.xxx." が自動的に付けられる (ここで "xxx" は現在のプラグイン名)。
戻り値:
-
見つかったオプションの値、オプションが見つからなければ NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.36. weechat_config_is_set_plugin
オプションがプラグインの設定ファイル (plugins.conf) で設定されているか否かを確認。
プロトタイプ:
引数:
-
option_name: オプション名、プレフィックス "plugins.var.xxx." が自動的に付けられる (ここで "xxx" は現在のプラグイン名)。
戻り値:
-
オプションが設定されている場合は 1、オプションが存在しない場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.37. weechat_config_set_plugin
プラグイン設定ファイル (plugins.conf) のオプションの新しい値を設定。
プロトタイプ:
引数:
-
option_name: オプション名、プレフィックス "plugins.var.xxx." が自動的に付けられる (ここで "xxx" は現在のプラグイン名)。
-
value: オプションの新しい値
戻り値:
-
オプションの値を変更した場合は WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
-
値を変更しなかった場合は WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
-
オプションが見つからない場合は WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND
-
その他のエラーが起きた場合は WEECHAT_CONFIG_OPTION_SET_ERROR
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.38. weechat_config_set_desc_plugin
WeeChat バージョン 0.3.5 以上で利用可。
プラグイン設定ファイル (plugins.conf) のオプションに関する説明を設定。
プロトタイプ:
引数:
-
option_name: オプション名、プレフィックス "plugins.var.xxx." が自動的に付けられる (ここで "xxx" は現在のプラグイン名)。
-
description: オプションの説明
Note
|
オプション (plugins.var.xxx.option_name) が存在しなくても問題ありません。この説明を持つような名前のオプションが作成されます。 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.8.39. weechat_config_unset_plugin
プラグイン設定ファイル (plugins.conf) のオプションをアンセットする。
プロトタイプ:
引数:
-
option_name: オプション名、プレフィックス "plugins.var.xxx." が自動的に付けられる (ここで "xxx" は現在のプラグイン名)。
戻り値:
-
オプションの値をリセットしなかった場合は WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET
-
オプションの値をリセットした場合は WEECHAT_CONFIG_OPTION_UNSET_OK_RESET
-
オプションを削除した場合は WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED
-
エラーが起きた場合は WEECHAT_CONFIG_OPTION_UNSET_ERROR
C 言語での使用例:
スクリプト (Python) での使用例:
3.9. キー割り当て
キー割り当てに関する関数。
3.9.1. weechat_key_bind
WeeChat バージョン 0.3.6 以上で利用可。
新しいキー割り当てを追加。
Note
|
コマンド /key bind
とは異なり、この関数がすでに存在しているキー割り当てを変更することはありません。新しいキー割り当てを作成するだけです。キー割り当てを削除するには
weechat_key_unbind を使ってください。 |
プロトタイプ:
引数:
-
context: キーのコンテキスト:
-
default: デフォルトコンテキスト (一般的な動作)
-
search: 検索コンテキスト (バッファ中のテキストを検索中)
-
cursor: スクリーン上のカーソルを自由に移動
-
mouse: マウスイベント用のキー
-
-
keys: キー割り当てを収めたハッシュテーブル
戻り値:
-
追加されたキー割り当て
C 言語での使用例:
スクリプト (Python) での使用例:
3.9.2. weechat_key_unbind
WeeChat バージョン 0.3.6 以上で利用可。
キー割り当てを削除。
Warning
|
この関数を呼び出す際には、ユーザのキー割り当てを削除しないように注意してください。 |
プロトタイプ:
引数:
-
context: キーのコンテキスト (weechat_key_bind を参照)
-
key: 削除するキーまたは特殊値 "area:XXX" で1 番目または 2 番目の領域から XXX をもつすべてのキーを削除する
戻り値:
-
削除されたキー割り当ての個数
C 言語での使用例:
スクリプト (Python) での使用例:
3.10. 表示
バッファにテキストを表示する関数。
3.10.1. weechat_prefix
プレフィックスを返す。
プロトタイプ:
引数:
-
prefix: プレフィックスの名前 (以下の表を参照)
戻り値:
-
プレフィックスの値 (プレフィックスと色コードを含む文字列)、プレフィックスが見つからない場合は空文字列
List of prefixes:
プレフィックス | 値 | 色 | 説明 |
---|---|---|---|
error |
|
yellow |
エラーメッセージ |
network |
|
magenta |
ネットワークからのメッセージ |
action |
|
white |
本人の動作 |
join |
|
lightgreen |
誰かが現在のチャットに参加 |
quit |
|
lightred |
誰かが現在のチャットから退出 |
Note
|
値と色はコマンド /set でカスタマイズできます。 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.10.2. weechat_color
表示する色コードを文字列で返す。
プロトタイプ:
引数:
-
color_name: 色の名前、以下の中から 1 つ:
-
WeeChat オプション名 (weechat.color.xxx の xxx)、例えば chat_delimiters
-
任意で属性や背景色を指定した色 (以下を参照)
-
属性:
-
bold: 太字を有効
-
-bold: 太字を無効
-
reverse: 色反転を有効
-
-reverse: 色反転を削除
-
italic: イタリックを有効
-
-italic: イタリックを無効
-
underline: 下線を有効
-
-underline: 下線を無効
-
emphasis: テキストの強調を切り替え (注意: WeeChat はテキスト強調をバッファテキストを検索する際に使用するため、バー以外でこれを使わないでください。) (WeeChat バージョン 0.4.2 以上で利用可)
-
-
バーの色名:
-
bar_fg: バーのテキストの色
-
bar_delim: バーの区切り文字の色
-
bar_bg: バーの背景色
-
-
リセット:
-
reset: 色と属性をリセット
-
resetcolor: 色をリセット (属性はリセットしない) (WeeChat バージョン 0.3.6 以上で利用可)
-
-
色のフォーマット: 属性 (任意) + 色名 + ",background" (任意)。以下の属性を使えます:
-
*
: 太字 -
!
: 色反転 -
/
: イタリック -
_
: 下線 -
|
: 属性を保存: 色を変更する際に太字/色反転/イタリック/下線の状態をリセットしない (WeeChat バージョン 0.3.6 以上で利用可)
例:
-
yellow
: テキストを黄色に -
_green
: テキストに下線を引き、テキストを緑色に -
*214
: テキストを太字でオレンジ色に -
yellow,red
: テキストを黄色に、背景色を赤に -
|cyan
: テキストをシアンに (これよりも前に設定した属性は変えない)
戻り値:
-
色コードを収めた文字列、色が見つからない場合は空文字列
C 言語での使用例:
スクリプト (Python) での使用例:
3.10.3. weechat_printf
バッファにメッセージを表示。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ、NULL の場合は WeeChat バッファにメッセージを表示
-
message: 表示するメッセージ
Note
|
メッセージに含まれる最初のタブ文字 ("\t") はメッセージのプレフィックスを分割するために使われます。 メッセージに複数のタブ文字が含まれ、プレフィックスを使いたくない場合は、空白、タブ文字、メッセージのように使ってください (以下の例を参照): これでプレフィックスが無くなります (タブ文字の前の空白は表示されません)。 |
Note
|
2 つ連続したタブ文字 ("\t") がメッセージの最初にある場合、時刻は表示されず、メッセージの位置調整は行われません。さらにメッセージの時刻が 0 に設定されます。 |
C 言語での使用例:
スクリプト (Python) での使用例:
Note
|
この関数をスクリプトの中で実行するには "print" (Python の場合は "prnt") と綴ります。 |
3.10.4. weechat_printf_date
日付を指定してバッファにメッセージを表示。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ、NULL の場合、メッセージは WeeChat バッファに表示
-
date: メッセージの日付 (0 は現在の日付/時間を意味する)
-
message: 表示するメッセージ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.10.5. weechat_printf_tags
タグを指定してバッファにメッセージを表示。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ、NULL の場合、メッセージは WeeChat バッファに表示
-
tags: タグのコンマ区切りリスト
-
message: 表示するメッセージ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.10.6. weechat_printf_date_tags
日付とタグを指定してバッファにメッセージを表示。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ、NULL の場合、メッセージは WeeChat バッファに表示
-
date: メッセージの日付 (0 は現在の日付/時間を意味する)
-
tags: タグのコンマ区切りリスト
-
message: 表示するメッセージ
通常使用するタグ (一部抜粋したリスト):
タグ | 説明 |
---|---|
|
フィルタできない行 |
|
ハイライトできない行 |
|
ログファイルに書き込まれない行 |
|
行に対するログレベル ( |
|
この行を含むバッファはホットリストに追加されない |
|
この行を含むバッファは "message" レベルでホットリストに追加される |
|
この行を含むバッファは "private" レベルでホットリストに追加される |
|
この行を含むバッファは "highlight" レベルでホットリストに追加される |
|
ニックネーム "xxx" からのメッセージ |
|
プレフィックスを色 "ccc" のニックネームにする |
|
メッセージ中のユーザ名とホスト |
|
IRC メッセージ "xxx" (コマンドまたは 3 桁の番号) |
|
IRC 番号メッセージ |
|
IRC からのエラー |
|
あるニックネームからのアクション ( |
|
CTCP メッセージ |
|
CTCP メッセージに対する返信 |
|
"smart filter" でフィルタリング可能な IRC メッセージ |
|
離席状態のメッセージ |
C 言語での使用例:
スクリプト (Python) での使用例:
Note
|
この関数をスクリプトの中で実行するには "print_date_tags" (Python の場合は "prnt_date_tags") と綴ります。 |
3.10.7. weechat_printf_y
自由内容のバッファのある行にメッセージを表示
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
y: 行番号 (1 行目は 0); 負数の場合は表示された最後の行の後に行を追加する: y の絶対値で最後の行の後に追加する行数を指定 (例えば -1 は最後の行のすぐ後、-2 は 最後の行の 2 行後) (WeeChat バージョン 1.0 以上で利用可)
-
message: 表示するメッセージ
C 言語での使用例:
スクリプト (Python) での使用例:
Note
|
この関数をスクリプトの中で実行するには "print_y" (Python の場合は "prnt_y") と綴ります。 |
3.10.8. weechat_log_printf
WeeChat ログファイル (weechat.log) にメッセージを書き込む。
プロトタイプ:
引数:
-
message: 書き込むメッセージ
C 言語での使用例:
スクリプト (Python) での使用例:
Note
|
この関数をスクリプトの中で実行するには "log_print" と綴ります。 |
3.11. フック
フックの優先度
WeeChat バージョン 0.3.4 以上で利用可。
一部のフックに対して優先度を設定することができます。フックリストは優先度の高い順にフックが並べられ、高い優先度を持つフックはそれよりも低い優先度を持つフックが実行される前に実行されます。これは実行順序が重要となる修飾子で便利です。
優先度が指定できる引数に優先度を設定するには、必ず以下の構文を使ってください: "nnn|name" ここで "nnn" は優先度を示すゼロおよび正の整数で "name" は引数の名前です (優先度は自動的に文字列から削除され、フックの名前になります)。
デフォルトの優先度は 1000 です。
C 言語での使用例:
以下のフック型に対して優先度を設定できます: command、command_run、signal、hsignal、config、completion、modifier、info、info_hashtable、infolist、hdata、focus。
3.11.1. weechat_hook_command
コマンドをフックする。
プロトタイプ:
引数:
-
command: コマンド名 (優先度の設定が可能、優先度に関する注意を参照)
-
description: コマンドの説明 (
/help command
で表示されます) -
args: コマンドの引数 (
/help command
で表示されます) -
args_description: 引数の説明 (
/help command
で表示されます) -
completion: コマンドの補完候補テンプレート: 各引数に対する補完候補の空白区切りリスト。1 つの引数に対して複数の補完候補を設定するには補完候補同士を "|" で区切ってください。1 つのコマンドに対して複数のテンプレートを設定するにはテンプレート同士を "||" で区切ってください。
-
callback: コマンドが使用された際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
struct t_gui_buffer *buffer: コマンドを実行するバッファ
-
int argc: コマンドに渡す引数の個数
-
char **argv: コマンドに渡す引数
-
char **argv_eol: コマンドに渡す引数 (最初の引数から各引数までを収めた文字列)
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
デフォルトの補完候補コードは:
プラグイン | 名前 | 説明 |
---|---|---|
alias |
alias |
別名のリスト |
alias |
alias_value |
別名の値 |
aspell |
aspell_dicts |
aspell のインストール済み辞書のリスト |
aspell |
aspell_langs |
aspell でサポートされる全ての言語のリスト |
exec |
exec_commands_ids |
実行されたコマンドの識別子 (番号と名前) |
guile |
guile_script |
スクリプトのリスト |
irc |
irc_channel |
現在の IRC チャンネル |
irc |
irc_channel_nicks_hosts |
現在の IRC チャンネルにいるニックネームとホスト名 |
irc |
irc_channel_topic |
現在の IRC チャンネルのトピック |
irc |
irc_channels |
全ての IRC サーバのチャンネル |
irc |
irc_ignores_numbers |
無視エントリの数 |
irc |
irc_msg_kick |
デフォルトのキックメッセージ |
irc |
irc_msg_part |
IRC チャンネルのデフォルト退出メッセージ |
irc |
irc_notify_nicks |
通知エントリのニックネーム |
irc |
irc_privates |
全ての IRC サーバにあるプライベートチャンネル |
irc |
irc_server |
現在の IRC サーバ |
irc |
irc_server_channels |
現在の IRC サーバにあるチャンネル名 |
irc |
irc_server_nick |
現在の IRC サーバに接続中のニックネーム |
irc |
irc_server_nicks |
現在の IRC サーバの全てのチャンネルにいるニックネーム |
irc |
irc_server_privates |
現在の IRC サーバにあるプライベートチャンネル |
irc |
irc_servers |
IRC サーバ (内部名) |
irc |
nick |
現在の IRC チャンネルにいるニックネーム |
lua |
lua_script |
スクリプトのリスト |
perl |
perl_script |
スクリプトのリスト |
python |
python_script |
スクリプトのリスト |
relay |
relay_free_port |
リレープラグイン用の最初の空きポート番号 |
relay |
relay_protocol_name |
リレープラグインで利用可能な全ての protocol.name |
relay |
relay_relays |
リレープラグインにおける現在のリレーの protocol.name |
ruby |
ruby_script |
スクリプトのリスト |
script |
script_files |
スクリプトディレクトリ内のファイル |
script |
script_scripts |
リポジトリに存在するスクリプトのリスト |
script |
script_scripts_installed |
インストール済みスクリプトのリスト (リポジトリから) |
script |
script_tags |
リポジトリに存在するスクリプトに対するタグのリスト |
tcl |
tcl_script |
スクリプトのリスト |
trigger |
trigger_hook_arguments |
フックに対するデフォルト引数 |
trigger |
trigger_hook_command |
フックに対するデフォルトコマンド |
trigger |
trigger_hook_conditions |
バーのデフォルト状態 |
trigger |
trigger_hook_rc |
フックコールバックに対するデフォルトのリターンコード |
trigger |
trigger_hook_regex |
フックに対するデフォルトの正規表現 |
trigger |
trigger_hooks |
トリガに対するフック |
trigger |
trigger_hooks_filter |
トリガに対するフック (モニタバッファのフィルタ用) |
trigger |
trigger_names |
トリガ |
trigger |
trigger_names_default |
デフォルトトリガ |
trigger |
trigger_option_value |
トリガオプションの値 |
trigger |
trigger_options |
トリガに対するオプション |
weechat |
bars_names |
バーの名前 |
weechat |
bars_options |
バーのオプション |
weechat |
buffer_properties_get |
バッファから読み取り可能なプロパティ |
weechat |
buffer_properties_set |
バッファに指定可能なプロパティ |
weechat |
buffers_names |
バッファの名前 |
weechat |
buffers_numbers |
バッファの数 |
weechat |
buffers_plugins_names |
バッファの名前 (プラグインの名前を含めた) |
weechat |
commands |
コマンド (weechat とプラグイン) |
weechat |
config_files |
設定ファイル |
weechat |
config_option_values |
設定オプションの値 |
weechat |
config_options |
設定オプション |
weechat |
cursor_areas |
カーソルを自由に動かせるエリア ("chat" またはバーの名前) |
weechat |
env_value |
環境変数の値 |
weechat |
env_vars |
環境変数 |
weechat |
filename |
ファイル名 |
weechat |
filters_names |
フィルタ名 |
weechat |
infolists |
フックされた infolist の名前 |
weechat |
infos |
フックされた情報の名前 |
weechat |
keys_codes |
キーコード |
weechat |
keys_codes_for_reset |
リセットできるキーコード (追加、再定義、削除されたキー) |
weechat |
keys_contexts |
キーコンテキスト |
weechat |
layouts_names |
レイアウトの名前 |
weechat |
nicks |
現在のバッファのニックネームリストに含まれるニックネーム |
weechat |
palette_colors |
パレットカラー |
weechat |
plugins_commands |
プラグインの定義するコマンド |
weechat |
plugins_installed |
インストールされたプラグインの名前 |
weechat |
plugins_names |
プラグイン名 |
weechat |
proxies_names |
プロキシの名前 |
weechat |
proxies_options |
プロキシのオプション |
weechat |
secured_data |
保護データの名前 (sec.conf ファイル、セクションデータ) |
weechat |
weechat_commands |
weechat コマンド |
weechat |
windows_numbers |
ウィンドウの数 |
xfer |
nick |
DCC チャットのニックネーム |
特殊コード:
-
%%command: コマンド command と同じ補完候補テンプレートを使用
-
%-: 補完の中止
-
%*: 最後の補完候補を繰り返す
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
例えば、コマンドが /command abc def ghi
のように実行された場合、argv と argv_eol は以下のようになります:
-
argv:
-
argv[0] == "/command"
-
argv[1] == "abc"
-
argv[2] == "def"
-
argv[3] == "ghi"
-
-
argv_eol:
-
argv_eol[0] == "/command abc def ghi"
-
argv_eol[1] == "abc def ghi"
-
argv_eol[2] == "def ghi"
-
argv_eol[3] == "ghi"
-
スクリプトでは、args は "abc def ghi" のようになります。
スクリプト (Python) での使用例:
3.11.2. weechat_hook_command_run
WeeChat がコマンドを実行する際にこれをフック。
プロトタイプ:
引数:
-
command: フックするコマンド (ワイルドカード "*" を使うことができます) (優先度の設定が可能、優先度に関する注意を参照)
-
callback: コマンドが実行される際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
struct t_gui_buffer *buffer: コマンドを実行するバッファ
-
const char *command: 実行するコマンド、引数付き
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_OK_EAT
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
Note
|
コールバックは WEECHAT_RC_OK または WEECHAT_RC_OK_EAT (コールバックの後にコマンドを実行しない) を返すことができます。 |
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.3. weechat_hook_timer
タイマをフックする。
プロトタイプ:
引数:
-
interval: 2 つの呼び出し間隔 (ミリ秒、1000 = 1 秒)
-
align_second: 秒の調整。例えば、現在時刻が 09:00、 interval = 60000 (60 秒)、align_second = 60 の場合、毎分 0 秒時にタイマを呼び出す
-
max_calls: タイマを呼び出す回数 (0 の場合、タイマを無限に呼び出す)
-
callback: 時間が来たら呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
int remaining_calls: 呼び出し残り回数 (タイマを無限に呼び出す場合は -1)
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.4. weechat_hook_fd
ファイルディスクリプタ (ファイルやソケット) をフック。
プロトタイプ:
引数:
-
fd: ファイルディスクリプタ
-
flag_read: 1 = 読み込みイベントをキャッチ、0 = 無視
-
flag_write: 1 = 書き込みイベントをキャッチ、0 = 無視
-
flag_exception: 1 = 例外イベントをキャッチ、0 = 無視
-
callback: ファイル (またはソケット) に対してキャッチしたいイベントが発生した場合に実行する関数、 引数と戻り値:
-
void *data: ポインタ
-
int fd: ファイルディスクリプタ
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.5. weechat_hook_process
プロセスをフックして (フォークして実行)、出力を受け取る。
Note
|
バージョン 0.3.9.2
以降、コマンドを実行するためにシェルを使わないようになりました。WeeChat
が自動的にコマンドと引数を分割します (シェルがやっているように)。 (コマンドのクォートに従った) 分割に失敗する場合、またはシェルを使いたい場合は、ハッシュテーブル options に引数を入れて weechat_hook_process_hashtable 関数を使ってください (WeeChat バージョン 0.4.0 以上で利用可) 。 |
プロトタイプ:
引数:
-
command: 子プロセスで実行するコマンドまたは URL (WeeChat バージョン 0.3.7 以上で利用可) (以下を参照)
-
timeout: コマンドのタイムアウト (ミリ秒): このタイムアウトを過ぎたら、子プロセスを kill します (タイムアウトさせない場合は 0)
-
callback: 子プロセスからのデータが利用可能になるか、子プロセスが終了したら呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
const char *command: 子プロセスが実行するコマンド
-
int return_code: リターンコード:
-
>= 0: コマンドを実行した子プロセスのまたは URL に対するリターンコード。URL の場合取取り得る値は:
-
0: 転送に成功
-
1: 無効な URL
-
2: 転送エラー
-
3: メモリ不足
-
4: ファイルに関するエラー
-
-
< 0: WEECHAT_HOOK_PROCESS_RUNNING (データは利用可能だが子プロセスは終了していない) または WEECHAT_HOOK_PROCESS_ERROR (コマンドの実行中にエラー)
-
-
out: コマンドの標準出力 (stdout)
-
err: コマンドの標準エラー出力 (stderr)
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
コマンドが終了するか、タイムアウトを過ぎた場合、WeeChat は自動的にフックを解除します (プロセスが実行中であればプロセスを kill します)。
コマンドを "url:http://www.example.com" のフォーマットに従う URL にすることで、URL の内容がダウンロードされます (WeeChat バージョン 0.3.7 以上で利用可) 。weechat_hook_process_hashtable 関数を使えば URL に対してオプションを与えることもできます。
Tip
|
WeeChat に関する情報 (例えば現在の安定版、最新の git コミット、…) が欲しい場合、https://weechat.org/dev/info に書かれている URL を使ってください |
Note
|
コールバックにデータを送信するバッファのサイズは 64KB (バッファは 2 つあります: 標準出力用と、標準エラー出力用) です。子プロセスからの出力 (標準出力または標準エラー出力) が 64KB よりも大きくなった場合は、コールバックを 1 回以上呼び出します。 |
Important
|
コールバックを 1 回より多く呼び出すことが皆無だとしても、コールバックを複数回呼び出しても安全なようにコードを書いてください: 必ず複数回送られたデータを連結し、データを使うのは戻り値が正またはゼロの時だけにしてください。 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.6. weechat_hook_process_hashtable
WeeChat バージョン 0.3.7 以上で利用可。
ハッシュテーブルに収めたオプションを使いプロセスをフックする (フォークして実行)、出力を受け取る。
プロトタイプ:
引数は以下の追加引数を除いて weechat_hook_process 関数と同じです:
-
options: 実行するコマンドのオプション; ハッシュテーブルは関数の中で複製されるため、この関数を呼び出した後にハッシュテーブルを安全に開放できます。
一般的なコマンド (最初に "url:" が付かないコマンド) では、以下のオプションを使うことができます:
オプション | 値 | 説明 |
---|---|---|
argN (N ≥ 1) |
任意の文字列 |
コマンドの引数; このオプションを使って引数を渡さない場合、シェルと同じように引数を自動的に分割します (command 引数からコマンド引数を読み込みます) |
stdin |
(非使用) |
データを書き込むためのパイプを子プロセスの標準入力 (stdin) に作成します (関数 weechat_hook_set を参照) |
buffer_flush |
バイト数 |
標準出力および標準エラー出力をフラッシュ (出力をコールバックに送信) するバイト数の最小値、 1 から 65536 (デフォルト) まで; 1 = すべての出力をすぐにコールバックに送信 |
detached |
(非使用) |
detached モードでプロセスを実行: 標準出力と標準エラー出力を /dev/null にリダイレクトする |
"url:…" 型のコマンドでは、以下のコマンドを使うことができます
(それぞれのオプションについては man curl_easy_setopt
を参照):
オプション | タイプ | 定数 (1) |
---|---|---|
verbose |
long |
|
header |
long |
|
noprogress |
long |
|
nosignal |
long |
|
wildcardmatch |
long |
|
failonerror |
long |
|
proxy |
string |
|
proxyport |
long |
|
port |
long |
|
httpproxytunnel |
long |
|
interface |
string |
|
dns_cache_timeout |
long |
|
proxytype |
long |
http, socks4, socks5, socks4a, socks5_hostname, http_1_0 |
buffersize |
long |
|
tcp_nodelay |
long |
|
localport |
long |
|
localportrange |
long |
|
address_scope |
long |
|
protocols |
mask |
http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher |
redir_protocols |
mask |
http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher |
noproxy |
string |
|
socks5_gssapi_service |
string |
|
socks5_gssapi_nec |
long |
|
tcp_keepalive |
long |
|
tcp_keepidle |
long |
|
tcp_keepintvl |
long |
|
netrc |
long |
ignored, optional, required |
userpwd |
string |
|
proxyuserpwd |
string |
|
httpauth |
mask |
none, basic, digest, gssnegotiate, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate |
proxyauth |
mask |
none, basic, digest, gssnegotiate, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate |
netrc_file |
string |
|
username |
string |
|
password |
string |
|
proxyusername |
string |
|
proxypassword |
string |
|
tlsauth_type |
mask |
none, srp |
tlsauth_username |
string |
|
tlsauth_password |
string |
|
sasl_ir |
long |
|
xoauth2_bearer |
string |
|
login_options |
string |
|
autoreferer |
long |
|
followlocation |
long |
|
put |
long |
|
post |
long |
|
postfields |
string |
|
referer |
string |
|
useragent |
string |
|
cookie |
string |
|
cookiefile |
string |
|
postfieldsize |
long |
|
maxredirs |
long |
|
httpget |
long |
|
cookiejar |
string |
|
http_version |
long |
none, 1_0, 1_1 |
cookiesession |
long |
|
unrestricted_auth |
long |
|
postfieldsize_large |
long long |
|
cookielist |
string |
|
ignore_content_length |
long |
|
accept_encoding |
string |
|
transfer_encoding |
long |
|
http_content_decoding |
long |
|
http_transfer_decoding |
long |
|
copypostfields |
string |
|
postredir |
mask |
post_301, post_302 |
expect_100_timeout_ms |
long |
|
headeropt |
mask |
unified, separate |
mail_from |
string |
|
mail_auth |
string |
|
tftp_blksize |
long |
|
ftpport |
string |
|
ftp_use_epsv |
long |
|
ftp_use_eprt |
long |
|
ftp_create_missing_dirs |
long |
|
ftp_response_timeout |
long |
|
ftpsslauth |
long |
default, ssl, tls |
ftp_account |
string |
|
ftp_skip_pasv_ip |
long |
|
ftp_filemethod |
long |
multicwd, nocwd, singlecwd |
ftp_alternative_to_user |
string |
|
ftp_ssl_ccc |
long |
ccc_none, ccc_active, ccc_passive |
dirlistonly |
long |
|
append |
long |
|
ftp_use_pret |
long |
|
rtsp_request |
long |
options, describe, announce, setup, play, pause, teardown, get_parameter, set_parameter, record, receive |
rtsp_session_id |
string |
|
rtsp_stream_uri |
string |
|
rtsp_transport |
string |
|
rtsp_client_cseq |
long |
|
rtsp_server_cseq |
long |
|
crlf |
long |
|
range |
string |
|
resume_from |
long |
|
customrequest |
string |
|
nobody |
long |
|
infilesize |
long |
|
upload |
long |
|
timecondition |
long |
none, ifmodsince, ifunmodsince, lastmod |
timevalue |
long |
|
transfertext |
long |
|
filetime |
long |
|
maxfilesize |
long |
|
proxy_transfer_mode |
long |
|
resume_from_large |
long long |
|
infilesize_large |
long long |
|
maxfilesize_large |
long long |
|
timeout |
long |
|
low_speed_limit |
long |
|
low_speed_time |
long |
|
fresh_connect |
long |
|
forbid_reuse |
long |
|
connecttimeout |
long |
|
ipresolve |
long |
whatever, v4, v6 |
connect_only |
long |
|
max_send_speed_large |
long long |
|
max_recv_speed_large |
long long |
|
timeout_ms |
long |
|
connecttimeout_ms |
long |
|
maxconnects |
long |
|
use_ssl |
long |
none, try, control, all |
dns_servers |
string |
|
accepttimeout_ms |
long |
|
dns_interface |
string |
|
dns_local_ip4 |
string |
|
dns_local_ip6 |
string |
|
sslcert |
string |
|
sslversion |
long |
default, tlsv1, sslv2, sslv3 |
ssl_verifypeer |
long |
|
cainfo |
string |
|
random_file |
string |
|
egdsocket |
string |
|
ssl_verifyhost |
long |
|
ssl_cipher_list |
string |
|
sslcerttype |
string |
|
sslkey |
string |
|
sslkeytype |
string |
|
sslengine |
string |
|
sslengine_default |
long |
|
capath |
string |
|
ssl_sessionid_cache |
long |
|
krblevel |
string |
|
keypasswd |
string |
|
issuercert |
string |
|
crlfile |
string |
|
certinfo |
long |
|
gssapi_delegation |
long |
none, policy_flag, flag |
ssl_options |
long |
allow_beast |
ssl_enable_alpn |
long |
|
ssl_enable_npn |
long |
|
ssh_auth_types |
mask |
none, policy_flag, flag |
ssh_public_keyfile |
string |
|
ssh_private_keyfile |
string |
|
ssh_host_public_key_md5 |
string |
|
ssh_knownhosts |
string |
|
new_file_perms |
long |
|
new_directory_perms |
long |
Note
|
(1) 定数が利用可能な場合、定数は必ずオプションの値に含めてください。"mask" 型のオプションでは、以下のフォーマットに従ってください: "value1+value2+value3"。 |
URL では、入力/出力ファイル用に 2 つのオプション (文字列) を使うことができます:
-
file_in: 読み込んで URL に送信するファイル (ファイルを送信)
-
file_out: ダウンロードした URL/ファイルをこのファイルに書き込む (標準出力を使わない)
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.7. weechat_hook_connect
接続をフックする (リモートホストへのバックグラウンド接続)。
プロトタイプ:
引数:
-
proxy: 接続に使用するプロキシの名前 (任意、プロキシを使わない場合は NULL)
-
address: 接続先のドメイン名または IP アドレス
-
port: ポート番号
-
ipv6: (IPv4 フォールバックを有効にして) IPv6 を使う場合は 1、IPv4 のみを使う場合は 0
-
retry: 再試行回数、IPv6 ホストに接続したもののクライアントの受け入れに失敗した際に IPv4 ホストへフォールバックする際に使う
-
gnutls_sess: GnuTLS セッション (任意)
-
gnutls_cb: GnuTLS コールバック (任意)
-
gnutls_dhkey_size: Diffie-Hellman 鍵交換の際に使う鍵のサイズ (GnuTLS)
-
gnutls_priorities: gnutls のプロパティ (構文は gnutls マニュアルの gnutls_priority_init 関数を参照)、基本的な値を以下に示す:
-
PERFORMANCE
-
NORMAL (デフォルト)
-
SECURE128
-
SECURE256
-
EXPORT
-
NONE
-
-
local_hostname: 接続に使うローカルのホスト名前 (任意)
-
callback: 接続に成功および失敗した際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
int status: 接続状態:
-
WEECHAT_HOOK_CONNECT_OK: 接続成功
-
WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND: アドレスが見つかりません
-
WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND: IP アドレスが見つかりません
-
WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED: 接続が拒否されました
-
WEECHAT_HOOK_CONNECT_PROXY_ERROR: プロキシに関するエラー
-
WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR: ローカルのホスト名に関するエラー
-
WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR: GnuTLS 初期化エラー
-
WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR: GnuTLS ハンドシェイクエラー
-
WEECHAT_HOOK_CONNECT_MEMORY_ERROR: メモリ不足
-
WEECHAT_HOOK_CONNECT_TIMEOUT: タイムアウト
-
WEECHAT_HOOK_CONNECT_SOCKET_ERROR: ソケットの作成に失敗
-
-
gnutls_rc: gnutls_handshake() の戻り値
-
sock: 接続に使うソケット
-
const char *error: gnutls_strerror(gnutls_rc) の戻り値
-
const char *ip_address: 見つかった IP アドレス
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.8. weechat_hook_print
WeeChat バージョン 0.4.3 と 1.0 で更新
メッセージの表示をフックする。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ、NULL の場合、任意のバッファからのメッセージをキャッチする
-
tags: このタグが付けられたメッセージだけをキャッチする (任意):
-
WeeChat バージョン 0.4.3 以上の場合: メッセージに付けられたタグのコンマ区切りリスト (論理 "or"); 複数の条件を論理 "and" で組み合わせる場合は区切りに "+" を使ってください; ワイルドカード "*" を使うことができます
-
WeeChat バージョン 0.4.2 以下の場合: 論理 "and" で組み合わせたタグのコンマ区切りリスト
-
-
message: この文字列を含むメッセージだけをキャッチする (任意、大文字小文字を区別しない)
-
strip_colors: 1 の場合、表示されるメッセージから色を削除する、コールバックを呼ぶ前
-
callback: メッセージが表示される際に呼び出すコールバック、引数と戻り値:
-
void *data: ポインタ
-
struct t_gui_buffer *buffer: バッファへのポインタ
-
time_t date: 日付
-
int tags_count: 行に付けられたタグの個数
-
const char **tags: 行に付けられたタグの配列
-
int displayed: 行が表示される場合は 1、フィルタされる (隠される) 場合は 0
-
int highlight: 行がハイライトされる場合は 1、ハイライトされない場合は 0
-
const char *prefix: プレフィックス
-
const char *message: メッセージ
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
Important
|
WeeChat バージョン 1.0 以上では、スクリプトのコールバック引数 displayed
と highlight は整数です (WeeChat バージョン 0.4.3 以下では文字列でした)。 すべてのバージョンで互換性を持たせるためには、引数を使う前に整数に変換することをお勧めします、Python を使った例: " if int(highlight): "。 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.9. weechat_hook_signal
シグナルをフックする。
プロトタイプ:
引数:
-
signal: キャッチするシグナル、ワイルドカード "*" を使うことができます (優先度の設定が可能、優先度に関する注意を参照) (以下の表を参照)
-
callback: シグナルを受信した際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
const char *signal: 受信したシグナル
-
const char *type_data: シグナルが送信したデータの型
-
WEECHAT_HOOK_SIGNAL_STRING: 文字列
-
WEECHAT_HOOK_SIGNAL_INT: 整数
-
WEECHAT_HOOK_SIGNAL_POINTER: ポインタ
-
-
void *signal_data: シグナルが送信したデータ
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_OK_EAT (直ちにシグナルの送信を止める) (WeeChat バージョン 0.4.0 以上で利用可)
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
WeeChat とプラグインが送信するシグナルのリスト:
プラグイン | シグナル | 引数 | 説明 |
---|---|---|---|
aspell |
aspell_suggest |
Pointer: バッファ |
スペルの間違っている単語に対する新しい修正候補 |
guile |
guile_script_loaded |
String: スクリプトへのパス |
Scheme スクリプトを読み込み |
guile |
guile_script_unloaded |
String: スクリプトへのパス |
Scheme スクリプトを再読み込み |
guile |
guile_script_installed |
String: インストールされたスクリプトへのパスのコンマ区切りリスト |
Scheme スクリプトをインストール |
guile |
guile_script_removed |
String: 削除されたスクリプトへのパスのコンマ区切りリスト |
Scheme スクリプトを削除 |
irc |
xxx,irc_in_yyy (1) |
String: メッセージ |
サーバから IRC メッセージを受信 (メッセージを無視しない 場合のみ irc プラグインがメッセージを処理する前に、シグナルが送信される) |
irc |
xxx,irc_in2_yyy (1) |
String: メッセージ |
サーバから IRC メッセージを受信 (メッセージを無視しない 場合のみ irc プラグインがメッセージを処理した後に、シグナルが送信される) |
irc |
xxx,irc_raw_in_yyy (1) |
String: メッセージ |
サーバから IRC メッセージを受信 (メッセージを無視する場合でも irc プラグインがメッセージを処理する前に、シグナルが送信される) |
irc |
xxx,irc_raw_in2_yyy (1) |
String: メッセージ |
サーバから IRC メッセージを受信 (メッセージを無視する場合でも irc プラグインがメッセージを処理した後に、シグナルが送信される) |
irc |
xxx,irc_out1_yyy (1) |
String: メッセージ |
サーバに IRC メッセージを送信 (メッセージを 512 バイトに合わせて自動分割する前) |
irc |
xxx,irc_out_yyy (1) |
String: メッセージ |
サーバに IRC メッセージを送信 (メッセージを 512 バイトに合わせて自動分割した後) |
irc |
xxx,irc_outtags_yyy (1) |
String: タグ + ";" + メッセージ |
タグ + サーバに送信する IRC メッセージ |
irc |
irc_ctcp |
String: メッセージ |
CTCP を受信 |
irc |
irc_dcc |
String: メッセージ |
新しい DCC |
irc |
irc_pv |
String: メッセージ |
プライベートメッセージを受信 |
irc |
irc_channel_opened |
Pointer: バッファ |
チャンネルを開いた |
irc |
irc_pv_opened |
Pointer: バッファ |
プライベートメッセージを開いた |
irc |
irc_server_opened |
Pointer: バッファ |
サーババッファを開いた |
irc |
irc_server_connecting |
String: サーバ名 |
サーバに接続中 |
irc |
irc_server_connected |
String: サーバ名 |
サーバとの接続を確立 |
irc |
irc_server_disconnected |
String: サーバ名 |
サーバから切断された |
irc |
irc_ignore_removing |
Pointer: 無視 |
無視条件を削除中 |
irc |
irc_ignore_removed |
- |
無視条件を削除した |
irc |
irc_notify_join |
String: サーバ名 + "," + ニックネーム |
通知リストに入っているニックネームがサーバに参加 |
irc |
irc_notify_quit |
String: サーバ名 + "," + ニックネーム |
通知リストに入っているニックネームがサーバから切断 |
irc |
irc_notify_away |
String: サーバ名 + "," + ニックネーム + "," + 離席メッセージ |
通知リストに入っているニックネームが離席状態に |
irc |
irc_notify_still_away |
String: サーバ名 + "," + ニックネーム + "," + 離席メッセージ |
通知リストに入っているニックネームはまだ離席状態 (離席メッセージを変更) |
irc |
irc_notify_back |
String: サーバ名 + "," + ニックネーム |
通知リストに入っているニックネームが着席状態に (離席状態を解除) |
logger |
logger_start |
Pointer: バッファ |
バッファのログ保存を開始 |
logger |
logger_stop |
Pointer: バッファ |
バッファのログ保存を中止 |
logger |
logger_backlog |
Pointer: バッファ |
バッファのバックログを表示 |
lua |
lua_script_loaded |
String: スクリプトへのパス |
Lua スクリプトを読み込み |
lua |
lua_script_unloaded |
String: スクリプトへのパス |
Lua スクリプトを再読み込み |
lua |
lua_script_installed |
String: インストールされたスクリプトへのパスのコンマ区切りリスト |
Lua スクリプトをインストール |
lua |
lua_script_removed |
String: 削除されたスクリプトへのパスのコンマ区切りリスト |
Lua スクリプトを削除 |
perl |
perl_script_loaded |
String: スクリプトへのパス |
Perl スクリプトを読み込み |
perl |
perl_script_unloaded |
String: スクリプトへのパス |
Perl スクリプトを再読み込み |
perl |
perl_script_installed |
String: インストールされたスクリプトへのパスのコンマ区切りリスト |
Perl スクリプトをインストール |
perl |
perl_script_removed |
String: 削除されたスクリプトへのパスのコンマ区切りリスト |
Perl スクリプトを削除 |
python |
python_script_loaded |
String: スクリプトへのパス |
Python スクリプトを読み込み |
python |
python_script_unloaded |
String: スクリプトへのパス |
Python スクリプトを再読み込み |
python |
python_script_installed |
String: インストールされたスクリプトへのパスのコンマ区切りリスト |
Python スクリプトをインストール |
python |
python_script_removed |
String: 削除されたスクリプトへのパスのコンマ区切りリスト |
Python スクリプトを削除 |
relay |
relay_client_connecting |
Pointer: リレークライアント |
リレークライアントが接続中 |
relay |
relay_client_waiting_auth |
Pointer: リレークライアント |
リレークライアントからの認証待ち |
relay |
relay_client_auth_ok |
Pointer: リレークライアント |
リレークライアントからの認証に成功 |
relay |
relay_client_connected |
Pointer: リレークライアント |
リレークライアントが接続 |
relay |
relay_client_auth_failed |
Pointer: リレークライアント |
リレークライアントの認証に失敗 |
relay |
relay_client_disconnected |
Pointer: リレークライアント |
リレークライアントが切断 |
ruby |
ruby_script_loaded |
String: スクリプトへのパス |
Ruby スクリプトを読み込み |
ruby |
ruby_script_unloaded |
String: スクリプトへのパス |
Ruby スクリプトを再読み込み |
ruby |
ruby_script_installed |
String: インストールされたスクリプトへのパスのコンマ区切りリスト |
Ruby スクリプトをインストール |
ruby |
ruby_script_removed |
String: 削除されたスクリプトへのパスのコンマ区切りリスト |
Ruby スクリプトを削除 |
tcl |
tcl_script_loaded |
String: スクリプトへのパス |
Tcl スクリプトを読み込み |
tcl |
tcl_script_unloaded |
String: スクリプトへのパス |
Tcl スクリプトを再読み込み |
tcl |
tcl_script_installed |
String: インストールされたスクリプトへのパスのコンマ区切りリスト |
Tcl スクリプトをインストール |
tcl |
tcl_script_removed |
String: 削除されたスクリプトへのパスのコンマ区切りリスト |
Tcl スクリプトを削除 |
weechat |
buffer_opened |
Pointer: バッファ |
バッファを開いた |
weechat |
buffer_closing |
Pointer: バッファ |
バッファを閉じている |
weechat |
buffer_closed |
Pointer: バッファ |
バッファを閉じた |
weechat |
buffer_cleared |
Pointer: バッファ |
バッファをクリア |
weechat |
buffer_hidden |
Pointer: バッファ |
バッファを隠す |
weechat |
buffer_unhidden |
Pointer: バッファ |
バッファを隠すことを止める |
weechat |
buffer_line_added |
Pointer: 行 |
バッファに行を追加 |
weechat |
buffer_lines_hidden |
Pointer: バッファ |
バッファから行を隠す |
weechat |
buffer_localvar_added |
Pointer: バッファ |
ローカル変数を追加 |
weechat |
buffer_localvar_changed |
Pointer: バッファ |
ローカル変数を変更 |
weechat |
buffer_localvar_removed |
Pointer: バッファ |
ローカル変数を削除 |
weechat |
buffer_merged |
Pointer: バッファ |
バッファをマージ |
weechat |
buffer_unmerged |
Pointer: バッファ |
バッファのマージを解除 |
weechat |
buffer_moved |
Pointer: バッファ |
バッファを移動 |
weechat |
buffer_renamed |
Pointer: バッファ |
バッファの名前を変更 |
weechat |
buffer_switch |
Pointer: バッファ |
バッファを切り替え |
weechat |
buffer_title_changed |
Pointer: バッファ |
バッファのタイトルを変更 |
weechat |
buffer_type_changed |
Pointer: バッファ |
バッファのタイプを変更 |
weechat |
buffer_zoomed |
Pointer: バッファ |
マージされたバッファをズーム |
weechat |
buffer_unzoomed |
Pointer: バッファ |
マージされたバッファをアンズーム |
weechat |
day_changed |
String: 新しい日付、フォーマット: "2010-01-31" |
システムの日付が変更された |
weechat |
debug_dump |
String: プラグイン名 |
リクエストをダンプ |
weechat |
debug_libs |
- |
使用中の外部ライブラリを表示 |
weechat |
filter_added |
Pointer: フィルタ |
フィルタを追加 |
weechat |
filter_removing |
Pointer: フィルタ |
フィルタを削除中 |
weechat |
filter_removed |
- |
フィルタを削除 |
weechat |
filters_enabled |
- |
フィルタを有効化 |
weechat |
filters_disabled |
- |
フィルタを無効化 |
weechat |
hotlist_changed |
- |
ホットリストが変更された |
weechat |
input_paste_pending |
- |
貼り付けを保留中 |
weechat |
input_search |
Pointer: バッファ |
バッファテキストの検索 |
weechat |
input_text_changed |
Pointer: バッファ |
入力テキストが変更された |
weechat |
input_text_cursor_moved |
Pointer: バッファ |
入力テキストカーソルを移動 |
weechat |
key_bind |
String: キー |
キー割り当てを追加 |
weechat |
key_unbind |
String: キー |
キー割り当てを削除 |
weechat |
key_pressed |
String: 押されたキー |
キーが押された |
weechat |
key_combo_default |
String: キーの組み合わせ |
default コンテキスト内のキーの組み合わせ |
weechat |
key_combo_search |
String: キーの組み合わせ |
search コンテキスト内のキーの組み合わせ |
weechat |
key_combo_cursor |
String: キーの組み合わせ |
cursor コンテキスト内のキーの組み合わせ |
weechat |
mouse_enabled |
- |
マウスが有効化された |
weechat |
mouse_disabled |
- |
マウスが無効化された |
weechat |
nicklist_group_added |
String: バッファポインタ + "," + グループ名 |
ニックネームリストにグループを追加 |
weechat |
nicklist_group_changed |
String: バッファポインタ + "," + グループ名 |
ニックネームリストのグループを変更 |
weechat |
nicklist_group_removing |
String: バッファポインタ + "," + グループ名 |
ニックネームリストからグループを削除中 |
weechat |
nicklist_group_removed |
String: バッファポインタ + "," + グループ名 |
ニックネームリストからグループを削除 |
weechat |
nicklist_nick_added |
String: バッファポインタ + "," + ニックネーム |
ニックネームリストにニックネームを追加 |
weechat |
nicklist_nick_changed |
String: バッファポインタ + "," + ニックネーム |
ニックネームリストのニックネームを変更 |
weechat |
nicklist_nick_removing |
String: バッファポインタ + "," + ニックネーム |
ニックネームリストからニックネームを削除中 |
weechat |
nicklist_nick_removed |
String: バッファポインタ + "," + ニックネーム |
ニックネームリストからニックネームを削除 |
weechat |
partial_completion |
- |
部分補完を実行 |
weechat |
plugin_loaded |
String: 読み込んだプラグインへのパス |
プラグインを読み込み |
weechat |
plugin_unloaded |
String: 再読み込みしたプラグインの名前 (例: "irc") |
プラグインを再読み込み |
weechat |
quit |
String: /quit の引数 |
ユーザがコマンド |
weechat |
signal_sigwinch |
- |
SIGWINCH シグナルを受信しました (端末サイズが変更されました) |
weechat |
upgrade |
String: /upgrade に "-quit" 引数が与えられた場合は "quit"、それ以外は NULL |
ユーザがコマンド |
weechat |
upgrade_ended |
- |
アップグレード作業 (コマンド |
weechat |
weechat_highlight |
String: プレフィックス付のメッセージ |
メッセージがハイライトされました |
weechat |
weechat_pv |
String: プレフィックス付のメッセージ |
プライベートメッセージの表示 |
weechat |
window_closing |
Pointer: ウィンドウ |
ウィンドウを閉じています |
weechat |
window_closed |
Pointer: ウィンドウ |
ウィンドウを閉じた |
weechat |
window_opened |
Pointer: ウィンドウ |
ウィンドウを開いた |
weechat |
window_scrolled |
Pointer: ウィンドウ |
ウィンドウをスクロール |
weechat |
window_switch |
Pointer: ウィンドウ |
ウィンドウを切り替え |
weechat |
window_zoom |
Pointer: 現在のウィンドウ |
ウィンドウをズーム中 |
weechat |
window_zoomed |
Pointer: 現在のウィンドウ |
ウィンドウをズーム |
weechat |
window_unzoom |
Pointer: 現在のウィンドウ |
ウィンドウのズームを元に戻している |
weechat |
window_unzoomed |
Pointer: 現在のウィンドウ |
ウィンドウのズームを元に戻す |
xfer |
xfer_add |
Pointer: xfer 情報を含む infolist |
新しい xfer |
xfer |
xfer_send_ready |
Pointer: xfer 情報を含む infolist |
Xfer の準備完了 |
xfer |
xfer_accept_resume |
Pointer: xfer 情報を含む infolist |
Xfer のレジュームを受け入れる |
xfer |
xfer_send_accept_resume |
Pointer: xfer 情報を含む infolist |
Xfer のレジュームの受け入れを完了 |
xfer |
xfer_start_resume |
Pointer: xfer 情報を含む infolist |
レジュームの開始 |
xfer |
xfer_resume_ready |
Pointer: xfer 情報を含む infolist |
Xfer レジュームの準備完了 |
xfer |
xfer_ended |
Pointer: xfer 情報を含む infolist |
Xfer を終了 |
Note
|
(1) xxx はサーバ名、yyy は IRC コマンド名。 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.10. weechat_hook_signal_send
バージョン 1.0 で更新。
シグナルを送信。
プロトタイプ:
引数:
-
signal: 送信するシグナル
-
type_data: シグナルと一緒に送信するデータの型 (weechat_hook_signal を参照)
-
signal_data: シグナルと一緒に送信するデータ
戻り値 (WeeChat バージョン 1.0 以上で利用可。):
-
最後に実行したコールバックの戻り値 (コールバックを実行しなかった場合は WEECHAT_RC_OK):
-
WEECHAT_RC_OK
-
WEECHAT_RC_OK_EAT
-
WEECHAT_RC_ERROR
-
C 言語での使用例:
スクリプト (Python) での使用例:
logger_backlog シグナル
シグナル "logger_backlog" はバッファにバックログ (チャット履歴) を表示するために送信することができます (例えば、プラグインやスクリプトでバッファを開く際など)。
引数はバッファへのポインタ。
C 言語での使用例:
スクリプト (Python) での使用例:
xxx_script_install シグナル
プログラミング言語ごとに、スクリプトをインストールするために送信するシグナルが 5 種類あります:
-
perl_script_install
-
python_script_install
-
ruby_script_install
-
lua_script_install
-
tcl_script_install
シグナルを受け取ったらコールバックは以下のように働きます:
-
インストール済みスクリプトを再読み込みして削除。
-
新しいスクリプトをディレクトリ ~/.weechat/xxx/ に移動 (xxx はプログラミング言語)
-
新しいスクリプトへのリンクをディレクトリ ~/.weechat/xxx/autoload/ に作成
-
新しいスクリプトを読み込む
script プラグインはスクリプトをインストールする際にこれらのシグナルを使っています。
引数はインストールするスクリプトのパスを収めた文字列です。
C 言語での使用例:
スクリプト (Python) での使用例:
xxx_script_remove シグナル
プログラミング言語ごとに、リスト文字列に含まれるスクリプトを削除するために送信するシグナルが 5 種類あります:
-
perl_script_remove
-
python_script_remove
-
ruby_script_remove
-
lua_script_remove
-
tcl_script_remove
リスト文字列に含まれるそれぞれのスクリプトについて、コールバックはスクリプトを再読み込みして削除します。
script プラグインはスクリプトを削除する際にこれらのシグナルを使っています。
引数は削除したいスクリプトのコンマ区切りリスト文字列です (パスを含まないスクリプトの名前を使います、例えば script.py).
C 言語での使用例:
スクリプト (Python) での使用例:
irc_input_send シグナル
WeeChat バージョン 0.3.4 以上で利用可。
irc バッファ(サーバ、チャンネル、プライベート) への入力をシミュレートするにはシグナル "irc_input_send" を送信してください。
引数は以下のフォーマットに従う文字列です:
-
内部サーバ名 (必須)
-
セミコロン
-
チャンネル名 (任意)
-
セミコロン
-
メッセージを送信する際に使うフラグ (任意、デフォルトは 1):
-
1: 高い優先度を持つキュー (ユーザメッセージなどと同等)
-
2: 低い優先度を持つキュー (WeeChat が自動的に送信するメッセージと同等)
-
-
セミコロン
-
メッセージを送信する際に使うタグのコンマ区切りリスト (任意)
-
セミコロン
-
テキストまたはコマンド (必須)
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.11. weechat_hook_hsignal
WeeChat バージョン 0.3.4 以上で利用可。
hsignal (ハッシュテーブルを持つシグナル) をフック。
プロトタイプ:
Arguments:
-
signal: キャッチするシグナル、ワイルドカード "*" を使うことができます (優先度の設定が可能、優先度に関する注意を参照) (以下の表を参照)
-
callback: シグナルを受信した際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
const char *signal: 受信したシグナル
-
struct t_hashtable *hashtable: ハッシュテーブル
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_OK_EAT (直ちにシグナルの送信を止める) (WeeChat バージョン 0.4.0 以上で利用可)
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
hsignal のリスト:
プラグイン | シグナル | 引数 | 説明 |
---|---|---|---|
irc |
irc_redirection_xxx_yyy (1) |
出力の転送 |
|
weechat |
nicklist_group_added |
buffer (struct t_gui_buffer *): バッファ |
ニックネームリストにグループを追加 |
weechat |
nicklist_nick_added |
buffer (struct t_gui_buffer *): バッファ |
ニックネームリストにニックネームを追加 |
weechat |
nicklist_group_removing |
buffer (struct t_gui_buffer *): バッファ |
ニックネームリストからグループを削除 |
weechat |
nicklist_nick_removing |
buffer (struct t_gui_buffer *): バッファ |
ニックネームリストからニックネームを削除 |
weechat |
nicklist_group_changed |
buffer (struct t_gui_buffer *): バッファ |
ニックネームリストに含まれるグループを変更 |
weechat |
nicklist_nick_changed |
buffer (struct t_gui_buffer *): バッファ |
ニックネームリストに含まれるニックネームを変更 |
Note
|
(1) xxx は転送で送信するシグナル、yyy は転送元のシグナル。 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.12. weechat_hook_hsignal_send
WeeChat バージョン 0.3.4 以上で利用可、バージョン 1.0 で更新。
hsignal (ハッシュテーブルを持つシグナル) を送信。
プロトタイプ:
引数:
-
signal: 送信するシグナル
-
hashtable: ハッシュテーブル
戻り値 (WeeChat バージョン 1.0 以上で利用可。):
-
最後に実行したコールバックの戻り値 (コールバックを実行しなかった場合は WEECHAT_RC_OK):
-
WEECHAT_RC_OK
-
WEECHAT_RC_OK_EAT
-
WEECHAT_RC_ERROR
-
C 言語での使用例:
スクリプト (Python) での使用例:
Hsignal irc_redirect_command
WeeChat バージョン 0.3.4 以上で利用可。
hsignal "irc_redirect_command" は irc コマンドの出力をコールバックに転送するためのものです。
引数は以下のエントリを持つハッシュテーブル (キーと値は文字列) です:
-
server: 内部サーバ名 (必須)
-
pattern: 転送パターン (必須)、デフォルトパターン (irc プラグインが定義したもの) またはユーザ定義パターン ([hsignal_irc_redirect_pattern] を参照) のどちらか一方、デフォルトパターンは以下:
-
ison
-
list
-
mode_channel
-
mode_channel_ban ("mode #channel b")
-
mode_channel_ban_exception ("mode #channel e")
-
mode_channel_invite ("mode #channel I")
-
mode_user
-
monitor
-
names
-
ping
-
time
-
topic
-
userhost
-
who
-
whois
-
whowas
-
-
signal: シグナル名 (必須)
-
count: 転送を行う回数 (任意、デフォルトは 1 回)
-
string: 受信する irc メッセージに含まれる文字列 (任意ですが推奨します、この文字列を含むメッセージだけを転送します)
-
timeout: 転送のタイムアウト、秒単位 (任意、デフォルトは 60)
-
cmd_filter: フィルタする irc コマンドのコンマ区切りリスト (これらのコマンドはコールバックに送信されます、これ以外のコマンドは無視されます) (任意)
この hsignal を送信したら必ずその直後に irc サーバにコマンドを送信してください、そうすれば送信したコマンドに対する応答が転送されます。
コマンドに対する応答を完全に受信したら、hsignal が送信されます。この hsignal は irc_redirection_xxx_yyy という名前で、ここで xxx は signal 、yyy は pattern で指定したものになります。
以下の内容からなるハッシュテーブルが hsignal で送信されます (キーと値は文字列):
-
output: コマンドの出力 (メッセージは "\n" で区切られています)
-
output_size: output のバイト数 (文字列)
-
error: エラー文字列 (エラーが起きた場合):
-
timeout: タイムアウトで転送を中止
-
-
server: 内部サーバ名
-
pattern: 転送パターン
-
signal: シグナル名
-
command: リダイレクトされたコマンド
C 言語での使用例:
スクリプト (Python) での使用例:
Hsignal irc_redirect_pattern
WeeChat バージョン 0.3.4 以上で利用可。
hsignal "irc_redirect_pattern" は irc 転送用のパターンを作成するために送信します ([hsignal_irc_redirect_command] を参照)。
引数は以下のエントリを持つハッシュテーブルです (キーと値は文字列):
-
pattern: パターンの名前 (必須)
-
timeout: パターンのデフォルトタイムアウト、秒単位 (任意、デフォルトは 60)
-
cmd_start: 転送を開始するコマンドのコンマ区切りリスト (任意)
-
cmd_stop: 転送を終了するコマンドのコンマ区切りリスト (必須)
-
cmd_extra: コマンドを停止した後に受信する可能性のあるコマンドのコンマ区切りリスト (任意)
cmd_start'、'cmd_stop'、'cmd_extra には受け取ったメッセージに必ず含まれていなければいけない "string" の位置を示す整数を与えることが可能、例:
352:1,354,401:1
コマンド 352 と 401 の応答は最初の受信メッセージの第 1 引数に "string" が含まれていなければいけません。
Important
|
パターンは転送で使われた後に破棄されます、 複数回の転送でパターンを必要な場合は、転送前に毎回必ずパターンを作ってください。 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.13. weechat_hook_config
設定オプションをフック。
プロトタイプ:
引数:
-
option: オプション、フォーマットは完全な名前、コマンド
/set
で使うのと同じ (例:weechat.look.item_time_format
)、ワイルドカード "*" を使うことができます (優先度の設定が可能、優先度に関する注意を参照) -
callback: 設定オプションが変更されたら呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
const char *option: オプションの名前
-
const char *value: オプションの新しい値
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.14. weechat_hook_completion
補完をフック。
プロトタイプ:
引数:
-
completion_item: 補完要素の名前、この後フックされたコマンドで %(name) を使うことができます (completion 引数) (優先度の設定が可能、優先度に関する注意を参照)
-
description: 補完の説明
-
callback: 補完要素 (ユーザはこの要素を使って何かを補完している) が使われた場合に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
const char *completion_item: 補完要素の名前
-
struct t_gui_buffer *buffer: 補完が行われたバッファ
-
struct t_gui_completion *completion: 補完に際して単語を追加するために使われる構造体 (weechat_hook_completion_list_add を参照)
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
Note
|
補完名はグローバルです (WeeChat とプラグインで共有されます)。このため、"plugin_xxx" (ここで "xxx" は要素の名前) などの一意的なプレフィックスをつけた名前を使うことをおすすめします。 |
Important
|
コールバックは
weechat_hook_completion_list_add
関数を呼び出すだけで、コマンドラインをコールバックで絶対に*変更しない*でください。 Tab が押された時にコマンドラインを更新するためには、関数 weechat_hook_command_run を使ってコマンド "/input complete_next" をフックしてください (コールバックがコマンドラインを更新する場合は必ず WEECHAT_RC_OK_EAT を返してください。そうすれば WeeChat は補完を行いません)。 |
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.15. weechat_hook_completion_get_string
WeeChat バージョン 0.3.4 以上で利用可。
補完プロパティを文字列で取得。
プロトタイプ:
引数:
-
completion: 補完へのポインタ
-
property: プロパティ名:
-
base_command: 補完に使ったコマンド
-
base_word: 補完された単語
-
args: コマンド引数 (元の単語を含む)
-
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.16. weechat_hook_completion_list_add
補完用に単語を追加。
プロトタイプ:
引数:
-
completion: 補完へのポインタ
-
word: 追加する単語
-
nick_completion: 単語がニックネームの場合は 1、そうでなければ 0
-
where: 単語を追加するリスト上での位置:
-
WEECHAT_LIST_POS_SORT: リストがソートされた状態になるような位置
-
WEECHAT_LIST_POS_BEGINNING: リストの最初
-
WEECHAT_LIST_POS_END: リストの最後
-
C 言語での使用例: weechat_hook_completion を参照。
スクリプト (Python) での使用例:
3.11.17. weechat_hook_modifier
修飾子をフック。
プロトタイプ:
引数:
-
modifier: 修飾子名、Weechat またはプラグインが使う修飾子のリスト (優先度の設定が可能、優先度に関する注意を参照) (以下の表を参照)
-
callback: 修飾子が使われた際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
const char *modifier: 修飾子の名前
-
const char *modifier_data: 修飾子に渡すデータ
-
const char *string: 修飾子に渡す文字列
-
戻り値: 新しい文字列
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
WeeChat とプラグインが使う修飾子のリスト:
修飾子 | 修飾子データ | 文字列 | 出力 |
---|---|---|---|
charset_decode |
plugin.buffer_name |
任意の文字列 |
プラグインおよびバッファの文字セットから UTF-8 にデコードされた文字列 |
charset_encode |
plugin.buffer_name |
任意の文字列 |
UTF-8 からプラグインおよびバッファの文字セットにエンコードされた文字列 |
irc_color_decode |
色を保持する場合は "1"、削除する場合は "0" |
任意の文字列 |
WeeChat 色コードに変換された IRC 色コードを含む (または IRC 色コードを削除された) 文字列 |
irc_color_encode |
色を保持する場合は "1"、削除する場合は "0" |
任意の文字列 |
IRC 色コードを含む (または IRC 色コードを削除された) 文字列 |
irc_color_decode_ansi |
色を保持する場合は "1"、削除する場合は "0" |
任意の文字列 |
IRC 色コードに変換された ANSI 色コードを含む (または ANSI 色コードを削除された) 文字列 |
irc_command_auth |
サーバ名 |
認証コマンド (例: |
パスワードを隠したコマンド (例: |
irc_message_auth |
サーバ名 |
|
パスワードを隠したメッセージ |
irc_in_xxx (1) |
サーバ名 |
IRC サーバから受信したメッセージの内容 (文字セットをデコードする前) |
メッセージの新しい内容 |
irc_in2_xxx (1) |
サーバ名 |
IRC サーバから受信したメッセージの内容 (文字セットをデコードした後) |
メッセージの新しい内容 |
irc_out1_xxx (1) |
サーバ名 |
IRC サーバに送信するメッセージの内容 (512 バイトを超えないように自動分割する前) |
メッセージの新しい内容 |
irc_out_xxx (1) |
サーバ名 |
IRC サーバに送信するメッセージの内容 (512 バイトを超えないように自動分割した後) |
メッセージの新しい内容 |
color_decode_ansi |
色を保持する場合は "1"、削除する場合は "0" |
任意の文字列 |
WeeChat 色コードに変換された ANSI 色コードを含む (または ANSI 色コードを削除された) 文字列 |
bar_condition_yyy (2) |
ウィンドウへのポインタの文字列 ("0x123..") |
空文字列 |
バーを表示する場合は "1"、隠す場合は "0" |
history_add |
バッファへのポインタの文字列 ("0x123..") |
コマンド履歴に追加するコマンドラインの内容 (バッファとグローバル履歴) |
コマンド履歴に追加した文字列 |
input_text_content |
バッファへのポインタの文字列 ("0x123..") |
コマンドラインの内容 |
コマンドラインの新しい内容 |
input_text_display |
バッファへのポインタの文字列 ("0x123..") |
カーソルタグを含まないコマンドラインの内容 |
新しい文字列、表示のみ (コマンドラインは変化しない) |
input_text_display_with_cursor |
バッファへのポインタの文字列 ("0x123..") |
カーソルタグを含むコマンドラインの内容 |
新しい文字列、表示のみ (コマンドラインは変化しない) |
input_text_for_buffer |
バッファへのポインタの文字列 ("0x123..") |
バッファに送信するコマンドラインの内容 (テキストまたはコマンド) |
バッファに送信するコマンドラインの新しい内容 |
weechat_print |
plugin + ";" + buffer_name + ";" + tags |
表示されたメッセージ |
表示される新しいメッセージ |
Note
|
(1) xxx は IRC コマンド名。 (2) yyy はバーの名前。 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.18. weechat_hook_modifier_exec
修飾子を実行。
プロトタイプ:
引数:
-
modifier: 修飾子の名前
-
modifier_data: 修飾子に渡すデータ
-
string: 修正する文字列
戻り値:
-
修正された文字列、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.19. weechat_hook_info
情報をフック (コールバックを呼び出し、文字列を返す)。
プロトタイプ:
引数:
-
info_name: 情報の名前 (優先度の設定が可能、優先度に関する注意を参照)
-
description: 説明
-
args_description: 引数の説明 (任意、NULL にすることも可)
-
callback: 情報が要求されたら呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
const char *info_name: 情報の名前
-
const char *arguments: 追加の引数、情報に依存
-
戻り値: 要求された情報の値
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.20. weechat_hook_info_hashtable
WeeChat バージョン 0.3.4 以上で利用可。
情報をフック (コールバックを呼び出し、ハッシュテーブルを返す)。
プロトタイプ:
引数:
-
info_name: 情報の名前 (優先度の設定が可能、優先度に関する注意を参照)
-
description: 説明
-
args_description: 引数ハッシュテーブルの説明 (任意、NULL でも可)
-
output_description: コールバックが返すハッシュテーブルの説明 (任意、NULL でも可)
-
callback: 情報を要求する際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
const char *info_name: 情報の名前
-
struct t_hashtable *hashtable: ハッシュテーブル、情報に依存
-
戻り値: 要求したハッシュテーブル
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.21. weechat_hook_infolist
インフォリストをフック: コールバックは要求したインフォリストへのポインタを返す。
プロトタイプ:
引数:
-
infolist_name: インフォリストの名前 (優先度の設定が可能、優先度に関する注意を参照)
-
description: 説明
-
pointer_description: ポインタの説明 (任意、NULL でも可)
-
args_description: 引数の説明 (任意、NULL でも可)
-
callback: インフォリストが要求された際に呼び出すコールバック、引数と戻り値:
-
void *data: ポインタ
-
const char *infolist_name: インフォリストの名前
-
void *pointer: インフォリストが返すオブジェクトへのポインタ (インフォリストの要素を 1 つだけ返す)
-
const char *arguments: 追加の引数、インフォリストに依存
-
戻り値: 要求したインフォリスト
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.22. weechat_hook_hdata
hdata をフック: コールバックは要求した hdata へのポインタを返す。
プロトタイプ:
引数:
-
hdata_name: hdata の名前 (優先度の設定が可能、優先度に関する注意を参照)
-
description: 説明
-
callback: hdata が要求された際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
const char *hdata_name: hdata の名前
-
戻り値: 要求された hdata
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.11.23. weechat_hook_focus
フォーカス (マウスイベントやカーソルモード (カーソルが自由に移動出来る状態) でキーが押されたこと) をフック。
プロトタイプ:
引数:
-
area: チャットエリアの場合は "chat"、またはバー要素の名前 (優先度の設定が可能、優先度に関する注意を参照)
-
callback: フォーカスが当たったら呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
struct t_hashtable *info: フォーカスの情報を含むハッシュテーブルと、他の (より高い優先度を持つ) フォーカスコールバックを呼び出して返された文字列 (以下のテーブルを参照)
-
戻り値: "info" ポインタ (完全なハッシュテーブル) または新しいハッシュテーブル (コールバックが作成、キーと値は "string" 型) へのポインタ、この新しいハッシュテーブルの内容は info に追加され、他のフォーカスコールバックに渡されます
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
Important
|
マウスジェスチャの場合、コールバックを 2 回呼び出します: 1 回目はボタンが押された時 (この時のエリアはジェスチャ対象のエリアです)、2 回目はボタンが離された時 (この時のエリアはマスジェスチャを開始したエリアとは異なる場合があります): このため、必ず毎回 コールバックをテストして、ハッシュテーブルに含まれる info を使う前にエリアが一致していることを確認して下さい。 |
コールバックに送られるハッシュテーブルの内容 (キーと値は "string" 型):
キー (1) | 説明 | 値の例 | 定義できない場合の値 |
---|---|---|---|
|
スクリーン上での列座標 |
"0" … "n" |
|
|
スクリーン上での行座標 |
"0" … "n" |
|
|
キーまたはマウスイベント |
"button1"、"button2-gesture-left"、… |
|
|
ウィンドウへのポインタ |
"0x12345678" |
"" |
|
ウィンドウの番号 |
"1" … "n" |
"*" |
|
バッファへのポインタ |
"0x12345678" |
"" |
|
バッファの番号 |
"1" … "n" |
"-1" |
|
バッファのプラグイン名 |
"core"、"irc"、… |
"" |
|
バッファの名前 |
"weechat"、"freenode.#weechat"、… |
"" |
|
バッファの完全な名前 |
"core.weechat"、"irc.freenode.#weechat"、… |
"" |
|
バッファのローカル変数 |
任意の値 |
未定義 |
|
チャットエリアインジケータ |
"0" または "1" |
"0" |
|
行中の列番号 (3) |
"0" … "n" |
"-1" |
|
行番号 (3) |
"0" … "n" |
"-1" |
|
日付/時間の行 |
"1313237175" |
"0" |
|
日付/時間の行 (4) |
"1313237175" |
"0" |
|
表示された時間 |
"14:06:15" |
"" |
|
行に設定されたタグ |
"irc_privmsg,nick_flashy,log1" |
"" |
|
行を発言したニックネーム |
"FlashCode" |
"" |
|
行のプレフィックス |
"@FlashCode" |
"" |
|
行のメッセージ部分 |
"Hello world!" |
"" |
|
(x,y) の位置にある単語 |
"Hello" |
"" |
|
行頭から (x-1,y) まで |
"He" |
"" |
|
(x,y) から行末まで |
"llo world!" |
"" |
|
バーの名前 |
"title"、"nicklist"、… |
"" |
|
バーのフィリング |
"horizontal"、"vertical"、… |
"" |
|
バー要素の名前 |
"buffer_nicklist"、"hotlist"、… |
"" |
|
バー要素中の行座標 |
"0" … "n" |
"-1" |
|
バー要素中の列座標 |
"0" … "n" |
"-1" |
Note
|
(1) "2" を後ろにつけたキー (例: "_x2"、"_y2"、"_window2"、…)
には 2 番目の位置に関する情報が収められています
(この値に意味があるマウスジェスチャの時だけで、マウスボタンの離された位置に関する情報が収められています)。 (2) XXX はバッファのローカル変数の名前です。(3) これは自由内容のバッファで定義されています。 (4) WeeChat がバッファに行を追加した日付です ("_chat_line_date" よりも大きいか同じ)。 |
バー要素 "buffer_nicklist" の追加情報:
キー | プラグイン (1) | 説明 |
---|---|---|
|
core |
ニックネーム |
|
core |
ニックネームのプレフィックス |
|
core |
グループ名 |
|
irc |
ニックネームのホスト名 (判る場合) |
Note
|
(1) プラグインの名前は hook_focus がどのバー要素に関する情報を渡したかを意味しています (したがって、例えばプラグインが "irc" の場合、ハッシュテーブル info の内容は irc バッファに関するものになります)。 |
戻り値:
-
新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.24. weechat_hook_set
WeeChat バージョン 0.3.9 以上で利用可 (スクリプト: WeeChat バージョン 0.4.3 以上で利用可)。
フックプロパティの文字列値を設定。
プロトタイプ:
引数:
-
hook: "weechat_hook_xxx()" の戻り値
-
property: プロパティ名 (以下の表を参照)
-
value: プロパティの新しい値
プロパティ:
名前 | フック型 | 値 | 説明 |
---|---|---|---|
subplugin |
任意の型 |
任意の文字列 |
サブプラグインの名前 (通常は |
stdin |
process 、process_hashtable |
任意の文字列 |
子プロセスの標準入力 (stdin) にデータを送信 |
stdin_close |
process 、process_hashtable |
(非使用) |
子プロセスの標準入力 (stdin) にデータを送信するパイプを閉じる |
signal |
process'、'process_hashtable |
シグナル番号または以下の名前から 1 つ:
|
子プロセスにシグナルを送信 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.25. weechat_unhook
フックを解除。
プロトタイプ:
引数:
-
hook: "weechat_hook_xxx()" の戻り値
C 言語での使用例:
スクリプト (Python) での使用例:
3.11.26. weechat_unhook_all
現在のプラグインで設定したフックをすべて解除。
プロトタイプ:
C 言語での使用例:
スクリプト (Python) での使用例:
3.12. バッファ
バッファを作成/検索/閉じる関数
3.12.1. weechat_buffer_new
新しいバッファを開く。
プロトタイプ:
引数:
-
name: バッファの名前 (プラグインに対して固有)
-
input_callback: 入力テキストをバッファに挿入する際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
struct t_gui_buffer *buffer: バッファポインタ
-
const char *input_data: 入力データ
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
-
close_callback: バッファを閉じる際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
struct t_gui_buffer *buffer: バッファポインタ
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data: WeeChat がコールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
新しいバッファへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.2. weechat_current_buffer
現在のバッファへのポインタを返す (現在のウィンドウに表示されているバッファ)。
プロトタイプ:
戻り値:
-
現在のバッファへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.3. weechat_buffer_search
バージョン 1.0 で更新。
プラグインおよび名前でバッファを検索。
プロトタイプ:
引数:
-
plugin: プラグインの名前、以下の特殊値を使うことができます:
-
==
: name 引数でバッファの完全な名前を使う (例:freenode.#weechat
ではなくirc.freenode.#weechat
) (WeeChat バージョン 1.0 以上で利用可)
-
-
name: バッファの名前、NULL または空文字列の場合、現在のバッファ (現在のウィンドウに表示されているバッファ) を返す; 名前が
(?i)
で始まる場合、検索は大文字小文字を区別せずに検索 (WeeChat バージョン 1.0 以上で利用可)
戻り値:
-
見つかったバッファへのポインタ、見つからない場合 NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.4. weechat_buffer_search_main
WeeChat メインバッファ (core バッファ、WeeChat を実行して最初に表示されるバッファ) を検索。
プロトタイプ:
戻り値:
-
WeeChat メインバッファ (core バッファ) へのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.5. weechat_buffer_clear
バッファの内容を消去。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.6. weechat_buffer_close
バッファを閉じる。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.7. weechat_buffer_merge
バッファを他のバッファにマージする: 両方のバッファは同じバッファ番号を持つ独立したバッファになり、WeeChat は両方のバッファからの行を表示する (行は混合されます)。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
target_buffer: ターゲットバッファ、マージ先のバッファ
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.8. weechat_buffer_unmerge
マージされたバッファからバッファのマージを解除する。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
number: 分離したバッファの宛先番号、1 より小さい場合、バッファは buffer の番号 + 1 になる
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.9. weechat_buffer_get_integer
バッファプロパティの整数値を返す。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
property: プロパティ名:
-
number: バッファの番号 (1 以上)
-
layout_number: レイアウトに保存されたバッファの番号
-
layout_number_merge_order: レイアウトのマージをする際の順番
-
short_name_is_set: 短い名前が設定されている場合は 1、そうでない場合は 0
-
type: バッファタイプ (0: フォーマット済み、1: 自由内容)
-
notify: バッファの通知レベル
-
num_displayed: バッファを表示しているウィンドウの数
-
active: バッファがマージされて選択されている場合は 2、バッファが選択されている場合は 1、バッファがマージされ選択されていない場合は 0
-
hidden: バッファが隠されている場合は 1、そうでない場合は 0 (WeeChat バージョン 1.0 以上で利用可)
-
zoomed: バッファがマージとズームされている場合は 1、そうでない場合は 0 (WeeChat バージョン 1.0 以上で利用可)
-
print_hooks_enabled: プリントフックが有効化されている場合は 1、そうでない場合は 0
-
day_change: 日付変更メッセージを表示する場合は 1、そうでない場合は 0 (WeeChat バージョン 0.4.3 以上で利用可)
-
clear: コマンド
/buffer clear
でバッファをクリアできる場合は 1、そうでない場合は 0 (WeeChat バージョン 1.0 以上で利用可) -
filter: バッファでフィルタが有効な場合は 1、そうでない場合は 0 (WeeChat バージョン 1.0 以上で利用可)
-
lines_hidden: バッファに非表示 (フィルタされた) メッセージが 1 行以上含まれる場合は 1、すべてのメッセージが表示冴えている場合は 0
-
prefix_max_length: バッファプレフィックスの最大長
-
time_for_each_line: バッファの各行に時間を表示する場合は 1 (デフォルト)、そうでない場合は 0
-
nicklist: ニックネームリストが有効化されている場合は 1、そうでない場合は 0
-
nicklist_case_sensitive: ニックネームの大文字小文字を区別する場合は 1、そうでない場合は 0
-
nicklist_max_length: ニックネームの最大長
-
nicklist_display_groups: グループを表示する場合 1、そうでない場合は 0
-
nicklist_count: ニックネームリストに含まれるニックネームとグループの数
-
nicklist_groups_count: ニックネームリストに含まれるグループの数
-
nicklist_nicks_count: ニックネームリストに含まれるニックネームの数
-
nicklist_visible_count: 表示されているニックネームとグループの数
-
input: 入力可能な場合は 1、そうでない場合は 0
-
input_get_unknown_commands: 未定義のコマンドを入力コールバックに送信する場合は 1、そうでない場合は 0
-
input_size: 入力サイズ (バイト単位)
-
input_length: 入力長 (文字数)
-
input_pos: バッファ入力におけるカーソル位置
-
input_1st_display: バッファ入力における 1 文字目
-
num_history: コマンド履歴の数
-
text_search: テキスト検索タイプ:
-
0: 現在検索していない
-
1: 後方検索 (検索方向: 最古のメッセージに向かって検索)
-
2: 前方検索 (検索方向: 最新のメッセージに向かって検索)
-
-
text_search_exact: テキスト検索で大文字小文字を区別する場合は 1
-
text_search_found: テキストが見つかった場合は 1、そうでない場合は 0
-
戻り値:
-
プロパティの整数値
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.10. weechat_buffer_get_string
バッファプロパティの文字列値を返す。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
property: プロパティ名:
-
plugin: バッファを作成したプラグインの名前 ("core" は WeeChat メインバッファ)
-
name: バッファの名前
-
full_name: バッファの完全な名前 ("plugin.name") (WeeChat バージョン 0.3.7 以上で利用可)
-
short_name: バッファの短縮名 (注意: 表示目的以外に使用するのは禁止、ユーザは書き換えることが可能、バッファを検索する際にこれを使ってはいけない、name'、'full_name'、またはローカル変数 'channel を使うこと)
-
title: バッファのタイトル
-
input: 入力テキスト
-
text_search_input: テキスト検索前に保存した入力テキスト
-
highlight_words: ハイライトする単語のリスト
-
highlight_regex: ハイライト用の POSIX 拡張正規表現
-
highlight_tags_restrict: これらのタグを付けられたメッセージだけにハイライトを制限する
-
highlight_tags: これらのタグを付けられたメッセージを強制的にハイライトする
-
hotlist_max_level_nicks: 一部のニックネームに対するホットリストレベルの最大値
-
localvar_xxx: ローカル変数 "xxx" の値 ("xxx" は読み出す変数の名前)
-
戻り値:
-
プロパティの文字列値
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.11. weechat_buffer_get_pointer
バッファプロパティのポインタ値を返す。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
property: プロパティ名:
-
plugin: このバッファを作ったプラグインへのポインタ (WeeChat メインバッファの場合は NULL)
-
highlight_regex_compiled: コンパイル済みの正規表現 highlight_regex
-
戻り値:
-
プロパティのポインタ値
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.12. weechat_buffer_set
バッファプロパティに文字列値を設定。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
property: プロパティ名 (以下の表を参照)
-
value: プロパティの新しい値
プロパティ:
名前 | 値 | 説明 |
---|---|---|
hotlist |
"+", "-", WEECHAT_HOTLIST_LOW, WEECHAT_HOTLIST_MESSAGE, WEECHAT_HOTLIST_PRIVATE, WEECHAT_HOTLIST_HIGHLIGHT, "-1" |
"+": ホットリストを有効化 (グローバル設定、バッファへのポインタは使われない) |
completion_freeze |
"0" または "1" |
"0": 補完を止める (デフォルト)
(グローバル設定、バッファへのポインタは使われない) |
unread |
- |
バッファの最後の行の後に未読マーカーを設定 |
display |
"1" または "auto" |
"1": 指定したバッファを現在のウィンドウに表示 |
hidden |
"0" または "1" |
"0": バッファを隠すことを止める |
number |
番号 |
指定したバッファをこの番号に移動 |
name |
任意の文字列 |
指定したバッファの新しい名前を設定 |
short_name |
任意の文字列 |
指定したバッファの新しい短縮名を設定 |
type |
"formatted" または "free" |
バッファのタイプを設定: "formatted" (チャットメッセージ用)、または "free" (自由内容用); 値が "free" の場合、clear プロパティは強制的に "0" に設定されます (WeeChat バージョン 1.0 以上で利用可) |
notify |
"0", "1", "2", "3" |
バッファの通知レベルを設定: "0" = ホットリストに追加しない、"1" = ハイライトされた場合のみ追加、"2" = ハイライトされた場合とメッセージを受信した場合に追加、"3" = 任意のメッセージを受信した場合に追加 |
print_hooks_enabled |
"0" or "1" |
プリントフックを無効化する場合は "0"、有効化する場合は "1" (新規バッファに対するデフォルト) |
day_change |
"0" または "1" |
日付変更メッセージを隠す場合は "0"、表示する場合は "1" (新規バッファに対するデフォルト) |
clear |
"0" または "1" |
ユーザからのコマンド |
filter |
"0" または "1" |
"0": バッファでフィルタを無効化 |
title |
任意の文字列 |
指定したバッファの新しいタイトルを設定 |
time_for_each_line |
"0" または "1" |
バッファのすべての行に時間を表示しない場合は "0"、表示する場合は "1" (新規バッファに対するデフォルト) |
nicklist |
"0" または "1" |
バッファのニックネームリストを表示しない場合は "0"、表示する場合は "1" |
nicklist_case_sensitive |
"0" または "1" |
ニックネームリストで大文字小文字を区別しない場合は "0"、区別する場合は "1" |
nicklist_display_groups |
"0" または "1" |
ニックネームリストグループを隠す場合は "0"、表示する場合は "1" |
highlight_words |
"-" または単語のコンマ区切りリスト |
任意のハイライトを無効化する場合は特殊値 "-"、または指定したバッファ内でハイライトする単語のコンマ区切りリスト、例: "abc,def,ghi" |
highlight_words_add |
単語のコンマ区切りリスト |
指定したバッファ内でハイライトする単語のコンマ区切りリスト、 これらの単語を指定したバッファ内でハイライトする単語に追加します |
highlight_words_del |
単語のコンマ区切りリスト |
指定したバッファ内でハイライトする単語から削除する単語のコンマ区切りリスト |
highlight_regex |
任意の文字列 |
ハイライトする POSIX 拡張正規表現 |
highlight_tags_restrict |
タグのコンマ区切りリスト |
指定したバッファ内でこれらのタグをつけられたメッセージだけを対象にハイライトする (区切り文字 "+" で論理 "and" を表現することにより複数のタグを組み合わせて使うことができます、例: "nick_toto+irc_action") |
highlight_tags |
タグのコンマ区切りリスト |
指定したバッファ内でこれらのタグをつけられたメッセージを強制的にハイライトする (区切り文字 "+" で論理 "and" を表現することにより複数のタグを組み合わせて使うことができます、例: "nick_toto+irc_action") |
hotlist_max_level_nicks |
"nick:level" のコンマ区切りリスト |
指定したバッファに対するホットリストの最大レベルを付けたニックネームのコンマ区切りリスト (レベル: -1: ホットリストに追加しない、0: 低い、1: メッセージ、2: プライベート、3: ハイライト)、例: "joe:2,mike:-1,robert:-1" (joe さんのメッセージはハイライトされない、mike さんと robert さんはホットリストを変更しない) |
hotlist_max_level_nicks_add |
"nick:level" のコンマ区切りリスト |
ホットリストの最大レベルを付けたニックネームのコンマ区切りリスト、 これらのニックネームを指定したバッファ内のニックネームに追加します |
hotlist_max_level_nicks_del |
ニックネームのコンマ区切りリスト |
ホットリストの最大レベルから削除するニックネームのコンマ区切りリスト |
key_bind_xxx |
任意の文字列 |
指定したバッファに対して新しいキー xxx を割り当てる、値はキーを押して実行するコマンド |
key_unbind_xxx |
- |
指定したバッファに対してキー xxx の割り当てを解除する |
input |
任意の文字列 |
バッファ入力に新しい値を設定 |
input_pos |
位置 |
バッファ入力のカーソル位置を設定 |
input_get_unknown_commands |
"0" または "1" |
指定したバッファに対する未定義のコマンドを無効にする場合は "0" (デフォルト)、未定義のコマンドを受け入れる場合は "1"、例えばユーザが "/unknowncmd" を入力した場合、バッファはこれを受け入れる (未定義のコマンドに対するエラーを出さない) |
localvar_set_xxx |
任意の文字列 |
ローカル変数 xxx の新しい値を設定 (存在しない変数の場合は変数を作成する) |
localvar_del_xxx |
- |
ローカル変数 xxx を削除 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.13. weechat_buffer_set_pointer
バッファプロパティのポインタ値を設定。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
property: プロパティ名:
-
close_callback: close コールバック関数を設定
-
close_callback_data: close コールバックデータを設定
-
input_callback: 入力コールバック関数を設定
-
input_callback_data: 入力コールバックデータを設定
-
nickcmp_callback: ニックネーム比較コールバック関数を設定 (ニックネームリストからニックネームを検索する際にこのコールバックを使用) (WeeChat バージョン 0.3.9 以上で利用可)
-
nickcmp_callback_data: ニックネーム比較コールバックデータを設定 (WeeChat バージョン 0.3.9 以上で利用可)
-
-
pointer: プロパティの新しいポインタ値
コールバックのプロトタイプ:
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.12.14. weechat_buffer_string_replace_local_var
文字列に含まれるバッファローカル変数をその値で展開する。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
string: テキストおよび "$var" フォーマットのローカル変数を含む文字列
戻り値:
-
ローカル変数を展開した文字列
C 言語での使用例:
スクリプト (Python) での使用例:
3.12.15. weechat_buffer_match_list
WeeChat バージョン 0.3.5 以上で利用可。
バッファがバッファのリストにマッチすることを確認。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
string: バッファのコンマ区切りリスト:
-
"*" 任意のバッファにマッチ
-
名前の最初に "!" がある場合はその名前を含まない場合にマッチ
-
名前にワイルドカード "*" を使うことができます
-
戻り値:
-
バッファがバッファリストにマッチする場合は 1、そうでない場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.13. ウィンドウ
ウィンドウを操作する関数。
3.13.1. weechat_current_window
現在のウィンドウへのポインタを返す。
プロトタイプ:
戻り値:
-
現在のウィンドウへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.13.2. weechat_window_search_with_buffer
WeeChat バージョン 0.3.5 以上で利用可。
バッファを表示しているウィンドウへのポインタを返す。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
戻り値:
-
バッファを表示しているウィンドウへのポインタ (バッファを表示しているウィンドウが無い場合は NULL)
C 言語での使用例:
スクリプト (Python) での使用例:
3.13.3. weechat_window_get_integer
ウィンドウプロパティの整数値を返す。
プロトタイプ:
引数:
-
window: ウィンドウへのポインタ
-
property: プロパティ名:
-
number: ウィンドウ番号 (1 以上)
-
win_x: 端末内でのウィンドウの X 座標 (1 列目は 0)
-
win_y: 端末内でのウィンドウの Y 座標 (1 行目は 0)
-
win_width: ウィンドウの横幅、文字単位
-
win_height: ウィンドウの縦幅、文字単位
-
win_width_pct: ウィンドウ横幅の百分率、親ウィンドウに対する割合 (例えば 50 は半分を意味する)
-
win_height_pct: ウィンドウ縦幅の百分率、親ウィンドウに対する割合 (例えば 50 は半分を意味する)
-
win_chat_x: チャットウィンドウの X 座標 (1 列目は 0)
-
win_chat_y: チャットウィンドウの Y 座標 (1 行目は 0)
-
win_chat_width: チャットウィンドウの横幅、文字単位
-
win_chat_height: チャットウィンドウの縦幅、文字単位
-
first_line_displayed: バッファの 1 行目がスクリーンに表示されている場合は 1、そうでなければ 0
-
scrolling: ウィンドウでスクロールが有効化されている場合 (最後の行が表示されていない場合) は 1
-
lines_after: バッファの最終行を表示した後にバッファに追加された行の数 (スクロール中)
-
戻り値:
-
プロパティの整数値
C 言語での使用例:
スクリプト (Python) での使用例:
3.13.4. weechat_window_get_string
ウィンドウプロパティの文字列値を返す。
Note
|
現在この関数を使うことはできません、将来のバージョン用に予約されています。 |
プロトタイプ:
引数:
-
window: ウィンドウへのポインタ
-
property: プロパティ名
戻り値:
-
プロパティの文字列値
3.13.5. weechat_window_get_pointer
ウィンドウプロパティのポインタ値を返す。
プロトタイプ:
引数:
-
window: ウィンドウへのポインタ
-
property: プロパティ名:
-
current: 現在のウィンドウへのポインタ
-
buffer: 指定したウィンドウが表示しているバッファへのポインタ
-
戻り値:
-
プロパティのポインタ値
C 言語での使用例:
スクリプト (Python) での使用例:
3.13.6. weechat_window_set_title
ターミナルのタイトルを設定。
プロトタイプ:
引数:
-
title: ターミナルの新しいタイトル (タイトルをリセットする場合は NULL)
C 言語での使用例:
スクリプト (Python) での使用例:
3.14. ニックネームリスト
バッファのニックネームリストを操作する関数。
3.14.1. weechat_nicklist_add_group
ニックネームリストにグループを追加。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
parent_group: グループの親へのポインタ、グループに親がない場合 NULL (ニックネームリスト)
-
name: グループ名
-
color: 色オプション名:
-
WeeChat オプション名、例えば weechat.color.nicklist_group
-
任意で背景色をつけた色、例えば yellow や yellow,red
-
バーの色名:
-
bar_fg: バーの前景色
-
bar_delim: バーの区切り文字
-
bar_bg: バーの背景色
-
-
-
visible:
-
1: グループとサブグループおよびニックネームを表示
-
0: グループとサブグループおよびニックネームを非表示
-
Note
|
グループ名の前に、1 桁以上の数字とパイプ文字を付けると、この数字を使ってニックネームリスト内のグループをソートします。例えば、グループ "1|test" と "2|abc" はこの順番で表示されます: 最初に "test" その後に "abc"。 |
戻り値:
-
新しいグループへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.2. weechat_nicklist_search_group
ニックネームリストからグループを検索。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
from_group: このグループのみを検索、全てのニックネームリストから検索する場合は NULL
-
name: 検索するグループ名
戻り値:
-
見つかったグループへのポインタ、見つからなかった場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.3. weechat_nicklist_add_nick
ニックネームをグループに追加。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
group: グループへのポインタ
-
name: ニックネーム
-
color: 色オプション名:
-
WeeChat オプション名 (weechat.color.xxx のオプション部分)、例えば chat_delimiters
-
任意で背景色をつけた色、例えば yellow や yellow,red
-
バーの色名:
-
bar_fg: バーの前景色
-
bar_delim: バーの区切り文字
-
bar_bg: バーの背景色
-
-
-
prefix: ニックネームの前に表示するプレフィックス
-
prefix_color: 色オプション名:
-
WeeChat オプション名 (weechat.color.xxx のオプション部分)、例えば chat_delimiters
-
任意で背景色をつけた色、例えば yellow や yellow,red
-
バーの色名:
-
bar_fg: バーの前景色
-
bar_delim: バーの区切り文字
-
bar_bg: バーの背景色
-
-
-
visible:
-
1: ニックネームを表示
-
0: ニックネームを非表示
-
戻り値:
-
新しいニックネームへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.4. weechat_nicklist_search_nick
ニックネームリストからニックネームを検索。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
from_group: このグループのみを検索、全てのニックネームリストから検索する場合は NULL
-
name: 検索するニックネーム
戻り値:
-
見つかったニックネームへのポインタ、見つからなかった場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.5. weechat_nicklist_remove_group
ニックネームリストからグループを削除。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
group: 削除するグループへのポインタ (同時に全てのサブグループおよびニックネームを削除)
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.6. weechat_nicklist_remove_nick
ニックネームリストからニックネームを削除。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
nick: 削除するニックネームへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.7. weechat_nicklist_remove_all
ニックネームリストから全てのグループおよびニックネームを削除。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.8. weechat_nicklist_get_next_item
WeeChat バージョン 0.3.7 以上で利用可。
ニックネームリストから次のグループまたはニックネームを取得 (主にニックネームリストを表示する際に利用)。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
group: グループへのポインタへのポインタ
-
nick: ニックネームへのポインタへのポインタ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.14.9. weechat_nicklist_group_get_integer
WeeChat バージョン 0.3.4 以上で利用可。
グループプロパティの整数値を返す。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
group: グループへのポインタ
-
property: プロパティ名:
-
visible: グループが表示されている場合は 1、そうでない場合は 0
-
level: グループレベル (ルートは 0)
-
戻り値:
-
プロパティの整数値
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.10. weechat_nicklist_group_get_string
WeeChat バージョン 0.3.4 以上で利用可。
グループプロパティの文字列値を返す。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
group: グループへのポインタ
-
property: プロパティ名:
-
name: グループの名前
-
color: ニックネームリストのグループ色
-
戻り値:
-
プロパティの文字列値
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.11. weechat_nicklist_group_get_pointer
WeeChat バージョン 0.3.4 以上で利用可。
グループプロパティのポインタ値を返す。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
group: グループへのポインタ
-
property: プロパティ名:
-
parent: 親グループへのポインタ
-
戻り値:
-
プロパティのポインタ値
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.12. weechat_nicklist_group_set
WeeChat バージョン 0.3.4 以上で利用可。
グループプロパティの文字列値。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
group: グループへのポインタ
-
property: プロパティ名 (以下の表を参照)
-
value: プロパティの新しい値
プロパティ:
名前 | 値 | 説明 |
---|---|---|
color |
WeeChat 色オプション名 |
関数 weechat_nicklist_add_group の引数 "color" を参照 |
visible |
"0"、"1" |
"0" = 非表示状態のグループ、"1" = 表示状態のグループ |
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.13. weechat_nicklist_nick_get_integer
WeeChat バージョン 0.3.4 以上で利用可。
ニックネームプロパティの整数値を返す。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
nick: ニックネームへのポインタ
-
property: プロパティ名:
-
visible: 表示状態のニックネームの場合 1、それ以外の場合は 0
-
戻り値:
-
プロパティの整数値
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.14. weechat_nicklist_nick_get_string
WeeChat バージョン 0.3.4 以上で利用可。
ニックネームプロパティの文字列値を返す。
プロトタイプ:
引数:
-
buffer: バッファへのプロパティ
-
nick: ニックネームへのポインタ
-
property: プロパティ名:
-
name: ニックネームの名前
-
color: ニックネームリスト内でのニックネームの色
-
prefix: ニックネームのプレフィックス
-
prefix_color: ニックネームリスト内でのプレフィックスの色
-
戻り値:
-
プロパティの文字列値
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.15. weechat_nicklist_nick_get_pointer
WeeChat バージョン 0.3.4 以上で利用可。
ニックネームプロパティのポインタ値を返す。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
nick: ニックネームへのポインタ
-
property: プロパティ名:
-
group: 指定したニックネームを含むグループへのポインタ
-
戻り値:
-
プロパティのポインタ値
C 言語での使用例:
スクリプト (Python) での使用例:
3.14.16. weechat_nicklist_nick_set
WeeChat バージョン 0.3.4 以上で利用可。
ニックネームプロパティの文字列値を設定。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ
-
nick: ニックネームへのポインタ
-
property: プロパティ名 (以下の表を参照)
-
value: プロパティの新しい値
プロパティ:
名前 | 値 | 説明 |
---|---|---|
color |
WeeChat 色オプション名 |
関数 weechat_nicklist_add_nick の引数 "color" を参照 |
prefix |
任意の文字列 |
指定したニックネームのプレフィックス |
prefix_color |
WeeChat color option name |
関数 weechat_nicklist_add_nick の引数 "prefix_color" を参照 |
visible |
"0", "1" |
"0" = 非表示状態のニックネーム、"1" = 表示状態のニックネーム |
C 言語での使用例:
スクリプト (Python) での使用例:
3.15. バー
バーを操作する関数。
3.15.1. weechat_bar_item_search
バー要素を検索。
プロトタイプ:
引数:
-
name: バー要素の名前
戻り値:
-
見つかったバー要素へのポインタ、バー要素が見つからない場合 NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.15.2. weechat_bar_item_new
バージョン 0.4.2 で更新。
新しいバー要素を作成。
プロトタイプ:
引数:
-
name: バー要素の名前
-
build_callback: バー要素を作成する際に呼び出す関数、引数と戻り値:
-
void *data: ポインタ
-
struct t_gui_bar_item *item: 要素へのポインタ
-
struct t_gui_window *window: ウィンドウへのポインタ (ルートバーの場合は NULL)
-
struct t_gui_buffer *buffer: ウィンドウに表示されているバッファ (ウィンドウが NULL の場合、現在のバッファ) または以下の構文で指定したバー要素に含まれるバッファ: "@buffer:item" (WeeChat バージョン 0.4.2 以上で利用可)
-
struct t_hashtable *extra_info: 常に NULL (この引数は将来のバージョン用に予約されています) (WeeChat バージョン 0.4.2 以上で利用可)
-
戻り値: バー要素の内容
-
-
build_callback_data: WeeChat が build コールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
バー要素へのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
Important
|
0.4.1 より古いバージョンに対する互換性のために、デフォルトのコールバックに渡す引数の個数は
3 個です: data 、item 、window (buffer と extra_info は渡されません)。 全ての引数を受け取るコールバックを使う場合は、名前の前に "(extra)" をつけてください、以下の例を参照 (WeeChat ≥ 0.4.2 でのみ有効)。 |
3.15.3. weechat_bar_item_update
build コールバックを呼び出してバー要素の内容を更新。
プロトタイプ:
引数:
-
name: バー要素の名前
C 言語での使用例:
スクリプト (Python) での使用例:
3.15.4. weechat_bar_item_remove
バー要素を削除。
プロトタイプ:
引数:
-
item: バー要素へのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.15.5. weechat_bar_search
バーを検索。
プロトタイプ:
引数:
-
name: バーの名前
戻り値:
-
見つかったバーへのポインタ、見つからなかった場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.15.6. weechat_bar_new
新しいバーを作成。
プロトタイプ:
引数:
-
name: バーの名前
-
hidden:
-
on: バーを非表示
-
off: バーを表示
-
-
priority: バーの優先度 (整数)
-
type:
-
root: ウィンドウの外に 1 回だけ表示されたバー
-
window: 各ウィンドウに表示されたバー
-
-
condition: バーの表示位置:
-
active: アクティブウィンドウのみに表示されているバー
-
inactive: 非アクティブウィンドウのみに表示されているバー
-
nicklist: ニックネームリストを持つウィンドウに表示されているバー
-
評価された式: WeeChat ユーザガイド のバーに関する章を参照
-
-
position: top 、bottom 、left 、right
-
filling_top_bottom:
-
horizontal: 要素は水平方向に詰め込まれている (各要素の後に間隔)
-
vertical: 要素は垂直方向に詰め込まれている (各要素の後に行)
-
columns_horizontal: 要素は水平方向に詰め込まれている、列と一緒に表示
-
columns_vertical: 要素は垂直方向に詰め込まれている、列と一緒に表示
-
-
filling_left_right:
-
horizontal: 要素は水平方向に詰め込まれている (各要素の後に間隔)
-
vertical: 要素は垂直方向に詰め込まれている (各要素の後に行)
-
columns_horizontal: 要素は水平方向に詰め込まれている、列と一緒に表示
-
columns_vertical: 要素は垂直方向に詰め込まれている、列と一緒に表示
-
-
size: バーのサイズ、文字単位 (0 は自動サイズ)
-
size_max: バーの最大サイズ (0 は最大サイズが指定されていない)
-
color_fg: バーのテキスト色
-
color_delim: バーの区切り文字の色
-
color_bg: バーの背景色
-
separator:
-
on: バーには他のウィンドウおよびバーとの区切り行がある
-
off: 区切り無し
-
-
items: バーの要素のリスト、コンマ (要素の間に間隔)、または "+" (要素の間に間隔を開けない) 区切り
戻り値:
-
新しいバーへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.15.7. weechat_bar_set
バープロパティに新しい値を設定。
プロトタイプ:
引数:
-
bar: バーへのポインタ
-
property: name、hidden、priority、conditions、position、filling_top_bottom、filling_left_right、size、size_max、color_fg、color_delim、color_bg、separator、items (weechat_bar_new を参照)
-
value: プロパティの新しい値
戻り値:
-
新しい値を設定した場合は 1、エラーが起きた場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.15.8. weechat_bar_update
スクリーン上のバーの内容を更新。
プロトタイプ:
引数:
-
name: バーの名前
C 言語での使用例:
スクリプト (Python) での使用例:
3.15.9. weechat_bar_remove
バーを削除。
プロトタイプ:
引数:
-
bar: バーへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.16. コマンド
WeeChat コマンドを実行する関数。
3.16.1. weechat_command
バージョン 1.1 で更新。
コマンドを実行。
プロトタイプ:
引数:
-
buffer: バッファへのポインタ (コマンドは指定したバッファで実行されます、現在のバッファで実行するには NULL を指定してください)
-
command: 実行するコマンド ("/" で始まっている場合)、またはバッファに送信するテキスト
戻り値: (WeeChat バージョン 1.1 以上で利用可)
-
WEECHAT_RC_OK 成功した場合
-
WEECHAT_RC_ERROR エラーが起きた場合
C 言語での使用例:
スクリプト (Python) での使用例:
3.17. ネットワーク
ネットワーク関数。
3.17.1. weechat_network_pass_proxy
プロキシへの接続および認証を確立する。
Important
|
この関数は connect() の呼び出しを遮断します、このため connect() を呼び出す場合は WeeChat がこれを遮断しないように必ずフォークしたプロセスの中で行ってください。 |
プロトタイプ:
引数:
-
proxy: 使用するプロキシ名
-
sock: 使用するソケット
-
address: アドレス (ホスト名または IP アドレス)
-
port: ポート番号
戻り値:
-
接続が確立された場合は 1、エラーが起きた場合は 0
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.17.2. weechat_network_connect_to
バージョン 0.4.3 で更新。
リモートホストとの接続を確立する。
Important
|
この関数は connect() の呼び出しを遮断します、このため connect() を呼び出す場合は WeeChat がこれを遮断しないように必ずフォークしたプロセスの中で行ってください。 |
プロトタイプ:
引数:
-
proxy: 使用するプロキシ名
-
address: 接続先のアドレス (ポート番号を含む)
-
address_length: 引数 address の長さ
戻り値:
-
接続が確立した場合はソケット番号 (>= 0)、エラーが起きた場合は -1
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.18. 情報
情報を取得する関数。
3.18.1. weechat_info_get
文字列型で WeeChat またはプラグインからの情報を返す。
プロトタイプ:
引数:
-
info_name: 読み出す情報の名前 (以下の表を参照)
-
arguments: 指定した情報に対する引数 (任意、引数を指定しない場合は NULL)
戻り値:
-
指定した情報を含む文字列、エラーが起きた場合は NULL
情報:
プラグイン | 名前 | 説明 | 引数 |
---|---|---|---|
aspell |
aspell_dict |
バッファで使用中の辞書のコンマ区切りリスト |
バッファポインタ ("0x12345678") またはバッファのフルネーム ("irc.freenode.#weechat") |
fifo |
fifo_filename |
FIFO パイプの名前 |
- |
irc |
irc_buffer |
ある IRC サーバ/チャンネル/ニックネームのバッファポインタを取得 |
server,channel,nick (channel と nick は任意) |
irc |
irc_is_channel |
文字列がサーバの有効な IRC チャンネル名なら 1 |
サーバ、チャンネル (サーバは任意) |
irc |
irc_is_nick |
文字列が有効な IRC ニックネームなら 1 |
ニックネーム |
irc |
irc_nick |
あるサーバの現在のニックネームを取得 |
サーバ名 |
irc |
irc_nick_color |
ニックネームの色コードを取得 |
ニックネーム |
irc |
irc_nick_color_name |
ニックネームの色名を取得 |
ニックネーム |
irc |
irc_nick_from_host |
IRC ホストからニックネームを取得 |
IRC ホスト (例: |
irc |
irc_server_isupport |
サーバがこの機能がサポートする場合は 1 (IRC メッセージ 005 を使う) |
server,feature |
irc |
irc_server_isupport_value |
サーバがサポートする場合、機能の値 (IRC メッセージ 005 を使う) |
server,feature |
python |
python2_bin |
python 2.x インタプリタへのパス |
- |
relay |
relay_client_count |
中継するクライアントのリスト |
状態名 (任意): connecting、waiting_auth、connected、auth_failed、disconnected |
weechat |
charset_internal |
WeeChat 内部文字集合 |
- |
weechat |
charset_terminal |
ターミナルの文字集合 |
- |
weechat |
color_ansi_regex |
ANSI エスケープコードを検索する POSIX 拡張正規表現 |
- |
weechat |
color_rgb2term |
ターミナル色コード (0-255) に変換されたRGB 色コード |
rgb,limit (limit は任意でデフォルトでは 256 に設定) |
weechat |
color_term2rgb |
RGB 色コードに変換されたターミナル色コード (0-255) |
色コード (ターミナル色コード: 0-255) |
weechat |
cursor_mode |
カーソルモードが有効の場合 1 |
- |
weechat |
date |
WeeChat のコンパイル日 |
- |
weechat |
dir_separator |
ディレクトリ区切り |
- |
weechat |
filters_enabled |
フィルタが有効の場合 1 |
- |
weechat |
inactivity |
キーボード未使用時間 (秒) |
- |
weechat |
locale |
翻訳メッセージに利用するロケール |
- |
weechat |
term_height |
ターミナルの高さ |
- |
weechat |
term_width |
ターミナルの幅 |
- |
weechat |
version |
WeeChat のバージョン |
- |
weechat |
version_git |
WeeChat の git バージョン (開発バージョンではコマンド "git describe" の出力、安定版リリースでは空文字が出力されます) |
- |
weechat |
version_number |
WeeChat のバージョン (数字) |
- |
weechat |
weechat_dir |
WeeChat ディレクトリ |
- |
weechat |
weechat_libdir |
WeeChat "lib" ディレクトリ |
- |
weechat |
weechat_localedir |
WeeChat "locale" ディレクトリ |
- |
weechat |
weechat_sharedir |
WeeChat "share" ディレクトリ |
- |
weechat |
weechat_site |
WeeChat サイト |
- |
weechat |
weechat_site_download |
WeeChat サイト、ダウンロードページ |
- |
weechat |
weechat_upgrading |
WeeChat がアップグレード中は 1 (コマンド |
- |
C 言語での使用例:
スクリプト (Python) での使用例:
3.18.2. weechat_info_get_hashtable
WeeChat バージョン 0.3.4 以上で利用可。
ハッシュテーブルで WeeChat またはプラグインからの情報を返す。
プロトタイプ:
引数:
-
info_name: 読み出す情報の名前 (以下の表を参照)
-
hashtable: 引数を含むハッシュテーブル (指定した情報に依存) (任意、引数を指定しない場合は NULL)
戻り値:
-
指定した情報を含むハッシュテーブル、エラーが起きた場合は NULL
情報:
プラグイン | 名前 | 説明 | ハッシュテーブル (入力) | ハッシュテーブル (出力) |
---|---|---|---|---|
irc |
irc_message_parse |
IRC メッセージを解析 |
"message": IRC メッセージ、"server": サーバ名 (任意) |
"tags": タグ、"message_without_tags": タグを含まないメッセージ、"nick": ニックネーム、"host": ホスト名、"command": コマンド、"channel": チャンネル、"arguments": 引数 (チャンネルを含む) |
irc |
irc_message_split |
IRC メッセージを分割 (512 バイトに収める) |
"message": IRC メッセージ、"server": サーバ名 (任意) |
"msg1" … "msgN": 送信メッセージ (最後の "\r\n" は無し), "args1" … "argsN": メッセージの引数、"count": メッセージの数 |
C 言語での使用例:
スクリプト (Python) での使用例:
3.19. インフォリスト
インフォリストは "要素" の配列であり、各要素には変数が含まれています。
例えば、インフォリスト "irc_server" には N 個 (N は定義済みの IRC サーバの数) の要素が含まれています。それぞれの要素には "name"、"buffer"、"is_connected" などの変数が含まれています。
各要素には型と値があり、以下の型を使うことができます:
-
integer: 任意の整数値
-
string: 任意の文字列値
-
pointer: 任意のポインタ
-
buffer: 任意のデータを含む固定長のバッファ
-
time: 時刻値
3.19.1. weechat_infolist_new
新しいインフォリストを作成。
プロトタイプ:
戻り値:
-
新しいインフォリストへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.2. weechat_infolist_new_item
インフォリストに要素を追加。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
戻り値:
-
新しい要素へのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.3. weechat_infolist_new_var_integer
インフォリストの要素に整数変数を追加。
プロトタイプ:
引数:
-
item: インフォリストの要素へのポインタ
-
name: 変数名
-
value: 整数値
戻り値:
-
新しい値へのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.4. weechat_infolist_new_var_string
インフォリストの要素に文字列変数を追加。
プロトタイプ:
引数:
-
item: インフォリストの要素へのポインタ
-
name: 変数名
-
value: 文字列値
戻り値:
-
新しい値へのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.5. weechat_infolist_new_var_pointer
インフォリストの要素にポインタ変数を追加。
プロトタイプ:
引数:
-
item: インフォリストの要素へのポインタ
-
name: 変数名
-
pointer: ポインタ
戻り値:
-
新しい値へのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.6. weechat_infolist_new_var_buffer
インフォリストの要素にバッファ変数を追加。
プロトタイプ:
引数:
-
item: インフォリストの要素へのポインタ
-
name: 変数名
-
pointer: バッファへのポインタ
-
size: バッファのサイズ
戻り値:
-
新しい値へのポインタ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.19.7. weechat_infolist_new_var_time
インフォリストの要素に時刻変数を追加。
プロトタイプ:
引数:
-
item: インフォリストの要素へのポインタ
-
name: 変数名
-
time: 時刻値
戻り値:
-
新しい値へのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.8. weechat_infolist_get
WeeChat またはプラグインからインフォリストを返す。
Important
|
インフォリストの内容は実データの複製です。そのため多くのデータを含むインフォリスト
("buffer_lines" など) を要求した場合、WeeChat
は全てのデータを複製するのに必要なメモリを確保し、これにはある程度時間がかかります。 大きなインフォリストを使う代わりに、hdata を使うほうが望ましいです (ただしインフォリストは生データである hdata よりも多くの情報を含む場合があります)、hdata を参照してください。 |
プロトタイプ:
引数:
-
infolist_name: 読み出すインフォリストの名前 (以下の表を参照)
-
pointer: 要素へのポインタ、インフォリストからこの要素のみを取得する場合に指定 (任意、NULL でも可)
-
arguments: 指定したインフォリストに対する引数 (任意、引数が不要の場合は NULL)
戻り値:
-
インフォリストへのポインタ、エラーが起きた場合は NULL
インフォリスト:
プラグイン | 名前 | 説明 | ポインタ | 引数 |
---|---|---|---|---|
alias |
alias |
別名のリスト |
別名のポインタ (任意) |
別名の名前 (ワイルドカード "*" を使うことができます) (任意) |
guile |
guile_script |
スクリプトのリスト |
スクリプトポインタ (任意) |
スクリプト名 (ワイルドカード "*" を使うことができます) (任意) |
irc |
irc_channel |
IRC サーバのチャンネルリスト |
チャンネルポインタ (任意) |
server,channel (チャンネルは任意) |
irc |
irc_color_weechat |
IRC 色コードと WeeChat 色名の対応 |
- |
- |
irc |
irc_ignore |
IRC 無視のリスト |
無視ポインタ (任意) |
- |
irc |
irc_nick |
IRC チャンネルのニックネームのリスト |
ニックネームポインタ (任意) |
サーバ、チャンネル、ニックネーム (ニックネームは任意) |
irc |
irc_notify |
通知のリスト |
通知ポインタ (任意) |
サーバ名 (ワイルドカード "*" を使うことができます) (任意) |
irc |
irc_server |
IRC サーバのリスト |
サーバポインタ (任意) |
サーバ名 (ワイルドカード "*" を使うことができます) (任意) |
logger |
logger_buffer |
logger バッファのリスト |
logger ポインタ (任意) |
- |
lua |
lua_script |
スクリプトのリスト |
スクリプトポインタ (任意) |
スクリプト名 (ワイルドカード "*" を使うことができます) (任意) |
perl |
perl_script |
スクリプトのリスト |
スクリプトポインタ (任意) |
スクリプト名 (ワイルドカード "*" を使うことができます) (任意) |
python |
python_script |
スクリプトのリスト |
スクリプトポインタ (任意) |
スクリプト名 (ワイルドカード "*" を使うことができます) (任意) |
relay |
relay |
リレークライアントのリスト |
リレーポインタ (任意) |
- |
ruby |
ruby_script |
スクリプトのリスト |
スクリプトポインタ (任意) |
スクリプト名 (ワイルドカード "*" を使うことができます) (任意) |
script |
script_script |
スクリプトのリスト |
スクリプトポインタ (任意) |
拡張子を含めたスクリプト名 (ワイルドカード "*" を使うことができます) (任意) |
tcl |
tcl_script |
スクリプトのリスト |
スクリプトポインタ (任意) |
スクリプト名 (ワイルドカード "*" を使うことができます) (任意) |
weechat |
bar |
バーのリスト |
バーポインタ (任意) |
バー名 (ワイルドカード "*" を使うことができます) (任意) |
weechat |
bar_item |
バーアイテムのリスト |
バーアイテムポインタ (任意) |
バーアイテム名 (ワイルドカード "*" を使うことができます) (任意) |
weechat |
bar_window |
バーウィンドウのリスト |
バーウィンドウポインタ (任意) |
- |
weechat |
buffer |
バッファのリスト |
バッファポインタ (任意) |
バッファ名 (ワイルドカード "*" を使うことができます) (任意) |
weechat |
buffer_lines |
バッファの行数 |
バッファポインタ |
- |
weechat |
filter |
フィルタのリスト |
- |
フィルタ名 (ワイルドカード "*" を使うことができます) (任意) |
weechat |
history |
コマンドの履歴 |
バッファポインタ (ワイルドカードとして "*" で始めるか終われる) (任意) |
- |
weechat |
hook |
フックリスト |
フックポインタ (任意) |
type,arguments (type はコマンド/タイマー/..、arguments はいくつかのフックで必要 (ワイルドカード "*" を使うことができます)、両方とも任意) |
weechat |
hotlist |
ホットリストに含まれるバッファ |
- |
- |
weechat |
key |
キー割り当てのリスト |
- |
コンテキスト ("default"、"search"、"cursor"、"mouse") (任意) |
weechat |
layout |
レイアウトのリスト |
- |
- |
weechat |
nicklist |
バッファのニックネームリスト内のニックネーム |
バッファポインタ |
ニックネーム/グループ xxx のみについて取得するには nick_xxx または group_xxx を使う (任意) |
weechat |
option |
オプションリスト |
- |
オプション名 (ワイルドカード "*" を使うことができます) (任意) |
weechat |
plugin |
プラグインリスト |
プラグインポインタ (任意) |
プラグイン名 (ワイルドカード "*" を使うことができます) (任意) |
weechat |
proxy |
プロキシリスト |
プロキシポインタ (任意) |
プロキシ名 (ワイルドカード "*" を使うことができます) (任意) |
weechat |
url_options |
URL のオプション |
- |
- |
weechat |
window |
ウィンドウリスト |
ウィンドウポインタ (任意) |
"current" は現在のウィンドウまたはウィンドウ番号 (任意) |
xfer |
xfer |
xfer のリスト |
xfer ポインタ (任意) |
- |
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.9. weechat_infolist_next
"カーソル" をインフォリスト内の 1 つ後の要素に移動する。あるインフォリストに対するこの関数の呼び出し回数が 1 回目のの場合は、カーソルをインフォリスト内の最初の要素に移動する。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
戻り値:
-
カーソルが 1 つ後の要素に移動した場合は 1、リストの最後に到達した場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.10. weechat_infolist_prev
"カーソル" をインフォリスト内の 1 つ前の要素に移動する。あるインフォリストに対するこの関数の呼び出し回数が 1 回目のの場合は、カーソルをインフォリスト内の最後の要素に移動する。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
戻り値:
-
カーソルが 1 つ前の要素に移動した場合は 1、リストの最初に到達した場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.11. weechat_infolist_reset_item_cursor
インフォリストの"カーソル"をリセット。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.12. weechat_infolist_search_var
WeeChat バージョン 0.4.3 以上で利用可。
現在のインフォリスト要素から変数を検索。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
-
name: 変数名
戻り値:
-
見つかった変数へのポインタ、見つからない場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.13. weechat_infolist_fields
現在のインフォリストの要素に対するフィールドのリストを返す。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
戻り値:
-
指定したインフォリストの要素に含まれる変数名のリスト。以下の変数名に対応する型の文字を含むコンマ区切りリスト、型は: "i" (整数)、"s" (文字列)、"p" (ポインタ)、"b" (バッファ)、"t" (時刻)。
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.14. weechat_infolist_integer
現在のインフォリストの要素に含まれる整数変数の値を返す。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
-
var: 変数名 (必ず"整数"型)
戻り値:
-
変数の整数値
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.15. weechat_infolist_string
現在のインフォリストの要素に含まれる文字列変数の値を返す。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
-
var: 変数名 (必ず"文字列"型)
戻り値:
-
変数の文字列値
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.16. weechat_infolist_pointer
現在のインフォリストの要素に含まれるポインタ変数の値を返す。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
-
var: 変数名 (必ず"ポインタ"型)
戻り値:
-
変数のポインタ値
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.17. weechat_infolist_buffer
現在のインフォリストの要素に含まれるバッファ変数の値を返す。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
-
var: 変数名 (必ず"バッファ"型)
-
size: 整数変数へのポインタ、バッファサイズを返す
戻り値:
-
バッファへのポインタ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.19.18. weechat_infolist_time
現在のインフォリストの要素に含まれる時刻変数の値を返す。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
-
var: 変数名 (必ず"時刻"型)
戻り値:
-
変数の時刻値
C 言語での使用例:
スクリプト (Python) での使用例:
3.19.19. weechat_infolist_free
インフォリストの領域を開放。
プロトタイプ:
引数:
-
infolist: インフォリストへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.20. Hdata
hdata に対する関数 (WeeChat またはプラグインデータへの直アクセス)。
Important
|
hdata を使うことで読み取り専用でデータにアクセスできます。hdata
変数が示すメモリ領域に何かを書き込むことは厳禁 です。 データを更新する場合は必ず関数 weechat_hdata_update を使ってください。 |
3.20.1. weechat_hdata_new
WeeChat バージョン 0.3.6 以上で利用可、バージョン 0.3.9 と 0.4.0 で更新。
新規の hdata を作成。
Note
|
hdata vs インフォリスト
Hdata を使うことで高速に WeeChat およびプラグインのデータを読み出す事ができます。hdata はインフォリストと似ていますが、異なる点もあります:
|
プロトタイプ:
引数:
-
hdata_name: hdata の名前
-
var_prev: 構造体に含まれる変数名。構造体は配列の 1 つ前の要素へのポインタ (変数が利用不可能な場合は NULL でも可)
-
var_next: 構造体に含まれる変数名。構造体は配列の 1 つ後の要素へのポインタ (変数が利用不可能な場合は NULL でも可)
-
create_allowed: 構造体の作成を許可する場合は 1、それ以外の場合は 0 (WeeChat バージョン 0.4.0 以上で利用可)
-
delete_allowed: 構造体の削除を許可する場合は 1、それ以外の場合は 0 (WeeChat バージョン 0.3.9 以上で利用可)
-
callback_update: hdata 内のデータを更新する際のコールバック、データの更新を禁止する場合は NULL (WeeChat バージョン 0.3.9 以上で利用可) 、引数と戻り値:
-
void *data: ポインタ
-
struct t_hdata *hdata: hdata へのポインタ
-
struct t_hashtable *hashtable: 更新する変数を含むハッシュテーブル (weechat_hdata_update を参照)
-
return value: 更新された変数の数
-
-
callback_update_data: WeeChat が update コールバックを呼び出す際にコールバックに渡すポインタ (WeeChat バージョン 0.3.9 以上で利用可)
戻り値:
-
新しい hdata へのポインタ
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.20.2. weechat_hdata_new_var
WeeChat バージョン 0.3.6 以上で利用可、バージョン 0.3.9 で更新。
hdata に新しい変数を作成。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
name: 変数名
-
offset: 構造体における変数のオフセット
-
type: 変数型、以下の 1 つ:
-
WEECHAT_HDATA_CHAR
-
WEECHAT_HDATA_INTEGER
-
WEECHAT_HDATA_LONG
-
WEECHAT_HDATA_STRING
-
WEECHAT_HDATA_SHARED_STRING
-
WEECHAT_HDATA_POINTER
-
WEECHAT_HDATA_TIME
-
WEECHAT_HDATA_HASHTABLE
-
WEECHAT_HDATA_OTHER
-
-
update_allowed: 変数の更新を許可する場合は 1、禁止する場合は 0 (WeeChat バージョン 0.3.9 以上で利用可)
-
array_size: 配列でない場合は必ず NULL、配列の場合の値は: (WeeChat バージョン 0.3.9 以上で利用可)
-
hdata に含まれる変数の名前: 配列のサイズはこの名前の変数に収められている (配列サイズは動的に変化)
-
整数 (文字列): 配列のサイズは固定
-
*: 自動サイズ: 配列のサイズは値の中に見つかる最初の NULL を元に計算されます (文字列、ポインタ、ハッシュテーブル型以外では使えません)
-
-
hdata_name: hdata の名前 (変数が hdata を含む構造体へのポインタの場合)
C 言語での使用例:
コードを短くするためにはマクロ "WEECHAT_HDATA_VAR" を使います。
Note
|
スクリプト API ではこの関数を利用できません。 |
3.20.3. weechat_hdata_new_list
WeeChat バージョン 0.3.6 以上で利用可、バージョン 1.0 で更新。
hdata に新しいリストへのポインタを作成。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
name: 変数名
-
pointer: リストへのポインタ
-
flags: 以下の値の組み合わせ: (WeeChat バージョン 1.0 以上)
-
WEECHAT_HDATA_LIST_CHECK_POINTERS: ポインタをチェックする際に使うリスト
-
C 言語での使用例:
コードを短くするためにはマクロ "WEECHAT_HDATA_LIST" を使います。
Note
|
スクリプト API ではこの関数を利用できません。 |
3.20.4. weechat_hdata_get
WeeChat バージョン 0.3.6 以上で利用可。
WeeChat 及びプラグイン構造体に対する hdata を返す。
Note
|
hdata はデータを含みません、hdata は構造体における変数の位置を含むただのハッシュテーブル。つまりデータを読み出すためには hdata と WeeChat 及びプラグインへのポインタが必要です。 |
プロトタイプ:
引数:
-
hdata_name: hdata の名前
戻り値:
-
hdata へのポインタ、エラーが起きた場合は NULL
hdata のリスト:
-
guile_callback: スクリプトのコールバック
-
プラグイン: guile
-
変数:
-
script (pointer, hdata: "guile_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "guile_callback")
-
next_callback (pointer, hdata: "guile_callback")
-
-
-
guile_script: スクリプトのリスト
-
プラグイン: guile
-
変数:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "guile_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "guile_script")
-
next_script (pointer, hdata: "guile_script")
-
-
リスト:
-
last_script
-
scripts
-
-
-
irc_channel: irc チャンネル
-
プラグイン: irc
-
変数:
-
type (integer)
-
name (string)
-
topic (string)
-
modes (string)
-
limit (integer)
-
key (string)
-
join_msg_received (hashtable)
-
checking_away (integer)
-
away_message (string)
-
has_quit_server (integer)
-
cycle (integer)
-
part (integer)
-
nick_completion_reset (integer)
-
pv_remote_nick_color (string)
-
hook_autorejoin (pointer)
-
nicks_count (integer)
-
nicks (pointer, hdata: "irc_nick")
-
last_nick (pointer, hdata: "irc_nick")
-
nicks_speaking (pointer)
-
nicks_speaking_time (pointer, hdata: "irc_channel_speaking")
-
last_nick_speaking_time (pointer, hdata: "irc_channel_speaking")
-
join_smart_filtered (hashtable)
-
buffer (pointer, hdata: "buffer")
-
buffer_as_string (string)
-
prev_channel (pointer, hdata: "irc_channel")
-
next_channel (pointer, hdata: "irc_channel")
-
-
-
irc_channel_speaking: irc 会話中チャンネル
-
プラグイン: irc
-
変数:
-
nick (string)
-
time_last_message (time)
-
prev_nick (pointer, hdata: "irc_channel_speaking")
-
next_nick (pointer, hdata: "irc_channel_speaking")
-
-
-
irc_ignore: irc 無視
-
プラグイン: irc
-
変数:
-
number (integer)
-
mask (string)
-
regex_mask (pointer)
-
server (string)
-
channel (string)
-
prev_ignore (pointer, hdata: "irc_ignore")
-
next_ignore (pointer, hdata: "irc_ignore")
-
-
リスト:
-
irc_ignore_list
-
last_irc_ignore
-
-
-
irc_nick: irc ニックネーム
-
プラグイン: irc
-
変数:
-
name (string)
-
host (string)
-
prefixes (string)
-
prefix (string)
-
away (integer)
-
color (string)
-
prev_nick (pointer, hdata: "irc_nick")
-
next_nick (pointer, hdata: "irc_nick")
-
-
-
irc_notify: irc 通知
-
プラグイン: irc
-
変数:
-
server (pointer, hdata: "irc_server")
-
nick (string)
-
check_away (integer)
-
is_on_server (integer)
-
away_message (string)
-
ison_received (integer)
-
prev_notify (pointer, hdata: "irc_notify")
-
next_notify (pointer, hdata: "irc_notify")
-
-
-
irc_redirect: irc リダイレクト
-
プラグイン: irc
-
変数:
-
server (pointer, hdata: "irc_server")
-
pattern (string)
-
signal (string)
-
count (integer)
-
current_count (integer)
-
string (string)
-
timeout (integer)
-
command (string)
-
assigned_to_command (integer)
-
start_time (time)
-
cmd_start (hashtable)
-
cmd_stop (hashtable)
-
cmd_extra (hashtable)
-
cmd_start_received (integer)
-
cmd_stop_received (integer)
-
cmd_filter (hashtable)
-
output (string)
-
output_size (integer)
-
prev_redirect (pointer, hdata: "irc_redirect")
-
next_redirect (pointer, hdata: "irc_redirect")
-
-
-
irc_redirect_pattern: irc リダイレクトパターン
-
プラグイン: irc
-
変数:
-
name (string)
-
temp_pattern (integer)
-
timeout (integer)
-
cmd_start (string)
-
cmd_stop (string)
-
cmd_extra (string)
-
prev_redirect (pointer, hdata: "irc_redirect_pattern")
-
next_redirect (pointer, hdata: "irc_redirect_pattern")
-
-
リスト:
-
irc_redirect_patterns
-
last_irc_redirect_pattern
-
-
-
irc_server: irc サーバ
-
プラグイン: irc
-
変数:
-
name (string)
-
options (pointer)
-
temp_server (integer)
-
reloading_from_config (integer)
-
reloaded_from_config (integer)
-
addresses_count (integer)
-
addresses_array (string, array_size: "addresses_count")
-
ports_array (integer, array_size: "addresses_count")
-
retry_array (integer, array_size: "addresses_count")
-
index_current_address (integer)
-
current_address (string)
-
current_ip (string)
-
current_port (integer)
-
current_retry (integer)
-
sock (integer)
-
hook_connect (pointer, hdata: "hook")
-
hook_fd (pointer, hdata: "hook")
-
hook_timer_connection (pointer, hdata: "hook")
-
hook_timer_sasl (pointer, hdata: "hook")
-
is_connected (integer)
-
ssl_connected (integer)
-
disconnected (integer)
-
gnutls_sess (other)
-
tls_cert (other)
-
tls_cert_key (other)
-
unterminated_message (string)
-
nicks_count (integer)
-
nicks_array (string, array_size: "nicks_count")
-
nick_first_tried (integer)
-
nick_alternate_number (integer)
-
nick (string)
-
nick_modes (string)
-
cap_away_notify (integer)
-
isupport (string)
-
prefix_modes (string)
-
prefix_chars (string)
-
nick_max_length (integer)
-
casemapping (integer)
-
chantypes (string)
-
chanmodes (string)
-
monitor (integer)
-
monitor_time (time)
-
reconnect_delay (integer)
-
reconnect_start (time)
-
command_time (time)
-
reconnect_join (integer)
-
disable_autojoin (integer)
-
is_away (integer)
-
away_message (string)
-
away_time (time)
-
lag (integer)
-
lag_check_time (other)
-
lag_next_check (time)
-
lag_last_refresh (time)
-
cmd_list_regexp (pointer)
-
last_user_message (time)
-
last_away_check (time)
-
last_data_purge (time)
-
outqueue (pointer)
-
last_outqueue (pointer)
-
redirects (pointer, hdata: "irc_redirect")
-
last_redirect (pointer, hdata: "irc_redirect")
-
notify_list (pointer, hdata: "irc_notify")
-
last_notify (pointer, hdata: "irc_notify")
-
notify_count (integer)
-
join_manual (hashtable)
-
join_channel_key (hashtable)
-
join_noswitch (hashtable)
-
buffer (pointer, hdata: "buffer")
-
buffer_as_string (string)
-
channels (pointer, hdata: "irc_channel")
-
last_channel (pointer, hdata: "irc_channel")
-
prev_server (pointer, hdata: "irc_server")
-
next_server (pointer, hdata: "irc_server")
-
-
リスト:
-
irc_servers
-
last_irc_server
-
-
-
lua_callback: スクリプトのコールバック
-
プラグイン: lua
-
変数:
-
script (pointer, hdata: "lua_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "lua_callback")
-
next_callback (pointer, hdata: "lua_callback")
-
-
-
lua_script: スクリプトのリスト
-
プラグイン: lua
-
変数:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "lua_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "lua_script")
-
next_script (pointer, hdata: "lua_script")
-
-
リスト:
-
last_script
-
scripts
-
-
-
perl_callback: スクリプトのコールバック
-
プラグイン: perl
-
変数:
-
script (pointer, hdata: "perl_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "perl_callback")
-
next_callback (pointer, hdata: "perl_callback")
-
-
-
perl_script: スクリプトのリスト
-
プラグイン: perl
-
変数:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "perl_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "perl_script")
-
next_script (pointer, hdata: "perl_script")
-
-
リスト:
-
last_script
-
scripts
-
-
-
python_callback: スクリプトのコールバック
-
プラグイン: python
-
変数:
-
script (pointer, hdata: "python_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "python_callback")
-
next_callback (pointer, hdata: "python_callback")
-
-
-
python_script: スクリプトのリスト
-
プラグイン: python
-
変数:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "python_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "python_script")
-
next_script (pointer, hdata: "python_script")
-
-
リスト:
-
last_script
-
scripts
-
-
-
ruby_callback: スクリプトのコールバック
-
プラグイン: ruby
-
変数:
-
script (pointer, hdata: "ruby_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "ruby_callback")
-
next_callback (pointer, hdata: "ruby_callback")
-
-
-
ruby_script: スクリプトのリスト
-
プラグイン: ruby
-
変数:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "ruby_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "ruby_script")
-
next_script (pointer, hdata: "ruby_script")
-
-
リスト:
-
last_script
-
scripts
-
-
-
script_script: リポジトリからのスクリプト
-
プラグイン: script
-
変数:
-
name (string)
-
name_with_extension (string)
-
language (integer)
-
author (string)
-
mail (string)
-
version (string)
-
license (string)
-
description (string)
-
tags (string)
-
requirements (string)
-
min_weechat (string)
-
max_weechat (string)
-
md5sum (string)
-
url (string)
-
popularity (integer)
-
date_added (time)
-
date_updated (time)
-
status (integer)
-
version_loaded (string)
-
displayed (integer)
-
install_order (integer)
-
prev_script (pointer, hdata: "script_script")
-
next_script (pointer, hdata: "script_script")
-
-
リスト:
-
last_script_repo
-
scripts_repo
-
-
-
tcl_callback: スクリプトのコールバック
-
プラグイン: tcl
-
変数:
-
script (pointer, hdata: "tcl_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "tcl_callback")
-
next_callback (pointer, hdata: "tcl_callback")
-
-
-
tcl_script: スクリプトのリスト
-
プラグイン: tcl
-
変数:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "tcl_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "tcl_script")
-
next_script (pointer, hdata: "tcl_script")
-
-
リスト:
-
last_script
-
scripts
-
-
-
bar: バー
-
プラグイン: weechat
-
変数:
-
name (string)
-
options (pointer)
-
items_count (integer)
-
items_subcount (pointer)
-
items_array (pointer)
-
items_buffer (pointer)
-
items_prefix (pointer)
-
items_name (pointer)
-
items_suffix (pointer)
-
bar_window (pointer, hdata: "bar_window")
-
bar_refresh_needed (integer)
-
prev_bar (pointer, hdata: "bar")
-
next_bar (pointer, hdata: "bar")
-
-
リスト:
-
gui_bars
-
last_gui_bar
-
-
-
bar_item: バーアイテム
-
プラグイン: weechat
-
変数:
-
plugin (pointer, hdata: "plugin")
-
name (string)
-
build_callback (pointer)
-
build_callback_data (pointer)
-
prev_item (pointer, hdata: "bar_item")
-
next_item (pointer, hdata: "bar_item")
-
-
リスト:
-
gui_bar_items
-
last_gui_bar_item
-
-
-
bar_window: バーウィンドウ
-
プラグイン: weechat
-
変数:
-
bar (pointer, hdata: "bar")
-
x (integer)
-
y (integer)
-
width (integer)
-
height (integer)
-
scroll_x (integer)
-
scroll_y (integer)
-
cursor_x (integer)
-
cursor_y (integer)
-
current_size (integer)
-
items_count (integer)
-
items_subcount (pointer)
-
items_content (pointer)
-
items_num_lines (pointer)
-
items_refresh_needed (pointer)
-
screen_col_size (integer)
-
screen_lines (integer)
-
coords_count (integer)
-
coords (pointer)
-
gui_objects (pointer)
-
prev_bar_window (pointer, hdata: "bar_window")
-
next_bar_window (pointer, hdata: "bar_window")
-
-
-
buffer: バッファ
-
プラグイン: weechat
-
変数:
-
plugin (pointer, hdata: "plugin")
-
plugin_name_for_upgrade (string)
-
number (integer)
-
layout_number (integer)
-
layout_number_merge_order (integer)
-
name (string)
-
full_name (string)
-
short_name (string)
-
type (integer)
-
notify (integer)
-
num_displayed (integer)
-
active (integer)
-
hidden (integer)
-
zoomed (integer)
-
print_hooks_enabled (integer)
-
day_change (integer)
-
clear (integer)
-
filter (integer)
-
close_callback (pointer)
-
close_callback_data (pointer)
-
closing (integer)
-
title (string)
-
own_lines (pointer, hdata: "lines")
-
mixed_lines (pointer, hdata: "lines")
-
lines (pointer, hdata: "lines")
-
time_for_each_line (integer)
-
chat_refresh_needed (integer)
-
nicklist (integer)
-
nicklist_case_sensitive (integer)
-
nicklist_root (pointer, hdata: "nick_group")
-
nicklist_max_length (integer)
-
nicklist_display_groups (integer)
-
nicklist_count (integer)
-
nicklist_groups_count (integer)
-
nicklist_nicks_count (integer)
-
nicklist_visible_count (integer)
-
nickcmp_callback (pointer)
-
nickcmp_callback_data (pointer)
-
input (integer)
-
input_callback (pointer)
-
input_callback_data (pointer)
-
input_get_unknown_commands (integer)
-
input_buffer (string)
-
input_buffer_alloc (integer)
-
input_buffer_size (integer)
-
input_buffer_length (integer)
-
input_buffer_pos (integer)
-
input_buffer_1st_display (integer)
-
input_undo_snap (pointer, hdata: "input_undo")
-
input_undo (pointer, hdata: "input_undo")
-
last_input_undo (pointer, hdata: "input_undo")
-
ptr_input_undo (pointer, hdata: "input_undo")
-
input_undo_count (integer)
-
completion (pointer, hdata: "completion")
-
history (pointer, hdata: "history")
-
last_history (pointer, hdata: "history")
-
ptr_history (pointer, hdata: "history")
-
num_history (integer)
-
text_search (integer)
-
text_search_exact (integer)
-
text_search_regex (integer)
-
text_search_regex_compiled (pointer)
-
text_search_where (integer)
-
text_search_found (integer)
-
text_search_input (string)
-
highlight_words (string)
-
highlight_regex (string)
-
highlight_regex_compiled (pointer)
-
highlight_tags_restrict (string)
-
highlight_tags_restrict_count (integer)
-
highlight_tags_restrict_array (pointer, array_size: "highlight_tags_restrict_count")
-
highlight_tags (string)
-
highlight_tags_count (integer)
-
highlight_tags_array (pointer, array_size: "highlight_tags_count")
-
hotlist_max_level_nicks (hashtable)
-
keys (pointer, hdata: "key")
-
last_key (pointer, hdata: "key")
-
keys_count (integer)
-
local_variables (hashtable)
-
prev_buffer (pointer, hdata: "buffer")
-
next_buffer (pointer, hdata: "buffer")
-
-
リスト:
-
gui_buffer_last_displayed
-
gui_buffers
-
last_gui_buffer
-
-
-
buffer_visited: 訪問済みバッファ
-
プラグイン: weechat
-
変数:
-
buffer (pointer, hdata: "buffer")
-
prev_buffer (pointer, hdata: "buffer_visited")
-
next_buffer (pointer, hdata: "buffer_visited")
-
-
リスト:
-
gui_buffers_visited
-
last_gui_buffer_visited
-
-
-
completion: 補完する構造
-
プラグイン: weechat
-
変数:
-
buffer (pointer, hdata: "buffer")
-
context (integer)
-
base_command (string)
-
base_command_arg_index (integer)
-
base_word (string)
-
base_word_pos (integer)
-
position (integer)
-
args (string)
-
direction (integer)
-
add_space (integer)
-
force_partial_completion (integer)
-
list (pointer)
-
word_found (string)
-
word_found_is_nick (integer)
-
position_replace (integer)
-
diff_size (integer)
-
diff_length (integer)
-
partial_list (pointer)
-
-
-
config_file: 設定ファイル
-
プラグイン: weechat
-
変数:
-
plugin (pointer, hdata: "plugin")
-
name (string)
-
filename (string)
-
file (pointer)
-
callback_reload (pointer)
-
callback_reload_data (pointer)
-
sections (pointer, hdata: "config_section")
-
last_section (pointer, hdata: "config_section")
-
prev_config (pointer, hdata: "config_file")
-
next_config (pointer, hdata: "config_file")
-
-
リスト:
-
config_files
-
last_config_file
-
-
-
config_option: 設定オプション
-
プラグイン: weechat
-
変数:
-
config_file (pointer, hdata: "config_file")
-
section (pointer, hdata: "config_section")
-
name (string)
-
type (integer)
-
description (string)
-
string_values (string, array_size: "*")
-
min (integer)
-
max (integer)
-
default_value (pointer)
-
value (pointer)
-
null_value_allowed (integer)
-
callback_check_value (pointer)
-
callback_check_value_data (pointer)
-
callback_change (pointer)
-
callback_change_data (pointer)
-
callback_delete (pointer)
-
callback_delete_data (pointer)
-
loaded (integer)
-
prev_option (pointer, hdata: "config_option")
-
next_option (pointer, hdata: "config_option")
-
-
-
config_section: 設定セクション
-
プラグイン: weechat
-
変数:
-
config_file (pointer, hdata: "config_file")
-
name (string)
-
user_can_add_options (integer)
-
user_can_delete_options (integer)
-
callback_read (pointer)
-
callback_read_data (pointer)
-
callback_write (pointer)
-
callback_write_data (pointer)
-
callback_write_default (pointer)
-
callback_write_default_data (pointer)
-
callback_create_option (pointer)
-
callback_create_option_data (pointer)
-
callback_delete_option (pointer)
-
callback_delete_option_data (pointer)
-
options (pointer, hdata: "config_option")
-
last_option (pointer, hdata: "config_option")
-
prev_section (pointer, hdata: "config_section")
-
next_section (pointer, hdata: "config_section")
-
-
-
filter: フィルタ
-
プラグイン: weechat
-
変数:
-
enabled (integer)
-
name (string)
-
buffer_name (string)
-
num_buffers (integer)
-
buffers (pointer)
-
tags (string)
-
tags_count (integer)
-
tags_array (pointer, array_size: "tags_count")
-
regex (string)
-
regex_prefix (pointer)
-
regex_message (pointer)
-
prev_filter (pointer, hdata: "filter")
-
next_filter (pointer, hdata: "filter")
-
-
リスト:
-
gui_filters
-
last_gui_filter
-
-
-
history: バッファのコマンド履歴
-
プラグイン: weechat
-
変数:
-
text (string)
-
next_history (pointer, hdata: "history")
-
prev_history (pointer, hdata: "history")
-
-
アップデート可:
-
__create
-
__delete
-
-
リスト:
-
gui_history
-
last_gui_history
-
-
-
hotlist: ホットリスト
-
プラグイン: weechat
-
変数:
-
priority (integer)
-
creation_time.tv_sec (time)
-
creation_time.tv_usec (long)
-
buffer (pointer)
-
count (integer, array_size: "4")
-
prev_hotlist (pointer, hdata: "hotlist")
-
next_hotlist (pointer, hdata: "hotlist")
-
-
リスト:
-
gui_hotlist
-
last_gui_hotlist
-
-
-
input_undo: 入力行をアンドゥする構造
-
プラグイン: weechat
-
変数:
-
data (string)
-
pos (integer)
-
prev_undo (pointer, hdata: "input_undo")
-
next_undo (pointer, hdata: "input_undo")
-
-
-
key: キー (キーボードショートカット)
-
プラグイン: weechat
-
変数:
-
key (string)
-
area_type (pointer)
-
area_name (pointer)
-
area_key (string)
-
command (string)
-
score (integer)
-
prev_key (pointer, hdata: "key")
-
next_key (pointer, hdata: "key")
-
-
リスト:
-
gui_default_keys
-
gui_default_keys_cursor
-
gui_default_keys_mouse
-
gui_default_keys_search
-
gui_keys
-
gui_keys_cursor
-
gui_keys_mouse
-
gui_keys_search
-
last_gui_default_key
-
last_gui_default_key_cursor
-
last_gui_default_key_mouse
-
last_gui_default_key_search
-
last_gui_key
-
last_gui_key_cursor
-
last_gui_key_mouse
-
last_gui_key_search
-
-
-
layout: レイアウト
-
プラグイン: weechat
-
変数:
-
name (string)
-
layout_buffers (pointer, hdata: "layout_buffer")
-
last_layout_buffer (pointer, hdata: "layout_buffer")
-
layout_windows (pointer, hdata: "layout_window")
-
internal_id (integer)
-
internal_id_current_window (integer)
-
prev_layout (pointer, hdata: "layout")
-
next_layout (pointer, hdata: "layout")
-
-
リスト:
-
gui_layout_current
-
gui_layouts
-
last_gui_layout
-
-
-
layout_buffer: バッファレイアウト
-
プラグイン: weechat
-
変数:
-
plugin_name (string)
-
buffer_name (string)
-
number (integer)
-
prev_layout (pointer, hdata: "layout_buffer")
-
next_layout (pointer, hdata: "layout_buffer")
-
-
-
layout_window: ウィンドウレイアウト
-
プラグイン: weechat
-
変数:
-
internal_id (integer)
-
parent_node (pointer, hdata: "layout_window")
-
split_pct (integer)
-
split_horiz (integer)
-
child1 (pointer, hdata: "layout_window")
-
child2 (pointer, hdata: "layout_window")
-
plugin_name (string)
-
buffer_name (string)
-
-
-
line: 1 行の構造
-
プラグイン: weechat
-
変数:
-
data (pointer, hdata: "line_data")
-
prev_line (pointer, hdata: "line")
-
next_line (pointer, hdata: "line")
-
-
-
line_data: 1 行データ構造
-
プラグイン: weechat
-
変数:
-
buffer (pointer, hdata: "buffer")
-
y (integer)
-
date (time)
-
date_printed (time)
-
str_time (string)
-
tags_count (integer)
-
tags_array (shared_string, array_size: "tags_count")
-
displayed (char)
-
highlight (char)
-
refresh_needed (char)
-
prefix (shared_string)
-
prefix_length (integer)
-
message (string)
-
-
アップデート可:
-
date (time)
-
date_printed (time)
-
tags_array (shared_string)
-
prefix (shared_string)
-
message (string)
-
-
-
lines: 行を持つ構造
-
プラグイン: weechat
-
変数:
-
first_line (pointer, hdata: "line")
-
last_line (pointer, hdata: "line")
-
last_read_line (pointer, hdata: "line")
-
lines_count (integer)
-
first_line_not_read (integer)
-
lines_hidden (integer)
-
buffer_max_length (integer)
-
buffer_max_length_refresh (integer)
-
prefix_max_length (integer)
-
prefix_max_length_refresh (integer)
-
-
-
nick: ニックネームリストにあるニックネーム
-
プラグイン: weechat
-
変数:
-
group (pointer, hdata: "nick_group")
-
name (shared_string)
-
color (shared_string)
-
prefix (shared_string)
-
prefix_color (shared_string)
-
visible (integer)
-
prev_nick (pointer, hdata: "nick")
-
next_nick (pointer, hdata: "nick")
-
-
-
nick_group: ニックネームリストにあるグループ
-
プラグイン: weechat
-
変数:
-
name (shared_string)
-
color (shared_string)
-
visible (integer)
-
level (integer)
-
parent (pointer, hdata: "nick_group")
-
children (pointer, hdata: "nick_group")
-
last_child (pointer, hdata: "nick_group")
-
nicks (pointer, hdata: "nick")
-
last_nick (pointer, hdata: "nick")
-
prev_group (pointer, hdata: "nick_group")
-
next_group (pointer, hdata: "nick_group")
-
-
-
plugin: プラグイン
-
プラグイン: weechat
-
変数:
-
filename (string)
-
handle (pointer)
-
name (string)
-
description (string)
-
author (string)
-
version (string)
-
license (string)
-
charset (string)
-
debug (integer)
-
prev_plugin (pointer, hdata: "plugin")
-
next_plugin (pointer, hdata: "plugin")
-
-
リスト:
-
last_weechat_plugin
-
weechat_plugins
-
-
-
proxy: プロキシ
-
プラグイン: weechat
-
変数:
-
name (string)
-
options (pointer)
-
prev_proxy (pointer, hdata: "proxy")
-
next_proxy (pointer, hdata: "proxy")
-
-
リスト:
-
last_weechat_proxy
-
weechat_proxies
-
-
-
window: ウィンドウ
-
プラグイン: weechat
-
変数:
-
number (integer)
-
win_x (integer)
-
win_y (integer)
-
win_width (integer)
-
win_height (integer)
-
win_width_pct (integer)
-
win_height_pct (integer)
-
win_chat_x (integer)
-
win_chat_y (integer)
-
win_chat_width (integer)
-
win_chat_height (integer)
-
win_chat_cursor_x (integer)
-
win_chat_cursor_y (integer)
-
bar_windows (pointer, hdata: "bar_window")
-
last_bar_window (pointer, hdata: "bar_window")
-
refresh_needed (integer)
-
gui_objects (pointer)
-
buffer (pointer, hdata: "buffer")
-
layout_plugin_name (string)
-
layout_buffer_name (string)
-
scroll (pointer, hdata: "window_scroll")
-
ptr_tree (pointer, hdata: "window_tree")
-
prev_window (pointer, hdata: "window")
-
next_window (pointer, hdata: "window")
-
-
リスト:
-
gui_current_window
-
gui_windows
-
last_gui_window
-
-
-
window_scroll: ウィンドウ内のスクロール情報
-
プラグイン: weechat
-
変数:
-
buffer (pointer, hdata: "buffer")
-
first_line_displayed (integer)
-
start_line (pointer, hdata: "line")
-
start_line_pos (integer)
-
scrolling (integer)
-
start_col (integer)
-
lines_after (integer)
-
prev_scroll (pointer, hdata: "window_scroll")
-
next_scroll (pointer, hdata: "window_scroll")
-
-
-
window_tree: ウィンドウツリー
-
プラグイン: weechat
-
変数:
-
parent_node (pointer, hdata: "window_tree")
-
split_pct (integer)
-
split_horizontal (integer)
-
child1 (pointer, hdata: "window_tree")
-
child2 (pointer, hdata: "window_tree")
-
window (pointer, hdata: "window")
-
-
リスト:
-
gui_windows_tree
-
-
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.5. weechat_hdata_get_var_offset
WeeChat バージョン 0.3.6 以上で利用可。
hdata における変数のオフセットを返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
name: 変数名
戻り値:
-
オフセットの値、エラーが起きた場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.6. weechat_hdata_get_var_type
WeeChat バージョン 0.3.6 以上で利用可。
hdata 内の変数の型を (整数で) 返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
name: 変数名
戻り値:
-
変数の型、エラーが起きた場合は -1
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.20.7. weechat_hdata_get_var_type_string
WeeChat バージョン 0.3.6 以上で利用可。
変数の型を (文字列で) 返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
name: 変数名
戻り値:
-
変数の型、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.8. weechat_hdata_get_var_array_size
WeeChat バージョン 0.3.9 以上で利用可。
hdata に含まれる配列変数のサイズを返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名
戻り値:
-
配列変数のサイズ、配列変数でない場合とエラーが起きた場合は -1
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.9. weechat_hdata_get_var_array_size_string
WeeChat バージョン 0.3.9 以上で利用可。
hdata に含まれる配列変数のサイズを (文字列で) 返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名
戻り値:
-
配列変数のサイズの文字列、配列変数でない場合とエラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.10. weechat_hdata_get_var_hdata
WeeChat バージョン 0.3.6 以上で利用可。
hdata に含まれる変数に対応する hdata を返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
name: 変数名
戻り値:
-
変数に対応する、hdata がない場合とエラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.11. weechat_hdata_get_var
WeeChat バージョン 0.3.6 以上で利用可。
hdata に含まれる変数の内容へのポインタを返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名
戻り値:
-
変数の内容へのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.20.12. weechat_hdata_get_var_at_offset
WeeChat バージョン 0.3.6 以上で利用可。
オフセットを使って hdata に含まれる変数を指定し、この内容へのポインタを返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名
戻り値:
-
変数の内容へのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.20.13. weechat_hdata_get_list
WeeChat バージョン 0.3.6 以上で利用可。
hdata からリストへのポインタを返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
name: リスト名
戻り値:
-
リストへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.14. weechat_hdata_check_pointer
WeeChat バージョン 0.3.7 以上で利用可、バージョン 1.0 で更新。
hdata とリストへのポインタを使ってポインタの妥当性を確認する。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
list: リストポインタ; NULL の場合 _(WeeChat バージョン 1.0 以上)_、ポインタは hdata に含まれる "check pointers" フラグを持つリストでチェックされます (weechat_hdata_new_list を参照)、このフラグを持つリストがない場合、ポインタは妥当とされます。
-
pointer: 確認するポインタ
戻り値:
-
リスト内にポインタが有る場合は 1、無い場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.15. weechat_hdata_move
WeeChat バージョン 0.3.6 以上で利用可。
リスト内の他の要素にポインタを移動する。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
count: 移動を実行する回数 (負および正の整数、ゼロは禁止)
戻り値:
-
移動先の要素へのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.16. weechat_hdata_search
WeeChat バージョン 0.4.1 以上で利用可。
リストから要素を検索: リスト内の各要素に対して search の内容を評価し、マッチする要素が見つかるかリストの最後に到達するまでこれを続ける。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
search: 評価する式、式中のデフォルトポインタは hdata の名前 (デフォルトポインタはリストに含まれる各要素で置換される); 式に関する情報は WeeChat ユーザガイド のコマンド
/eval
を参照 -
move: 検索に失敗した後に移動を実行する回数 (負および正の整数、ゼロは禁止)
戻り値:
-
見つかった要素へのポインタ、見つからなかった場合は NULL
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.17. weechat_hdata_char
WeeChat バージョン 0.3.7 以上で利用可。
hdata を使って構造体に含まれる文字型変数の値を返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名 (必ず"文字型"であること); 配列の場合、"N|name" のように名前を指定することが可能。ここで N は配列のインデックス (1 番目は 0)、例: "2|name"
戻り値:
-
文字型変数の値
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.18. weechat_hdata_integer
WeeChat バージョン 0.3.6 以上で利用可。
hdata を使って構造体に含まれる整数型変数の値を返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名 (必ず"整数型"であること); 配列の場合、"N|name" のように名前を指定することが可能。ここで N は配列のインデックス (1 番目は 0)、例: "2|name"
戻り値:
-
整数型変数の値
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.19. weechat_hdata_long
WeeChat バージョン 0.3.6 以上で利用可。
hdata を使って構造体に含まれる long 型変数の値を返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名 (必ず "long 型"であること); 配列の場合、"N|name" のように名前を指定することが可能。ここで N は配列のインデックス (1 番目は 0)、例: "2|name"
戻り値:
-
long 変数の値
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.20. weechat_hdata_string
WeeChat バージョン 0.3.6 以上で利用可。
hdata を使って構造体に含まれる文字列型変数の値を返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名 (必ず"文字列型"であること); 配列の場合、"N|name" のように名前を指定することが可能。ここで N は配列のインデックス (1 番目は 0)、例: "2|name"
戻り値:
-
文字列変数の値
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.21. weechat_hdata_pointer
WeeChat バージョン 0.3.6 以上で利用可。
hdata を使って構造体に含まれるポインタ型変数の値を返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名 (必ず"ポインタ型"であること); 配列の場合、"N|name" のように名前を指定することが可能。ここで N は配列のインデックス (1 番目は 0)、例: "2|name"
戻り値:
-
ポインタ型変数の値
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.22. weechat_hdata_time
WeeChat バージョン 0.3.6 以上で利用可。
hdata を使って構造体に含まれる時刻型変数の値を返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名 (必ず"時刻型"であること); 配列の場合、"N|name" のように名前を指定することが可能。ここで N は配列のインデックス (1 番目は 0)、例: "2|name"
戻り値:
-
時刻型変数の値
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.23. weechat_hdata_hashtable
WeeChat バージョン 0.3.7 以上で利用可。
hdata を使って構造体に含まれるハッシュテーブル型変数の値を返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名 (必ず"ハッシュテーブル型"であること); 配列の場合、"N|name" のように名前を指定することが可能。ここで N は配列のインデックス (1 番目は 0)、例: "2|name"
戻り値:
-
ハッシュテーブル型変数の値 (ハッシュテーブルへのポインタ)
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.24. weechat_hdata_set
WeeChat バージョン 0.3.9 以上で利用可。
hdata の変数に新しい値を設定。
Note
|
変数の更新を許可している場合に、この関数呼び出して良いのは update コールバックの中だけです (weechat_hdata_new と weechat_hdata_update を参照) |
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
name: 変数名 (許可されている型: 文字型、整数型、long 型、文字列型、ポインタ型、時刻型)
-
value: 変数の新しい値
戻り値:
-
成功した場合は 1、エラーが起きた場合は 0
C 言語での使用例:
Note
|
スクリプト API ではこの関数を利用できません。 |
3.20.25. weechat_hdata_update
WeeChat バージョン 0.3.9 以上で利用可。
hdata 内のデータを更新。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
pointer: WeeChat および plugin オブジェクトへのポインタ
-
hashtable: 更新する変数: キーは変数の名前、値は変数の新しい値 (キーと値は文字列)、以下の特別なキーを使うことができます:
-
キー
__create_allowed
(値は任意): 構造体の作製を許可する場合は 1、許可しない場合は 0 を返す (WeeChat バージョン 0.4.0 以上で利用可) -
キー
__delete_allowed
(値は任意): 構造体の削除を許可する場合は 1、許可しない場合は 0 を返す -
キー
__update_allowed
、値は変数の名前: この変数の更新を許可する場合は 1、許可しない場合は 0 を返す -
キー
__delete
(値は任意): 構造体を削除 (許可されている場合)
-
戻り値:
-
更新された変数の個数
C 言語での使用例:
スクリプト (Python) での使用例:
3.20.26. weechat_hdata_get_string
WeeChat バージョン 0.3.6 以上で利用可。
hdata プロパティの文字列値を返す。
プロトタイプ:
引数:
-
hdata: hdata へのポインタ
-
property: プロパティ名:
-
var_keys: hdata に含まれる変数のキーのリストを含む文字列 (フォーマット: "key1,key2,key3")
-
var_values: hdata に含まれる変数の値のリストを含む文字列 (フォーマット: "value1,value2,value3")
-
var_keys_values: hdata に含まれる変数のキーと値のリストを含む文字列 (フォーマット: "key1:value1,key2:value2,key3:value3")
-
var_prev: 構造体に含まれる変数の名前、構造体はリスト内の 1 つ前の要素へのポインタ
-
var_next: 構造体に含まれる変数の名前、構造体はリスト内の 1 つ後の要素へのポインタ
-
list_keys: hdata に含まれるリストのキーのリストを含む文字列 (フォーマット: "key1,key2,key3")
-
list_values: hdata に含まれるリストの値のリストを含む文字列 (フォーマット: "value1,value2,value3")
-
list_keys_values: hdata に含まれるリストのキーと値のリストを含む文字列 (フォーマット: "key1:value1,key2:value2,key3:value3")
-
戻り値:
-
プロパティの文字列値
C 言語での使用例:
スクリプト (Python) での使用例:
3.21. アップグレード
WeeChat をアップグレードする (コマンド "/upgrade") 関数。
3.21.1. weechat_upgrade_new
アップグレード用のファイルを作成または読み込み。
プロトタイプ:
引数:
-
filename: ファイルの名前 (WeeChat はこの名前に拡張子 ".upgrade" を追加します)
-
write:
-
1: ファイルを作成 (書き込みモード、アップグレード前)
-
0: ファイルを読み込む (アップグレード後)
-
戻り値:
-
アップグレードファイルへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例:
3.21.2. weechat_upgrade_write_object
アップグレードファイルにオブジェクトを書き込む。
プロトタイプ:
引数:
-
upgrade_file: アップグレードファイルへのポインタ
-
object_id: オブジェクトの識別番号
-
infolist: ファイルに書き込むインフォリスト
戻り値:
-
成功した場合は 1、エラーが起きた場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.21.3. weechat_upgrade_read
アップグレードファイルを読み込む。
プロトタイプ:
引数:
-
upgrade_file: アップグレードファイルへのポインタ
-
callback_read: アップグレードファイル内の各オブジェクトを読み込む際に呼び出す関数 引数と戻り値:
-
void *data: ポインタ
-
struct t_upgrade_file *upgrade_file: アップグレードファイルへのポインタ
-
int object_id: オブジェクトの識別番号
-
struct t_infolist *infolist: オブジェクトの内容を含むインフォリスト
-
戻り値:
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_read_data: WeeChat が read コールバックを呼び出す際にコールバックに渡すポインタ
戻り値:
-
成功した場合は 1、エラーが起きた場合は 0
C 言語での使用例:
スクリプト (Python) での使用例:
3.21.4. weechat_upgrade_close
アップグレードファイルを閉じる。
プロトタイプ:
引数:
-
upgrade_file: アップグレードファイルへのポインタ
C 言語での使用例:
スクリプト (Python) での使用例: