翻訳者:
-
Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>, 2012-2019
このマニュアルは WeeChat チャットクライアントについての文書で、これは WeeChat の一部です。
Latest version of this document can be found on this page ↗.
WeeChat (Wee Enhanced Environment for Chat) はフリーのチャットクライアントです。高速で軽量、多くのオペレーティングシステムで動くように設計されています。
WeeChat をインストールするには、以下のものが必要です:
-
GNU/Linux が稼動しているシステム (ソースパッケージを使う場合は、コンパイラツールも必要)、または互換 OS
-
root 特権 (WeeChat をシステムディレクトリにインストールする場合)
-
一部のライブラリ (依存関係を参照)。
多くのディストリビューションではバイナリパッケージが利用できます。例えば:
-
Arch Linux:
pacman -S weechat
-
Cygwin (Windows): setup.exe で WeeChat パッケージを選択してください
-
Debian/Ubuntu (または Debian 互換ディストリビューション):
apt-get install weechat-curses weechat-plugins
For latest versions and nightly builds: Debian repositories ↗ -
Fedora Core:
dnf install weechat
-
FreeBSD:
pkg install weechat
-
Gentoo:
emerge weechat
-
Mandriva/RedHat (または RPM 互換ディストリビューション):
rpm -i /path/to/weechat-x.y.z-1.i386.rpm
-
openSUSE:
zypper in weechat
-
Sourcemage:
cast weechat
-
macOS (with Homebrew ↗):
brew install weechat
(for help:brew info weechat
)
例えば weechat-plugins 等の追加パッケージを使うとさらに便利になるかもしれません。
その他のディストリビューションでは、インストール説明マニュアルを参照してください。
Containers with WeeChat can be built or installed directly from the
Docker Hub ↗.
For more information, see the README in the
weechat-container ↗
repository.
WeeChat must be built with CMake.
Note
|
macOS では Homebrew ↗ を使ってください:
brew install --build-from-source weechat 。
|
The following table shows the list of packages that are required to build WeeChat:
パッケージ (1) | バージョン | Features |
---|---|---|
C コンパイラ (gcc / clang) |
Compile C sources. |
|
cmake |
≥ 3.0 |
ビルド |
pkg-config |
インストール済みライブラリを検出 |
|
libncurses-dev |
ncurses インターフェース |
|
libcurl4-gnutls-dev |
URL 転送 |
|
libgcrypt20-dev |
保護データ、IRC SASL 認証 |
|
libgnutls28-dev |
≥ 2.2.0 (2) |
IRC plugin: support of TLS connections, IRC SASL authentication (ECDSA-NIST256P-CHALLENGE). |
zlib1g-dev |
Logger plugin: compression of rotated log files (gzip). |
Note
|
(1) Name comes from the Debian GNU/Linux Bookworm distribution, version and
name can be different in other distributions. (2) IRC SASL 認証で ECDSA-NIST256P-CHALLENGE を使うには、GnuTLS バージョン 3.0.21 以上が必要です。 |
The following table shows the list of packages that are optional to compile WeeChat:
パッケージ (1) | バージョン | Features |
---|---|---|
C++ コンパイラ (g++ / clang++) |
ビルドとテストの実行、JavaScript プラグイン |
|
gettext |
国際化 (メッセージの翻訳; ベース言語は英語です) |
|
ca-certificates |
TLS 接続に必要な証明書、relay プラグインで TLS サポート |
|
libcjson-dev |
Relay plugin: protocol "api" (HTTP REST API). |
|
libzstd-dev |
≥ 0.8.1 |
Logger plugin: compression of rotated log files (zstandard). |
libaspell-dev / libenchant-dev |
spell プラグイン |
|
python3-dev |
3.0 以上 |
python プラグイン |
libperl-dev |
perl プラグイン |
|
ruby3.1, ruby3.1-dev |
1.9.1 以上 |
ruby プラグイン |
liblua5.4-dev |
lua プラグイン |
|
tcl-dev |
8.5 以上 |
tcl プラグイン |
guile-3.0-dev |
2.0 以上 |
guile (scheme) プラグイン |
libv8-dev |
3.24.3 以下 |
javascript プラグイン |
php-dev |
7.0 以上 |
PHP プラグイン |
libphp-embed |
7.0 以上 |
PHP プラグイン |
libxml2-dev |
PHP プラグイン |
|
libargon2-dev |
PHP プラグイン (PHP 7.2 以上の場合) |
|
libsodium-dev |
PHP プラグイン (PHP 7.2 以上の場合) |
|
asciidoctor |
1.5.4 以上 |
man ページと文書のビルド |
ruby-pygments.rb |
Build documentation. |
|
libcpputest-dev |
3.4 以上 |
ビルドとテストの実行 |
Note
|
(1) Name comes from the Debian GNU/Linux Bookworm distribution, version and name can be different in other distributions. |
Debian および Ubuntu ベースのディストリビューションを使っており、/etc/apt/sources.list ファイルで "deb-src" ソースエントリを指定しているならば、すべての依存関係にあるパッケージを以下のコマンドでインストール可能です:
# apt-get build-dep weechat
-
システムディレクトリにインストールする場合 (root 特権が必要です):
$ mkdir build $ cd build $ cmake .. $ make $ sudo make install
-
任意のディレクトリ (例えば自分のホームディレクトリ) にインストールする場合:
$ mkdir build $ cd build $ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/directory $ make $ make install
CMake に対するオプションを指定するには、以下の書式を使ってください: -DOPTION=VALUE
。
List of available options:
オプション | 値 | デフォルト値 | 説明 |
---|---|---|---|
|
|
ビルド形式: WeeChat の開発版を使っている場合は
|
|
|
directory |
|
WeeChat をインストールするディレクトリ。 |
|
directory |
|
WeeChat 実行時のホームディレクトリ。 |
|
|
|
Alias プラグインのコンパイル。 |
|
|
|
Buflist プラグインのコンパイル。 |
|
|
|
Charset プラグインのコンパイル。 |
|
|
|
Support of JSON with cJSON ↗ library. |
|
|
|
man ページのコンパイル。 |
|
|
|
HTML 文書のコンパイル。 |
|
|
|
Force build of documentation even if some plugins are not compiled (not recommended: docs will be incomplete). |
|
|
|
Enchant と含めた Spell プラグインのコンパイル。 |
|
|
|
Exec プラグインのコンパイル。 |
|
|
|
Fifo プラグインのコンパイル。 |
|
|
|
Fset プラグインのコンパイル。 |
|
|
|
Guile プラグイン (Scheme) のコンパイル。 |
|
|
|
Compile headless binary. |
|
|
|
IRC プラグインのコンパイル |
|
|
|
JavaScript プラグインのコンパイル。 |
|
|
|
巨大ファイルのサポート。 |
|
|
|
Logger プラグインのコンパイル。 |
|
|
|
Lua プラグインのコンパイル。 |
|
|
|
Ncurses インターフェースのコンパイル。 |
|
|
|
NLS の有効化 (多言語サポート)。 |
|
|
|
Perl プラグインのコンパイル。 |
|
|
|
PHP プラグインのコンパイル。 |
|
|
|
Python プラグインのコンパイル。 |
|
|
|
リレープラグインのコンパイル。 |
|
|
|
Ruby プラグインのコンパイル。 |
|
|
|
スクリプトプラグインのコンパイル。 |
|
|
|
すべてのスクリプトプラグイン (Python、Perl、Ruby、Lua、Tcl、Guile、PHP) のコンパイル。 |
|
|
|
Spell プラグインのコンパイル。 |
|
|
|
Tcl プラグインのコンパイル。 |
|
|
|
Trigger プラグインのコンパイル。 |
|
|
|
Typing プラグインのコンパイル。 |
|
|
|
Xfer プラグインのコンパイル。 |
|
|
|
Enable Zstandard ↗ compression. |
|
|
|
コンパイルテスト。 |
|
|
|
コードカバレッジオプションを有効化してコンパイル。 |
その他のオプションは以下のコマンドで確認してください:
$ cmake -LA
Curses インターフェースを使う場合は以下のコマンドを使ってください:
$ ccmake ..
警告: Git ソースを用いる方法は上級者向けです。コンパイルに失敗したり、 不安定な可能性があります。警告しましたよ!
Git ソースを入手するには、以下のコマンドを使ってください:
$ git clone https://github.com/weechat/weechat.git
その後は、ソースパッケージの説明に従ってください (ソースパッケージを参照)。
WeeChat がクラッシュした場合、または WeeChat をクラッシュさせる操作を報告する場合、以下の手順に従ってください:
-
Compile with:
-
debug info (or install binary package with debug info),
-
address sanitizer (optional).
-
-
システムの core ファイルを有効化
-
gdb のインストール
You can additionally enable the address sanitizer, which causes WeeChat to crash immediately in case of problem:
$ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address
Warning
|
You should enable address sanitizer only if you’re trying to cause a crash, this is not recommended in production. |
Then once compiled and installed, you must run WeeChat like this:
$ ASAN_OPTIONS="detect_odr_violation=0 log_path=asan.log" weechat
In case of crash, the backtrace is in file asan.log
.
core ファイルを有効化するには、weechat.startup.sys_rlimit オプションを使ってください:
/set weechat.startup.sys_rlimit "core:-1"
WeeChat バージョン 0.3.8 以下または WeeChat の実行前に core
ファイルを有効化したい場合には、ulimit
コマンドを使ってください。
Linux で bash シェルを使っている場合、以下の内容を ~/.bashrc
に追加してください:
ulimit -c unlimited
サイズを指定する場合は:
ulimit -c 200000
オプションが有効の場合、WeeChat がクラッシュするとシステムは core または core.12345 ファイルを作ります (12345 はプロセス番号です)。このファイルは WeeChat を起動したディレクトリに作られます (これは WeeChat がインストールされているディレクトリでは ありません!)。
Note
|
On some systems like Archlinux, core dumps could be in another directory like
/var/lib/systemd/coredump and you must use the command coredumpctl to read it.For more information, see this wiki page ↗. |
例えば、weechat が /usr/bin/ にインストールされ、core ファイルが /home/user/ にある場合、以下のコマンドで gdb を起動してください:
gdb /usr/bin/weechat /home/user/core
gdb の中で bt full
コマンドを実行するとバックトレースが表示されます。以下のような出力が得られるはずです:
(gdb) set logging file /tmp/crash.txt (gdb) set logging on Copying output to /tmp/crash.txt. (gdb) bt full #0 0x00007f9dfb04a465 in raise () from /lib/libc.so.6 #1 0x00007f9dfb04b8e6 in abort () from /lib/libc.so.6 #2 0x0000000000437f66 in weechat_shutdown (return_code=1, crash=1) at /some_path/src/core/weechat.c:351 #3 <signal handler called> #4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90, remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364 hook_process = 0x254eb90 status = <value optimized out> #5 0x000000000044cc7d in hook_timer_exec () at /some_path/src/core/wee-hook.c:1025 tv_time = {tv_sec = 1272693881, tv_usec = 212665} ptr_hook = 0x2811f40 next_hook = 0x0 #6 0x000000000041b5b0 in gui_main_loop () at /some_path/src/gui/curses/gui-curses-main.c:319 hook_fd_keyboard = 0x173b600 tv_timeout = {tv_sec = 0, tv_usec = 0} read_fds = {fds_bits = {0 <repeats 16 times>}} write_fds = {fds_bits = {0 <repeats 16 times>}} except_fds = {fds_bits = {0 <repeats 16 times>}} max_fd = <value optimized out>
このバックトレースを開発者に報告し、クラッシュを引き起こした動作を伝えてください。
ご協力ありがとうございます!
WeeChat を起動させるには、以下コマンドを実行:
$ weechat
WeeChat の初回起動時にデフォルトのオプション設定を含む設定ファイルが ~/.config/weechat ディレクトリの中に作成されます (ファイルとディレクトリを参照してください)。
Some extra options are available for debug purposes only:
Warning
|
Do NOT use any of these options in production! |
以下の環境変数が定義されていた場合、WeeChat はそれを利用します:
変数名 | 説明 |
---|---|
|
WeeChat ホームディレクトリ (ここには設定ファイル、ログ、スクリプトなどがあります) Same behavior as CMake option |
|
暗号化データを復号化するためのパスフレーズ |
|
プラグインをロードするための追加ディレクトリパス (設定したパス内の "plugins" ディレクトリからロードします) |
WeeChat ではバーやチャットエリアにおけるテキスト表示に 32767 個の色ペアを利用できます (この機能を利用するには WeeChat が実行されている端末が 256 色表示に対応している必要があります)。
TERM 環境変数の値によって、WeeChat で利用できる色と色ペアに以下の制限があります:
$TERM | 色 | ペア |
---|---|---|
"rxvt-unicode", "xterm", … |
88 |
32767 |
"rxvt-256color", "xterm-256color", … |
256 |
32767 |
"screen" |
8 |
64 |
"screen-256color" |
256 |
32767 |
"tmux" |
8 |
64 |
"tmux-256color" |
256 |
32767 |
weechat --colors
を実行するか、/color
コマンドを WeeChat
の中で実行することで、色表示の制限を確認できます。
256 色を利用したい場合に推奨される TERM 環境変数の値は:
-
screen 内の場合: screen-256color
-
tmux 内の場合: screen-256color、tmux-256color
-
screen および tmux の外の場合: xterm-256color、rxvt-256color、putty-256color、…
Note
|
TERM 環境変数の値に上の値を設定するには、"ncurses-term" パッケージをインストールする必要があるかもしれません。 |
screen を使っている場合、~/.screenrc に以下の内容を追加してください:
term screen-256color
TERM 変数が間違った値に設定された状態で WeeChat が起動完了している場合は、以下の 2 つのコマンドを使って変数の値を変更してください:
/set env TERM screen-256color /upgrade
WeeChat uses XDG directories by default (according to the
XDG Base Directory Specification ↗).
A single home directory for all files can be forced by CMake option WEECHAT_HOME
,
the environment variable WEECHAT_HOME
or the command-line option -d
/ --dir
.
When a single WeeChat home directory is not forced, XDG directories are used and set like this:
Directory | Default value | Fallback value if $XDG_XXX is not defined |
---|---|---|
config |
|
|
data |
|
|
cache |
|
|
runtime |
|
Same as cache directory |
The configuration files are created with default values the first time you run WeeChat.
The WeeChat directories are:
Path (1) | 説明 |
---|---|
|
WeeChat configuration files: |
|
WeeChat data files: logs, scripts, scripts data, xfer files, etc. |
|
ログファイル (バッファごとに 1 つのファイル) |
|
Python スクリプト |
|
起動時に自動ロードされる Python スクリプト (2) |
|
Perl スクリプト |
|
起動時に自動ロードされる Perl スクリプト (2) |
|
Ruby スクリプト |
|
起動時に自動ロードされる Ruby スクリプト (2) |
|
Lua スクリプト |
|
起動時に自動ロードされる Lua スクリプト (2) |
|
Tcl スクリプト |
|
起動時に自動ロードされる Tcl スクリプト (2) |
|
Guile スクリプト |
|
起動時に自動ロードされる Guile スクリプト (2) |
|
JavaScript スクリプト |
|
起動時に自動ロードされる JavaScript スクリプト (2) |
|
PHP スクリプト |
|
起動時に自動ロードされる PHP スクリプト (2) |
|
WeeChat cache files: scripts cache. |
|
WeeChat runtime files: FIFO pipe, Relay UNIX sockets. |
Note
|
(1) XDG directories may be different according to your environment variables XDG_* .(2) このディレクトリには親ディレクトリ内にあるスクリプトへのシンボリックリンクのみが含まれることが多いです。 |
WeeChat ホームディレクトリには以下のファイルが含まれます:
ファイル | 説明 | データ保護 |
---|---|---|
|
WeeChat の主要設定ファイル |
保護される場合もあります (例: 保存されたバッファレイアウトに含まれるチャンネルのリスト) |
|
機密データを含む設定ファイル |
保護されます、機密性の高いデータ: このファイルを誰かと共有してはいけません |
|
プラグイン設定ファイル |
保護される場合もあります、プラグインおよびスクリプトに依存します |
|
alias プラグイン用の設定ファイル |
保護される場合もあります、エイリアスに依存します |
|
buflist プラグイン用の設定ファイル |
保護されません |
|
charset プラグイン用の設定ファイル |
保護されません |
|
exec プラグイン用の設定ファイル |
保護されません |
|
fifo プラグイン用の設定ファイル |
保護されません |
|
fset プラグイン用の設定ファイル |
保護されません |
|
guile プラグイン用の設定ファイル |
保護されません |
|
irc プラグイン用の設定ファイル |
保護されます: サーバ、nickserv、チャンネルのパスワードを保存することが可能です (これらのデータが |
|
javascript プラグイン用の設定ファイル |
保護されません |
|
logger プラグイン用の設定ファイル |
保護されません |
|
lua プラグイン用の設定ファイル |
保護されません |
|
perl プラグイン用の設定ファイル |
保護されません |
|
php プラグイン用の設定ファイル |
保護されません |
|
python プラグイン用の設定ファイル |
保護されません |
|
relay プラグイン用の設定ファイル |
Yes: it can contain relay password and TOTP secret (if not stored in |
|
ruby プラグイン用の設定ファイル |
保護されません |
|
script プラグイン用の設定ファイル |
保護されません |
|
spell プラグイン用の設定ファイル |
保護されません |
|
tcl プラグイン用の設定ファイル |
保護されません |
|
trigger プラグイン用の設定ファイル |
保護される場合もあります、トリガに依存します |
|
typing プラグイン用の設定ファイル |
保護されません |
|
xfer プラグイン用の設定ファイル |
保護されません |
|
WeeChat ログファイル |
保護されません |
If a new stable version of WeeChat is released, this is time for you to switch to this version.
First of all, you must install the new version of WeeChat, either with your
package manager or by compiling yourself, so that the weechat
binary and all
required files are in the same paths.
This can be done while WeeChat is running.
WeeChat can restart the new binary, in place, using the
/upgrade command: the buffer contents and non-TLS
connections are preserved.
The TLS connections are lost during upgrade and are restored automatically
after the upgrade (reload of TLS sessions is currently not possible
with GnuTLS).
The command can also be used if you have to restart the machine, for example to upgrade the kernel or to move your WeeChat to another machine:
/upgrade -quit
This saves the current state in *.upgrade
files. You can then either reboot
or move the whole WeeChat directories (config, data, cache) to another machine,
and restart WeeChat later with this command:
$ weechat --upgrade
After an upgrade, it is strongly recommended to read the release notes ↗ which contain important information about breaking changes and some manual actions that could be required.
You must read the release notes of all versions between your old (excluded) and
your new version (included).
For example if you switch from version 3.0 to 3.2, you must read release notes
of versions 3.1 and 3.2.
WeeChat has an automatic upgrade of configuration files (*.conf
):
-
new options are silently added with default value
-
obsolete options are automatically discarded and WeeChat displays a warning with the value read from file.
Example of warning when an option has been removed:
=!= 警告: /home/user/.config/weechat/sec.conf, 行 15: セクション "crypt" の無効なオプション: passphrase_file = ""
That means the option sec.crypt.passphrase_file
has been removed, and you
had value set to empty string, which was the default value in the previous version
(in this case no manual action is required).
WeeChat を起動した端末の例:
▼ "buflist" バー ▼ "title" バー ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #test, this is a test channel │ │ weechat│12:52:27 --> | Flashy (flashcode@weechat.org) has joined #test │@Flashy│ │2. #test│12:52:27 -- | Nicks #test: [@Flashy @joe +weebot peter] │@joe │ │3. #abc │12:52:27 -- | Channel #test: 4 nicks (2 ops, 1 voice, 1 normal) │+weebot│ │4. #def │12:52:27 -- | Channel created on Tue Jan 27 06:30:17 2009 │peter │ │5. #ghi │12:54:15 peter | hey! │ │ │ │12:55:01 @joe | hello │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 2:#test(+n){4}* [H: 3:#abc(2,5), 5] │ │ │[@Flashy(i)] hi peter!█ │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ "status" と "input" バー "nicklist" バー ▲
By default, the screen is divided up into the following areas:
-
チャットログが表示されるチャットエリア (画面の真ん中)、それぞれの行は:
-
時刻
-
プレフィックス ("|" の前)
-
メッセージ ("|" の後)
-
-
チャットエリアの周りにあるバー、デフォルトバーは:
-
バッファリスト (buflist) バー、左端
-
タイトル (title) バー、チャットエリアの上
-
状態 (status) バー、チャットエリアの下
-
入力 (input) バー、状態バーの下
-
ニックネームリスト (nicklist) バー、右端
-
バッファリスト (buflist) バーは以下の初期要素を持っています:
要素 | 例 | 説明 |
---|---|---|
buflist |
|
バッファ一覧 |
状態 (title) バーは以下の初期要素を持っています:
要素 | 例 | 説明 |
---|---|---|
buffer_title |
|
バッファタイトル |
状態 (status) バーは以下の初期要素を持っています:
要素 | 例 | 説明 |
---|---|---|
time |
|
時刻 |
buffer_last_number |
|
リスト中の最後のバッファ番号 |
buffer_plugin |
|
現在のバッファのプラグイン (irc プラグインではバッファで利用されている IRC サーバ名を追加できます) |
buffer_number |
|
現在のバッファの番号 |
buffer_name |
|
現在のバッファの名前 |
buffer_modes |
|
IRC チャンネルモード |
buffer_nicklist_count |
|
Number of nicks displayed in nicklist. |
buffer_zoom |
! |
|
buffer_filter |
|
フィルタ表示: |
scroll |
|
スクロール表示、最後の行が表示されてから追加された行数を含む。 |
lag |
|
遅延秒表示 (遅延が短い場合は非表示) |
hotlist |
|
変化のあったバッファのリスト (未読メッセージ) (例では、#abc に 2 個のハイライトと 5 個の未読メッセージ、5 番目のバッファに 1 個の未読メッセージがあることを意味します。) |
completion |
|
補完候補の単語リスト、各単語に対して適応される補完候補の数を含む。 |
入力 (input) バーは以下の初期要素を持っています:
要素 | 例 | 説明 |
---|---|---|
input_prompt |
|
入力プロンプト、irc の場合: ニックネームとモード (libera では "+i" モードは不可視状態を意味します) |
away |
|
離席状態表示 |
input_search |
|
Search indicator (see below). |
input_paste |
|
行をペーストする場合にユーザへ行われる質問 |
input_text |
|
入力テキスト |
There are two search modes:
-
search in lines, for example
[Search lines (~ str,msg)]
, with the following info:-
~
: 大文字小文字を区別しない -
==
: 大文字小文字を区別する -
str
: 検索文字列 -
regex
: 検索正規表現 -
msg
: メッセージ部分から検索 -
pre
: プレフィックス部分から検索 -
pre\|msg
: プレフィックス部分とメッセージ部分から検索
-
-
search in commands history, for example
[Search command (~ str,local)]
, with the following info:-
~
: 大文字小文字を区別しない -
==
: 大文字小文字を区別する -
str
: 検索文字列 -
regex
: 検索正規表現 -
local
: search in buffer local history -
global
: search in global history.
-
ニックネームリスト (nicklist) バーは以下の初期要素を持っています:
要素 | 例 | 説明 |
---|---|---|
buffer_nicklist |
|
現在のバッファのニックネーム一覧 |
その他の利用可能な要素 (初期状態のバーはこれらの要素を持ちません):
要素 | 例 | 説明 |
---|---|---|
buffer_count |
|
開いているバッファの総数 |
buffer_last_number |
|
Number of the latest buffer (can be different from |
buffer_nicklist_count_all |
|
Number of visible groups and nicks in nicklist. |
buffer_nicklist_count_groups |
|
Number of visible groups in nicklist. |
buffer_short_name |
|
現在のバッファの短い名前 |
buflist2 |
|
List of buffers, second bar item (see option buflist.look.use_items). |
buflist3 |
|
List of buffers, third bar item (see option buflist.look.use_items). |
buflist4 |
|
List of buffers, fourth bar item (see option buflist.look.use_items). |
buflist5 |
|
List of buffers, fifth bar item (see option buflist.look.use_items). |
fset |
|
Help on currently selected option on fset buffer. |
irc_channel |
|
現在の IRC チャンネル名 |
irc_host |
|
Current IRC host. |
irc_nick |
|
Current IRC nick. |
irc_nick_host |
|
Current IRC nick and host. |
irc_nick_modes |
|
自分のニックネームに対する IRC モード |
irc_nick_prefix |
|
IRC nick prefix on channel. |
mouse_status |
|
マウスの状態 (マウスが無効化されている場合は空文字列) |
spell_dict |
|
現在のバッファにおけるスペリング辞書 |
spell_suggest |
|
カーソル下の単語に対するスペリング候補 (スペルが間違っている場合) |
tls_version |
|
TLS version in use for current IRC server. |
window_number |
|
現在のウィンドウ番号 |
WeeChat コマンドライン (ウィンドウの一番下にあります) はコマンドの実行やバッファにテキストを送信するために利用します。
コマンドは "/" 文字で始まり、コマンドの名前を続けます。例えば、すべてのオプションを表示するには:
/set
"/" が最初に無い場合、そのテキストはバッファに送信されます。例えば、hello というテキストをバッファに送信するには:
hello
"/" 文字から始まるテキストを送信したい場合、2 重に "/" をつけます。例えば、/set
というテキストを現在のバッファに送信するには:
//set
IRC 等のプラグインでは、以下の色コードと属性を利用できます (kbd:[Ctrl+c] の後に、オプションとともに以下のキーを押してください):
キー | 説明 |
---|---|
kbd:[Ctrl+c], kbd:[b] |
テキストを太字に |
kbd:[Ctrl+c], kbd:[c], kbd:[xx] |
テキスト表示色を |
kbd:[Ctrl+c], kbd:[c], kbd:[xx], kbd:[,], kbd:[yy] |
テキスト表示色を |
kbd:[Ctrl+c], kbd:[d], kbd:[xxxxxx] |
Text color |
kbd:[Ctrl+c], kbd:[d], kbd:[xxxxxx], kbd:[,], kbd:[yyyyyy] |
Text color |
kbd:[Ctrl+c], kbd:[i] |
テキストをイタリック体に |
kbd:[Ctrl+c], kbd:[o] |
テキスト表示色と属性をリセット |
kbd:[Ctrl+c], kbd:[v] |
テキストを反転 (テキスト表示色と背景色の入れ替え) |
kbd:[Ctrl+c], kbd:[_] |
テキストに下線を引く |
Note
|
The same code (without number for kbd:[Ctrl+c], kbd:[c] and kbd:[Ctrl+c], kbd:[d]) can be used to stop the attribute. |
kbd:[Ctrl+c], kbd:[c] 用の色コード:
Note
|
端末で利用可能なすべての色を表示するには、WeeChat で /color を実行した後
kbd:[Alt+c] を入力するか、端末で以下のコマンドを実行してください: weechat --colors 。
|
Example: display of "hello Alice!" with "hello" in light blue bold and "Alice" in light red underlined:
^Cc12^Cbhello ^Cb^Cc04^C_Alice^C_^Cc!
Keys:
kbd:[Ctrl+c] kbd:[c] kbd:[1] kbd:[2] kbd:[Ctrl+c] kbd:[b]
kbd:[h] kbd:[e] kbd:[l] kbd:[l] kbd:[o] kbd:[Space]
kbd:[Ctrl+c] kbd:[b] kbd:[Ctrl+c] kbd:[c] kbd:[0] kbd:[4] kbd:[Ctrl+c] kbd:[_]
kbd:[A] kbd:[l] kbd:[i] kbd:[c] kbd:[e]
kbd:[Ctrl+c] kbd:[_] kbd:[Ctrl+c] kbd:[c]
kbd:[!]
Note
|
irc プラグインでは、irc.color.mirc_remap を使ってこれらの色を別の色に対応付けることができます。 |
バッファ は番号、名前、表示された行 (とその他の情報) で構成されています。
バッファの例:
-
コアバッファ (起動時に WeeChat が作成、閉じることはできません)
-
irc サーバ (サーバからのメッセージを表示)
-
irc チャンネル
-
irc プライベートメッセージ
window はバッファを表示する画面エリアのことです。画面を複数のウィンドウに分割することができます (examples below, see the /window command for details).
それぞれのウィンドウは 1 つのバッファを表示します。バッファは隠したり (ウィンドウに表示しない)、複数のウィンドウに表示することできます。
Screen layouts and the association between windows and buffers can be saved and restored.
水平方向分割の例 (/window splith
):
▼ ウィンドウ #2 (バッファ #4) ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #def │ │ weechat│12:55:12 Max | hi │@Flashy│ │2. #test│12:55:20 @Flashy | hi Max! │Max │ │3. #abc │ │ │ │4. #def │ │ │ │5. #ghi │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 4:#def(+n){2} │ │ │[@Flashy] │ │ │────────────────────────────────────────────────────────────────────────────│ │ │Welcome to #abc │ │ │12:54:15 peter | hey! │@Flashy│ │ │12:55:01 @joe | hello │@joe │ │ │ │+weebot│ │ │ │peter │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n){4} │ │ │[@Flashy] hi peter!█ │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ ウィンドウ #1 (バッファ #3)
垂直方向分割の例 (/window splitv
):
┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #abc │Welcome to #def │ │ weechat│12:54:15 peter | hey! │@Flashy│12:55:12 Max | hi │@Flashy│ │2. #test│12:55:01 @joe | hello │@joe │12:55:20 @Flashy | hi Max! │Max │ │3. #abc │ │+weebot│ │ │ │4. #def │ │peter │ │ │ │5. #ghi │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n) │[12:55] [5] [irc/libera] 4:#def(+n) │ │ │[@Flashy] hi peter!█ │[@Flashy] │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ ウィンドウ #1 (バッファ #3) ▲ ウィンドウ #2 (バッファ #4)
垂直方向 + 水平方向分割の例:
▼ ウィンドウ #3 (バッファ #5) ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #abc │Welcome to #ghi │ │ weechat│12:54:15 peter | hey! │@Flashy│12:55:42 @Flashy | hi │@Flashy│ │2. #test│12:55:01 @joe | hello │@joe │12:55:56 alex | hi Flashy │alex │ │3. #abc │ │+weebot│ │ │ │4. #def │ │peter │ │ │ │5. #ghi │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 5:#ghi(+n) │ │ │ │ │[@Flashy] │ │ │ │ │──────────────────────────────────────│ │ │ │ │Welcome to #def │ │ │ │ │12:55:12 Max | hi │@Flashy│ │ │ │ │12:55:20 @Flashy | hi Max! │Max │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n) │[12:55] [5] [irc/libera] 4:#def(+n) │ │ │[@Flashy] hi peter!█ │[@Flashy] │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ ウィンドウ #1 (バッファ #3) ▲ ウィンドウ #2 (バッファ #4)
「最小限表示」と呼ばれる特殊な表示状態を使うことで、(マウスを使って) 長い URL を簡単にクリックしたり、テキストを簡単に選択できるようになっています。
最小限表示は以下の機能を持っています:
-
現在のバッファの内容だけを表示: 分割ウィンドウやバー等 (タイトル、ニックネームリスト、状態、入力、…) も表示しない
-
WeeChat マウスサポートを無効化 (有効化されていた場合): 端末でやるのと同じように URL をクリックしたりテキストを選択できます
-
ncurses を使わない、このため URL を行の最後で分断されることがなくなります。
最小限表示を有効化するデフォルトキーは kbd:[Alt+l] (L
) で、終了するには同じキーを押してください
(また、デフォルトでは入力が変更された場合に最小限表示を終了します、weechat.look.bare_display_exit_on_input
オプションを参照)。
weechat.look.bare_display_time_format オプションを使えば、時間書式を変更することも可能です。
/window コマンドを使えば、指定秒後に最小限表示を有効化することができます。
WeeChat が以下のような表示状態の場合:
┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #abc │ │ weechat│12:52:27 --> | Flashy (flashcode@weechat.org) has joined #abc │@Flashy│ │2. #test│12:52:27 -- | Nicks #abc: [@Flashy @joe +weebot peter] │@joe │ │3. #abc │12:52:27 -- | Channel #abc: 4 nicks (2 ops, 1 voice, 1 normal) │+weebot│ │4. #def │12:52:27 -- | Channel created on Tue Jan 27 06:30:17 2009 │peter │ │5. #ghi │12:54:15 peter | hey! │ │ │ │12:55:01 @joe | peter: hook_process: https://weechat.org/files/doc │ │ │ │ | /weechat/devel/weechat_plugin_api.en.html#_weechat │ │ │ │ | _hook_process │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n){4} │ │ │[@Flashy(i)] hi peter!█ │ └──────────────────────────────────────────────────────────────────────────────────────┘
最小限表示では以下の様に表示されます:
┌──────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │12:52 --> Flashy (flashcode@weechat.org) has joined #abc │ │12:52 -- Nicks #abc: [@Flashy @joe +weebot peter] │ │12:52 -- Channel #abc: 4 nicks (2 ops, 1 voice, 1 normal) │ │12:52 -- Channel created on Tue Jan 27 06:30:17 2009 │ │12:54 <peter> hey! │ │12:55 <@joe> peter: hook_process: https://weechat.org/files/doc/weechat/devel/weechat_│ │plugin_api.en.html#_weechat_hook_process │ └──────────────────────────────────────────────────────────────────────────────────────┘
このため、端末で問題なく joe さんからの URL をクリックできます (もちろん、使用中の端末で URL をクリックできるように設定されていなければいけませんが)。
書式付きバッファに表示される各行は以下のフィールドから構成されます:
フィールド | 表示状態 | 説明 |
---|---|---|
日付/時間 (メッセージ) |
表示 |
メッセージの日付および時間 (おそらく過去)。 |
日付/時間 (表示) |
非表示 |
WeeChat がメッセージを表示した時間。 |
プレフィックス |
表示 |
メッセージのプレフィックス、通常ニックネーム。 |
メッセージ |
表示 |
メッセージ自体。 |
表示状態 |
非表示 |
ブール値: 行が表示された場合には真、行が /filter コマンドでフィルタされた場合には偽。 |
ハイライト |
非表示 |
ブール値: 行がハイライトされている場合には真、それ以外の場合には偽。 |
タグ |
|
行に関連付けられたタグ (行のタグ参照)。 |
外観オプション(weechat.look.*) と色オプション (weechat.color.chat_*) を使えば、行の表示をカスタマイズすることが可能です。
WeeChat は様々な目的で各行にタグを付けます:
-
ハイライト
-
通知レベル
-
ログ記録
-
/filter コマンドの使用
/debug tags
コマンドでタグを表示することが可能です (タグを非表示にする場合も同じコマンドを使います)。
通常使用するタグ (一部抜粋したリスト):
タグ | 説明 |
---|---|
|
フィルタできない行 |
|
ハイライトできない行 |
|
ログファイルに書き込まれない行 |
|
行に対するログレベル ( |
|
The line must not be added to hotlist. (1) |
|
The line is a user message. (1) |
|
The line is a private message. (1) |
|
The line is a message with highlight. (1) |
|
自分のメッセージ |
|
ニックネーム "xxx" からのメッセージ |
|
プレフィックスを色 "ccc" のニックネームにします |
|
メッセージ中のユーザ名とホスト |
|
IRC メッセージ "xxx" (コマンドまたは 3 桁の番号) |
|
IRC 番号メッセージ |
|
IRC からのエラー |
|
あるニックネームからのアクション ( |
|
CTCP メッセージ |
|
CTCP メッセージに対する返信 |
|
"smart filter" でフィルタリング可能な IRC メッセージ |
|
離席状態のメッセージ |
Note
|
(1) When no tag "notify_xxx" is present, the default level is "low". If a tag "notify_xxx" is present, the real notify level can be different, for example if a max hotlist level is used for a nick, the notify level can be lower than the value in the tag. |
Local variables can be defined in all buffers.
A local variable has:
-
a name (string)
-
a value (string, can be empty).
Local variables can be set by WeeChat, plugins, scripts, or manually on the command line in the buffer;
For example to add the local variable "completion_default_template":
/buffer setvar completion_default_template %(my_completion)
To list local variables in the current buffer:
/buffer listvar
To remove the local variable "completion_default_template":
/buffer delvar completion_default_template
By default WeeChat and its default plugins interpret these variables:
Name | Value | Description |
---|---|---|
|
any string |
Away message on the server, set by irc plugin. |
|
any string |
Channel name, set by irc/xfer plugins and debug buffer of relay/trigger plugins. |
|
any string |
Charset modifier for the server buffer, set by irc plugin. |
|
any string |
Default completion template for the buffer, overriding the option
|
|
any string |
Filter defined on some buffers like |
|
any string |
Self host (if known), set by irc plugin. |
|
any string |
Lag on the server, set by irc plugin. |
|
any string |
Buffer name (be careful, this is not the full name and this name is not enough to identify or search a buffer). |
|
any string |
Self nick, set by irc and xfer plugins. |
|
|
If set, the logger plugin does not log anything for the buffer. |
|
any string |
Name of plugin which created the buffer ( |
|
any string |
Close callback defined by a script for a buffer. |
|
any string |
Data for close callback defined by a script for a buffer. |
|
any string |
Input callback defined by a script for a buffer. |
|
any string |
Data for input callback defined by a script for a buffer. |
|
any string |
Name of the script which created the buffer. |
|
any string |
Server name, set by irc plugin and debug buffer of relay/trigger plugins. |
|
any string |
Misspelled word and suggestions (format: "misspelled:suggestions"), set by spell plugin. |
|
any string |
Trigger filter, set by trigger plugin. |
|
any string, for example:
|
Type of buffer, set by WeeChat and many plugins. |
Note
|
External plugins and scripts can define and use other local variables. |
Buflist プラグインを使うことで、"buflist" と呼ばれるバー要素の中にバッファリストを表示させることが可能になります
(four other bar items "buflist2", "buflist3", "buflist4" and "buflist5" are
available as well)。
プラグインは開始時にバー要素 "buflist" を持つデフォルトバー "buflist" を作成します。
buflist.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
バッファリストの表示書式 |
|
|
外観 |
オプション:
The cursor mode allows you to move freely the cursor anywhere on screen, in chat
area and bars, and lets you perform actions at the given position.
You can enter in cursor mode either with the command /cursor
or with a mouse
middle click (mouse must have been enabled with key kbd:[Alt+m] or command
/mouse enable
).
Typical use is to quote messages (chat area) or interact with nicks (nicklist bar).
See command /cursor and key bindings in cursor context for the list of actions you can perform in this mode.
WeeChat provides a lot of default key bindings, listed in the following chapters.
They can be changed and new ones can be added with the /key command.
キー | 説明 | コマンド |
---|---|---|
kbd:[←] |
コマンドラインで前の文字に移動 |
|
kbd:[→] |
コマンドラインで次の文字に移動 |
|
kbd:[Shift+↑] |
Go to previous line. |
|
kbd:[Shift+↓] |
Go to next line. |
|
kbd:[Ctrl+←] |
コマンドラインで前の単語に移動 |
|
kbd:[Ctrl+→] |
コマンドラインで次の単語に移動 |
|
kbd:[Home] |
Go to the beginning of current line. |
|
kbd:[Shift+Home] |
Go to the beginning of command line. |
|
kbd:[End] |
Go to the end of current line. |
|
kbd:[Shift+End] |
Go to the end of command line. |
|
キー | 説明 | コマンド |
---|---|---|
kbd:[Del] |
コマンドラインで次の文字を削除 |
|
kbd:[Backspace] |
コマンドラインで前の文字を削除 |
|
kbd:[Ctrl+k] |
Delete from cursor until end of current line (deleted string is copied to the internal clipboard). |
|
kbd:[Alt+Ctrl+k] |
Delete from cursor until end of command line (deleted string is copied to the internal clipboard). |
|
kbd:[Ctrl+t] |
文字の入れ替え |
|
kbd:[Ctrl+u] |
Delete from cursor until beginning of current line (deleted string is copied to the internal clipboard). |
|
kbd:[Alt+Ctrl+u] |
Delete from cursor until beginning of command line (deleted string is copied to the internal clipboard). |
|
kbd:[Alt+Backspace] |
コマンドラインで前の単語を削除 (削除された文字列は WeeChat 専用の内部クリップボードに保存) |
|
kbd:[Ctrl+w] |
Delete previous word of command line until whitespace (deleted string is copied to the internal clipboard). |
|
kbd:[Ctrl+y] |
WeeChat 専用の内部クリップボードの内容をペースト |
|
kbd:[Ctrl+_] |
コマンドラインの最後の動作をやり直す |
|
kbd:[Alt+_] |
コマンドラインの最後の動作を取り消す |
|
kbd:[Tab] |
コマンドやニックネームを補完 (再度 kbd:[Tab] することで次の補完候補を表示) |
|
kbd:[Shift+Tab] |
補完候補が無い場合: 部分補完を行う、補完候補が有る場合: 前の補完候補を表示 |
|
kbd:[Enter] |
コマンドを実行するか、メッセージを送信する (検索モードの場合: 検索の終了) |
|
kbd:[Alt+Enter] |
Insert a newline. |
|
kbd:[Alt+d] |
コマンドラインで次の単語を削除 (削除された文字列は WeeChat 専用の内部クリップボードに保存) |
|
kbd:[Alt+k] |
キー入力を奪って、コマンドラインにコード (キーが割り当てられていればコマンド) を入力 |
|
kbd:[Alt+r] |
Delete current line. |
|
kbd:[Alt+R] |
Delete entire command line. |
|
キー | 説明 | コマンド |
---|---|---|
kbd:[Ctrl+c], kbd:[b] |
テキストを太字化するコードの挿入 |
|
kbd:[Ctrl+c], kbd:[c] |
テキストに色をつけるコードの挿入 |
|
kbd:[Ctrl+c], kbd:[d] |
Insert code for colored text (RGB color, as hexadecimal). |
|
kbd:[Ctrl+c], kbd:[i] |
テキストをイタリック体にするコードの挿入 |
|
kbd:[Ctrl+c], kbd:[o] |
テキスト色のリセットを行うコードの挿入 |
|
kbd:[Ctrl+c], kbd:[v] |
テキスト色の反転を行うコードの挿入 |
|
kbd:[Ctrl+c], kbd:[_] |
テキストに下線を引くコードの挿入 |
|
キー | 説明 | コマンド |
---|---|---|
kbd:[↑] |
前のコマンド/メッセージを呼び出す (検索モードの場合: 上方向に検索) |
|
kbd:[↓] |
次のコマンド/メッセージを呼び出す (検索モードの場合: 下方向に検索) |
|
kbd:[Ctrl+↑] |
グローバル履歴から前のコマンド/メッセージを呼び出す (すべてのバッファに対して共通の履歴) |
|
kbd:[Ctrl+↓] |
グローバル履歴から次のコマンド/メッセージを呼び出す (すべてのバッファに対して共通の履歴) |
|
キー | 説明 | コマンド |
---|---|---|
kbd:[Ctrl+r] |
Search for text in commands history (see keys for context "histsearch"). |
|
kbd:[Ctrl+s] |
Search for text in buffer lines (see keys for context "search"). |
|
kbd:[Ctrl+x] |
Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. |
|
kbd:[Alt+x] |
マージされたバッファに再ズーム (kbd:[Alt+x]: 全てのマージされたバッファを表示) |
|
kbd:[PgUp] |
バッファ履歴を 1 ページ分上方向にスクロール |
|
kbd:[PgDn] |
バッファ履歴を 1 ページ分下方向にスクロール |
|
kbd:[Alt+PgUp] |
バッファ履歴を数行分上方向にスクロール |
|
kbd:[Alt+PgDn] |
バッファ履歴を数行分下方向にスクロール |
|
kbd:[Alt+Home] |
バッファ履歴を最初までスクロール |
|
kbd:[Alt+End] |
バッファ履歴を最後までスクロール |
|
kbd:[Alt+←] |
前のバッファに移動 |
|
kbd:[Alt+→] |
後のバッファに移動 |
|
kbd:[Alt+j], kbd:[Alt+f] |
最初のバッファに移動 |
|
kbd:[Alt+j], kbd:[Alt+l] ( |
最後のバッファに移動 |
|
kbd:[Alt+j], kbd:[Alt+r] |
IRC 生バッファに移動 |
|
kbd:[Alt+j], kbd:[Alt+s] |
IRC サーババッファに移動 |
|
kbd:[Alt+0…9] |
番号のバッファに移動 (0 = 10) |
|
kbd:[Alt+j], kbd:[01…99] |
番号のバッファに移動 |
|
kbd:[Alt+n] |
次のハイライトまでスクロール |
|
kbd:[Alt+p] |
前のハイライトまでスクロール |
|
kbd:[Alt+u] |
バッファを最初の未読行までスクロール |
|
kbd:[Alt+Shift+U] |
すべてのバッファに未読マークをセット |
|
kbd:[Alt+<] |
バッファ訪問履歴で前のバッファに移動 |
|
kbd:[Alt+>] |
バッファ訪問履歴で次のバッファに移動 |
|
kbd:[Alt+/] |
最後に表示したバッファに移動 (バッファ移動前に表示していたウィンドウ) |
|
キー | 説明 | コマンド |
---|---|---|
kbd:[Ctrl+l] ( |
全ウィンドウを再描画 |
|
kbd:[Alt+l] ( |
最小限表示の有効無効を切り替え |
|
kbd:[F7] |
ウィンドウを前に移動 |
|
kbd:[F8] |
ウィンドウを後に移動 |
|
kbd:[Alt+w], kbd:[Alt+↑] |
上のウィンドウに移動 |
|
kbd:[Alt+w], kbd:[Alt+↓] |
下のウィンドウに移動 |
|
kbd:[Alt+w], kbd:[Alt+←] |
左のウィンドウに移動 |
|
kbd:[Alt+w], kbd:[Alt+→] |
右のウィンドウに移動 |
|
kbd:[Alt+w], kbd:[Alt+b] |
すべてのウィンドウサイズを均等に |
|
kbd:[Alt+w], kbd:[Alt+s] |
2 つのウィンドウを入れ替え |
|
kbd:[Alt+z] |
現在のウィンドウを最大化 (再度 kbd:[Alt+z] することで: 最初のウィンドウ状態に戻す、最大化前の状態) |
|
キー | 説明 | コマンド |
---|---|---|
kbd:[F1] |
バッファリストを上方に 1 ページスクロール |
|
kbd:[F2] |
バッファリストを下方に 1 ページスクロール |
|
kbd:[Alt+F1] |
バッファリストを上端までスクロール |
|
kbd:[Alt+F2] |
バッファリストを下端までスクロール |
|
kbd:[F9] |
バッファタイトルを左方向にスクロール |
|
kbd:[F10] |
バッファタイトルを右方向にスクロール |
|
kbd:[F11] |
ニックネームリストを上方向にスクロール |
|
kbd:[F12] |
ニックネームリストを下方向にスクロール |
|
kbd:[Alt+F11] |
ニックネームリストを一番上にスクロール |
|
kbd:[Alt+F12] |
ニックネームリストを一番下にスクロール |
|
kbd:[Alt+Shift+B] |
Toggle buflist. |
|
kbd:[Alt+Shift+N] |
Toggle nicklist bar. |
|
キー | 説明 | コマンド |
---|---|---|
kbd:[Alt+a] |
変更のあった次のバッファに移動 (優先順位: ハイライト、新規メッセージ、その他) |
|
kbd:[Alt+h], kbd:[Alt+c] |
Clear hotlist (activity notification on buffers). |
|
kbd:[Alt+h], kbd:[Alt+m] |
Remove current buffer from hotlist. |
|
kbd:[Alt+h], kbd:[Alt+r] |
Restore latest hotlist removed in the current buffer. |
|
kbd:[Alt+h], kbd:[Alt+Shift+R] |
Restore latest hotlist removed in all buffers. |
|
キー | 説明 | コマンド |
---|---|---|
kbd:[Alt+m] |
マウスの有効無効を切り替え |
|
kbd:[Alt+s] |
スペルチェッカの有効無効を切り替え |
|
kbd:[Alt+=] |
フィルタの有効無効を切り替え |
|
kbd:[Alt+-] |
現在のバッファのフィルタの有効無効を切り替え |
|
These keys are used in context "search" (when kbd:[Ctrl+s] is pressed to search text in buffer lines).
キー | 説明 | コマンド |
---|---|---|
kbd:[Ctrl+x] |
検索タイプを切り替え: 文字列 (デフォルト)、正規表現 |
|
kbd:[Alt+c] |
大文字小文字を区別して検索 |
|
kbd:[Tab] |
検索範囲: メッセージ (デフォルト)、プレフィックス、プレフィックスとメッセージ |
|
kbd:[Ctrl+r] |
前のキーワードで検索 |
|
kbd:[Ctrl+s] |
次のキーワードで検索 |
|
kbd:[Enter] |
現在の位置で検索を終了 |
|
kbd:[Ctrl+q] |
Stop search and reset scroll to pre-text search state. |
|
These keys are used in context "histsearch" (when kbd:[Ctrl+r] is pressed to search text in commands history).
キー | 説明 | コマンド |
---|---|---|
kbd:[Ctrl+x] |
検索タイプを切り替え: 文字列 (デフォルト)、正規表現 |
|
kbd:[Alt+c] |
大文字小文字を区別して検索 |
|
kbd:[Tab] |
Switch search in: buffer local history (default), global history. |
|
kbd:[Ctrl+r] |
Search in previous (older) history entries. |
|
kbd:[Ctrl+s] |
Search in next (newer) history entries. |
|
kbd:[Enter] |
Stop search and use matching input. |
|
kbd:[Ctrl+o] |
Execute the command found in history and insert the next one in the command line. |
|
kbd:[Ctrl+q] |
Stop search and restore input to its initial value. |
|
以下のキーは「カーソル」モード (画面上でカーソルを自由に動かせる状態) でのみ有効です, see Cursor mode.
キー | エリア | 説明 | コマンド |
---|---|---|---|
kbd:[↑] |
- |
カーソルを上の行に移動 |
|
kbd:[↓] |
- |
カーソルを下の行に移動 |
|
kbd:[←] |
- |
カーソルを左の列に移動 |
|
kbd:[→] |
- |
カーソルを右の列に移動 |
|
kbd:[Alt+↑] |
- |
Move cursor to the first line of the area. |
|
kbd:[Alt+↓] |
- |
Move cursor to the last line of the area. |
|
kbd:[Alt+←] |
- |
Move cursor to the first column of the area. |
|
kbd:[Alt+→] |
- |
Move cursor to the last column of the area. |
|
kbd:[Alt+Home] |
- |
Move cursor to the top left corner of the area. |
|
kbd:[Alt+End] |
- |
Move cursor to the bottom right corner of the area. |
|
kbd:[Alt+Shift+↑] |
- |
カーソルを上のエリアに移動 |
|
kbd:[Alt+Shift+↓] |
- |
カーソルを下のエリアに移動 |
|
kbd:[Alt+Shift+←] |
- |
カーソルを左のエリアに移動 |
|
kbd:[Alt+Shift+→] |
- |
カーソルを右のエリアに移動 |
|
kbd:[m] |
チャット |
メッセージを引用 |
|
kbd:[l] |
チャット |
Quote focused line. |
|
kbd:[q] |
チャット |
プレフィックスとメッセージを引用 |
|
kbd:[Q] |
チャット |
時間、プレフィックス、メッセージを引用 |
|
kbd:[b] |
ニックネームリスト |
ニックネームをバンする |
|
kbd:[k] |
ニックネームリスト |
ニックネームをキックする |
|
kbd:[K] |
ニックネームリスト |
ニックネームをバンとキックする |
|
kbd:[q] |
ニックネームリスト |
ニックネームに対するクエリを開く |
|
kbd:[w] |
ニックネームリスト |
ニックネームに対して whois を行う |
|
kbd:[Enter] |
- |
カーソルモードを終了 |
|
These mouse actions are possible only if mouse is enabled with key kbd:[Alt+m]
(command: /mouse toggle
).
ボタン/ホイール (1) | ジェスチャー | エリア | 説明 | コマンド |
---|---|---|---|---|
kbd:[■ □ □] |
- |
チャット |
ウィンドウに移動 |
|
kbd:[■ □ □] |
左 |
チャット |
前のバッファに移動 |
|
kbd:[■ □ □] |
右 |
チャット |
次のバッファに移動 |
|
kbd:[■ □ □] |
左 (長く) |
チャット |
最初のバッファに移動 |
|
kbd:[■ □ □] |
右 (長く) |
チャット |
最後のバッファに移動 |
|
kbd:[▲] |
- |
チャット |
バッファ履歴を上方向にスクロール |
|
kbd:[▼] |
- |
チャット |
バッファ履歴を下方向にスクロール |
|
kbd:[Ctrl+▲] |
- |
チャット |
水平左方向にスクロール |
|
kbd:[Ctrl+▼] |
- |
チャット |
水平右方向にスクロール |
|
kbd:[▲] |
- |
chat: fset buffer |
Move five lines up in fset buffer. |
|
kbd:[▼] |
- |
chat: fset buffer |
Move five lines down in fset buffer. |
|
kbd:[■ □ □] |
- |
chat: fset buffer |
Select line in fset buffer. |
|
kbd:[□ □ ■] |
- |
chat: fset buffer |
Toggle boolean (on/off) or edit the option value. |
|
kbd:[□ □ ■] |
left |
chat: fset buffer |
Decrease value for integer/color/enum, set/append to value for other types. |
|
kbd:[□ □ ■] |
right |
chat: fset buffer |
Increase value for integer/color/enum, set/append to value for other types. |
|
kbd:[□ □ ■] |
up / down |
chat: fset buffer |
Mark/unmark multiple options. |
|
kbd:[▲] |
- |
chat: /list buffer |
Move five lines up in /list buffer. |
|
kbd:[▼] |
- |
chat: /list buffer |
Move five lines down in /list buffer. |
|
kbd:[■ □ □] |
- |
chat: /list buffer |
Select line in /list buffer. |
|
kbd:[□ □ ■] |
- |
chat: /list buffer |
Join IRC channel on selected line. |
|
kbd:[▲] |
- |
チャット: スクリプトバッファ |
スクリプトバッファを 5 行上方向にスクロール |
|
kbd:[▼] |
- |
チャット: スクリプトバッファ |
スクリプトバッファで 5 行下方向にスクロール |
|
kbd:[■ □ □] |
- |
チャット: スクリプトバッファ |
スクリプトバッファで行選択 |
|
kbd:[□ □ ■] |
- |
チャット: スクリプトバッファ |
スクリプトのインストール `+/ 削除 |
/script -go ${_chat_line_y};/script installremove ${script_name_with_extension}+` |
kbd:[■ □ □] |
上 / 左 |
バッファリスト |
指定したバッファを下の番号に移動 |
|
kbd:[■ □ □] |
下 / 右 |
バッファリスト |
指定したバッファを上の番号に移動 |
|
kbd:[■ □ □] |
- |
バッファリスト |
指定したバッファに切り替える (現在のバッファを指定した場合、バッファ切り替え履歴で前のバッファに切り替える) |
|
kbd:[□ □ ■] |
- |
バッファリスト |
現在のバッファを指定した場合、バッファ切り替え履歴で次のバッファに切り替える |
|
kbd:[Ctrl+▲] |
- |
バッファリスト |
バッファ切り替え履歴で前のバッファに切り替える |
|
kbd:[Ctrl+▼] |
- |
バッファリスト |
バッファ切り替え履歴で次のバッファに切り替える |
|
kbd:[■ □ □] |
上 |
ニックネームリスト |
ニックネームリストを 1 ページ分上方向にスクロール |
|
kbd:[■ □ □] |
下 |
ニックネームリスト |
ニックネームリストを 1 ページ分下方向にスクロール |
|
kbd:[■ □ □] |
上 (長く) |
ニックネームリスト |
ニックネームリストの最初に移動 |
|
kbd:[■ □ □] |
下 (長く) |
ニックネームリスト |
ニックネームリストの最後に移動 |
|
kbd:[■ □ □] |
- |
ニックネームリスト |
ニックネームに対するクエリを開く |
|
kbd:[□ □ ■] |
- |
ニックネームリスト |
ニックネームに対する whois を行う |
|
kbd:[■ □ □] |
左 |
ニックネームリスト |
ニックネームをキックする |
|
kbd:[■ □ □] |
左 (長く) |
ニックネームリスト |
ニックネームをキックとバンする |
|
kbd:[□ □ ■] |
左 |
ニックネームリスト |
ニックネームをバンする |
|
kbd:[□ □ ■] |
- |
入力 |
マウスイベントを奪ってコマンドラインにコードを入力 |
|
kbd:[▲] |
- |
任意のバー |
バーを -20% スクロール |
|
kbd:[▼] |
- |
任意のバー |
バーを +20% スクロール |
|
kbd:[□ ■ □] |
- |
任意の場所 |
この場所でカーソルモードを開始 |
|
Note
|
(1) Buttons: kbd:[◼ □ □]: click on left button kbd:[□ ◼ □]: click on middle button kbd:[□ □ ◼]: click on right button Wheel: kbd:[▲]: wheel up kbd:[▼]: wheel down |
These keys and actions are used on the fset buffer (see Fset plugin).
Key | Action (1) | Description | Command |
---|---|---|---|
kbd:[↑] |
Move one line up. |
|
|
kbd:[↓] |
Move one line down. |
|
|
kbd:[PgUp] |
Move one page up. |
|
|
kbd:[PgDn] |
Move one page down. |
|
|
kbd:[Alt+Home] |
|
Move to first line. |
|
kbd:[Alt+End] |
|
Move to last line. |
|
kbd:[F11] |
|
Scroll horizontally on the left. |
|
kbd:[F12] |
|
Scroll horizontally on the right. |
|
kbd:[Alt+Space] |
|
Toggle boolean value. |
|
kbd:[Alt+-] |
|
Subtract 1 from value for integer/color/enum, set value for other types. |
|
kbd:[Alt++] |
|
Add 1 to value for integer/color/enum, append to value for other types. |
|
kbd:[Alt+f], kbd:[Alt+r] |
|
Reset value. |
|
kbd:[Alt+f], kbd:[Alt+u] |
|
Unset value. |
|
kbd:[Alt+Enter] |
|
Set value. |
|
kbd:[Alt+f], kbd:[Alt+n] |
|
Set new value. |
|
kbd:[Alt+f], kbd:[Alt+a] |
|
Append to value. |
|
kbd:[Alt+,] |
|
Mark/unmark option. |
|
kbd:[Shift+↑] |
Move one line up and mark/unmark option. |
|
|
kbd:[Shift+↓] |
Mark/unmark option and move one line down. |
|
|
|
Mark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see /fset command). |
||
|
Unmark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see /fset command). |
||
kbd:[Ctrl+l] ( |
Refresh options and whole screen. |
|
|
|
Refresh options (keep marked options). |
||
|
Refresh options (unmark all options). |
||
kbd:[Alt+p] |
|
Toggle plugin description options ( |
|
kbd:[Alt+v] |
|
Toggle help bar. |
|
|
Sort options by fields x,y (see option fset.look.sort). |
|
|
|
Reset sort to its default value (see option fset.look.sort). |
|
|
|
Export options in file "xxx". |
|
|
|
Export options in file "xxx" without help. |
|
|
|
Export options in file "xxx" with help. |
|
|
kbd:[Ctrl+x] |
|
Switch the format used to display options. |
|
|
Close fset buffer. |
|
Note
|
(1) The action must be entered as input on the command line, followed by kbd:[Enter]. |
These keys and actions are used on the IRC /list buffer (see command /list).
Key | Action (1) | Description | Command |
---|---|---|---|
kbd:[↑] |
Move one line up. |
|
|
kbd:[↓] |
Move one line down. |
|
|
kbd:[PgUp] |
Move one page up. |
|
|
kbd:[PgDn] |
Move one page down. |
|
|
kbd:[Alt+Home] |
|
Move to first line. |
|
kbd:[Alt+End] |
|
Move to last line. |
|
kbd:[F11] |
|
Scroll horizontally on the left. |
|
kbd:[F12] |
|
Scroll horizontally on the right. |
|
kbd:[Ctrl+j] |
|
Join IRC channel on selected line. |
|
|
Show only channels with "xxx" in name or topic (case insensitive). |
||
|
Show only channels with "xxx" in name (case insensitive). |
||
|
Show only channels with "xxx" in topic (case insensitive). |
||
|
Show only channels with at least "n" users. |
||
|
Show only channels with more than "n" users. |
||
|
Show only channels with less than "n" users. |
||
|
Show only channels matching the evaluated condition "xxx", using following variables: name, name2, users, topic. |
||
|
Sort channels by fields x,y (see command /list). |
||
|
Reset sort to its default value (see command /list). |
||
|
Refresh list (run again command /list). |
||
|
Close buffer. |
|
Note
|
(1) The action must be entered as input on the command line, followed by kbd:[Enter]. |
These keys and actions are used on the script buffer (see script manager).
Key | Action (1) | Description | Command |
---|---|---|---|
kbd:[↑] |
Move one line up. |
|
|
kbd:[↓] |
Move one line down. |
|
|
kbd:[PgUp] |
Move one page up. |
|
|
kbd:[PgDn] |
Move one page down. |
|
|
kbd:[Alt+i] |
|
Install script. |
|
kbd:[Alt+r] |
|
Remove script. |
|
kbd:[Alt+l] |
|
Load script. |
|
kbd:[Alt+L] |
|
Reload script. |
|
kbd:[Alt+u] |
|
Unload script. |
|
kbd:[Alt+Shift+A] |
|
Autoload script. |
|
kbd:[Alt+h] |
|
Hold/unhold script. |
|
kbd:[Alt+v] |
|
View script. |
|
|
Sort scripts by fields x,y (see option script.look.sort). |
||
|
Reset sort to its default value (see option script.look.sort). |
||
|
Refresh list. |
||
|
Close buffer. |
|
Note
|
(1) The action must be entered as input on the command line, followed by kbd:[Enter]. |
fset (高速設定) プラグインはバッファ内にオプションのリストを表示し、WeeChat とプラグインのオプション設定を支援します。
Example of fset buffer displaying options starting with weechat.look
:
┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │ │2.fset │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│ │ │hanges in input [default: on] │ │ │----------------------------------------------------------------------------│ │ │ weechat.look.align_end_of_lines enum message │ │ │ weechat.look.align_multiline_words boolean on │ │ │ weechat.look.bar_more_down string "++" │ │ │ weechat.look.bar_more_left string "<<" │ │ │ weechat.look.bar_more_right string ">>" │ │ │ weechat.look.bar_more_up string "--" │ │ │ weechat.look.bare_display_exit_on_input boolean on │ │ │ weechat.look.bare_display_time_format string "%H:%M" │ │ │ weechat.look.buffer_auto_renumber boolean on │ │ │ weechat.look.buffer_notify_default enum all │ │ │ weechat.look.buffer_position enum end │ │ │ weechat.look.buffer_search_case_sensitive boolean off │ │ │ weechat.look.buffer_search_force_default boolean off │ │ │ weechat.look.buffer_search_regex boolean off │ │ │ weechat.look.buffer_search_where enum prefix_message │ │ │ weechat.look.buffer_time_format string "%H:%M:%S" │ │ │ weechat.look.buffer_time_same string "" │ │ │[12:55] [2] [fset] 2:fset │ │ │█ │ └──────────────────────────────────────────────────────────────────────────────────────┘
fset.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
色 |
|
|
オプションリストの表示書式 |
|
|
外観 |
オプション:
WeeChat における基本色とは:
名前 | 色 |
---|---|
|
デフォルトの端末色 (背景色を透過色とする) |
|
黒 |
|
暗い灰色 |
|
暗い赤 |
|
明るい赤 |
|
暗い緑色 |
|
明るい緑色 |
|
茶色 |
|
黄色 |
|
暗い青 |
|
明るい青 |
|
暗い赤紫色 |
|
明るい赤紫色 |
|
暗い青緑色 |
|
明るい青緑色 |
|
灰色 |
|
白 |
WeeChat は画面に色が表示された時点で色ペアを動的に割り当てます (バッファとバーを表示する時点で)。
基本色に加えて、1 番 から端末の対応状況に依存する番号までの色番号を利用できます。
/color
コマンドで現在の色と色制限を確認できます。kbd:[Alt+c]
をタイプすることで、一時的に端末色を選択された色に変更できます。
例えば、バッファ中のに表示される時刻をオレンジ色にしたい場合、以下のようにしてください:
/set weechat.color.chat_time 214
ステータスバーの色を非常に暗い緑色にしたい場合:
/set weechat.bar.status.color_bg 22
/color alias
コマンドを使えば色の別名を追加できます。
追加後は任意の色関連オプションで別名を使えます。
例:
/color alias 214 orange /set weechat.color.chat_delimiters orange
色に対していくつかの属性を付加することができます。1 つ以上の属性を色名または色番号の前に付加できます:
-
%
: blink -
.
: "dim" (half bright) -
*
: テキストを太字に -
!
: テキストを反転 -
/
: テキストをイタリック体に -
_
: テキストに下線を引く -
|
: keep attributes: do not reset blink/dim/bold/reverse/italic/underlined when changing color
例えば、自分自身のニックネームの表示色を白にして、下線を引きたい場合:
/set weechat.color.chat_nick_self _white
ステータスバーの時刻の表示色を橙色にして、下線を引いて、太字にしたい場合:
/set weechat.color.status_time *_214
デフォルト端末色 (-1) に対して属性を設定したい場合、端末色番号の最大値よりも大きな値を利用してください。例えば、WeeChat における色番号の最大値は 99999 です。
端末の表示色に太字の属性を付加する例:
/set weechat.color.status_time *99999
Charset プラグインを使うことで、文字コードに従ってデータのデコードとエンコードができます。
デコード/エンコード用にデフォルトの文字コードが設定されていますが、それぞれのバッファ (バッファグループ) に対して個別に文字コードを設定することもできます。
このプラグインの導入は任意ですが、導入を推奨します: このプラグインがロードされていない場合、WeeChat が読み書きできるデータは UTF-8 データのみになります。
Charset プラグインは WeeChat によって自動的にロードされるべきです。プラグインがロードされていることを確認するには、以下のようにしてください:
/charset
コマンドが見つからない場合、以下のコマンドでプラグインをロードしてください:
/plugin load charset
プラグインが見つからない場合、文字コードサポートを有効化した状態で WeeChat を再コンパイルしてください。
Charset プラグインがロードされた場合、端末文字コードと内部文字コードが表示されます。端末文字コードはロケールに依存し、内部文字コードは UTF-8 です。
例:
charset: terminal: ISO-8859-15, internal: UTF-8
グローバルデコード文字コードとエンコード文字コードを設定するには、/set
コマンドを使ってください。
例:
/set charset.default.decode ISO-8859-15 /set charset.default.encode ISO-8859-15
グローバルデコード文字コードが設定されていない場合 (例えば Charset プラグインを始めてロードした場合)、これは自動的に端末の文字コードか (UTF-8 でなければ)、デフォルトの ISO-8859-1 に設定されます。
デフォルトのエンコード文字コードはありません。従って、内部文字コード (UTF-8) が使われます。
IRC サーバの文字コードを設定するには、サーババッファで /charset
コマンドを使ってください。文字コードのみを引数として与えた場合、この文字コードがデコードとエンコードに利用されます。
例:
/charset ISO-8859-15
これは以下と等価です:
/charset decode ISO-8859-15 /charset encode ISO-8859-15
IRC チャンネル (またはプライベートメッセージ) の文字コードを設定するには、サーバの文字コード設定と同様のコマンドをチャンネル (またはプライベートメッセージ) バッファで使ってください。
IRC サーバの全てのチャンネルおよびプライベートバッファに対する文字コードを設定するには:
/set charset.encode.irc.libera ISO-8859-15
すべての文字コード設定を確認するには、以下のコマンドを利用してください:
/set charset.*
文字コードに関する問題があれば、WeeChat FAQ (よくある質問) / いくつかの文字が見えません。どうすれば良いですか。 ↗を参照してください。
charset.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
デフォルトのデコード/エンコード文字セット |
|
|
バッファのデコード文字セット (オプションをセクションに追加/削除出来ます) |
|
|
バッファのエンコード文字セット (オプションをセクションに追加/削除出来ます) |
オプション:
バッファに表示された各メッセージには 4 つのレベルが設定されています。レベルの低いものから順に:
-
low: 重要性の低いメッセージ (例えば irc の参加/退出/終了メッセージ)
-
message: ユーザからのメッセージ
-
private: プライベートバッファのメッセージ
-
highlight: ハイライトされたメッセージ
それぞれのバッファには通知レベルが設定されており、通知レベルに対応するメッセージの数がホットリストに表示されます。
デフォルトの通知レベルは weechat.look.buffer_notify_default オプションで指定し、デフォルトは all です。
通知レベル | ホットリストに追加されるメッセージのレベル |
---|---|
|
(無効) |
|
highlight + private |
|
highlight + private + message |
|
highlight + private + message + low |
通知レベルはバッファグループに対して設定することも可能で、例えば irc サーバ "libera" に含まれる全てのバッファに対して設定する場合:
/set weechat.notify.irc.libera message
"#weechat" チャンネルだけに対して、通知レベルを highlight に設定する場合:
/set weechat.notify.irc.libera.#weechat highlight
/buffer
コマンドで、あるバッファに対する通知レベルを設定できます:
/buffer notify highlight
ニックネーム、バッファ、バッファグループ (IRC サーバなど) に対してホットリストレベルの最大値を設定することが可能です。
あるニックネームのリストに対してバッファプロパティ "hotlist_max_level_nicks" を設定したり、各ニックネームに対してホットリストレベルの最大値を設定することも可能です。設定可能なレベルは以下です:
-
-1: ニックネームがホットリストを変更しない優先度
-
0: 低優先度 (参加および退出メッセージなど)
-
1: 通常メッセージ
-
2: プライベートメッセージ
-
3: ハイライト (これはすべてのメッセージのデフォルト最大値であるため、通常これを指定することはありません)
例えば現在のバッファで "joe" と "mike" からのメッセージに対するハイライトを無効化するには以下のように設定します:
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
You can disable highlights with option
weechat.look.highlight_disable_regex
(regular expression).
When a highlight is disabled with this option, the other highlight options are
ignored.
For example to disable any highlight on messages with a word beginning with "flash" between chevrons:
/set weechat.look.highlight_disable_regex "<flash.*>"
This can also be set with the buffer property "highlight_disable_regex".
Same example, specific to the current buffer:
/buffer setauto highlight_disable_regex <flash.*>
デフォルトで WeeChat は自分のニックネームが含まれる他のユーザからのメッセージをハイライトします。このため、ハイライトはバッファに依存します (ニックネームはバッファごとに異なる場合があります)。
他の単語を追加するには weechat.look.highlight オプションを使います。例えば自分のニックネーム、"word1"、"word2"、"test" から始まる任意の単語をハイライトするには以下のように設定します:
/set weechat.look.highlight "word1,word2,test*"
単語に対してさらに具体的なルールを設定する必要がある場合、weechat.look.highlight_regex オプションを使って正規表現で指定することも可能です。例えば "flashcode"、"flashcöde"、"flashy" という単語をハイライトするには以下のように設定します:
/set weechat.look.highlight_regex "flashc[oö]de|flashy"
ハイライトする単語の区切りは weechat.look.word_chars_highlight オプションを使って設定します。
表示される行には「タグ」を含めることが可能です。「タグ」とはメッセージの出自やメッセージ自身に関する情報を与えるものです。
/debug tags
コマンドでタグを表示することが可能です
(タグを非表示にする場合も同じコマンドを使います)。
ハイライトするタグを明示するには
weechat.look.highlight_tags
オプションを使います。複数のタグを指定するにはコンマで区切り、複数のタグの論理
"and" を表すには +
で区切ります。
例えば "FlashCode" というニックネームからのすべてのメッセージと "toto" で始まるニックネームからのすべての通知メッセージをハイライトするには以下のように設定します:
/set weechat.look.highlight_tags "nick_flashcode,irc_notice+nick_toto*"
Logger プラグインを使うことで、バッファの内容をファイルに保存できます。保存形式とその方法をオプションで設定できます。
ログ保存はそれぞれのバッファに対して設定されたログレベルに従って行われます。デフォルトのレベルは 9 (バッファに表示されたメッセージをすべて保存) です。特定のバッファやバッファグループに対して個別にログレベルを設定できます。
設定可能なレベルは 0 から 9 です。0 は "保存しない"、9 は「すべてのメッセージを保存」を意味します。
それぞれのプラグインでレベルの意味が変わります。IRC プラグインに対しては以下のレベルが利用されます:
-
レベル 1: ユーザからのメッセージ (チャンネルまたはプライベート)
-
レベル 2: ニックネームの変更 (自身と他のユーザ)
-
レベル 3: 任意のサーバメッセージ (参加/退出/終了メッセージを除く)
-
レベル 4: 参加/退出/終了メッセージ
従って、IRC チャンネルに対してレベル 3 を設定した場合、WeeChat は参加/退出/終了メッセージを除いて全てのメッセージを保存します。
例:
-
IRC チャンネル #weechat に対してレベル 3 を設定:
/set logger.level.irc.libera.#weechat 3
-
libera サーババッファに対してレベル 3 を設定:
/set logger.level.irc.server.libera 3
-
libera サーバの全てのチャンネルに対してレベル 3 を設定:
/set logger.level.irc.libera 3
-
全ての IRC バッファに対してレベル 2 を設定:
/set logger.level.irc 2
It is possible to define a filename mask for each buffer, and use local buffer variables to build filename. To see available local variables for current buffer:
/buffer listvar
Masks will be matched on options in descending order of specificity on
logger.mask.$plugin.*
, with logger.file.mask
as fallback option.
例えば "irc.libera.#weechat" バッファの場合、WeeChat は以下の順番でオプションに設定されたファイル名マスクを検索します:
logger.mask.irc.libera.#weechat logger.mask.irc.libera logger.mask.irc logger.file.mask
特定の IRC サーバ ("logger.mask.irc.libera") またはプラグイン ("logger.mask.irc") のグループに対して共通のマスクを適用できます。
ログファイルに日付を使うには、マスクに日時/時間指定子を利用できます
(書式に関しては man strftime
を参照してください)。例えば:
/set logger.file.mask "%Y/%m/$plugin.$name.weechatlog"
以下のファイルが作成されます:
~/.local/share/weechat └── logs ├── 2010 │ ├── 11 │ │ ├── irc.server.libera.weechatlog │ │ └── irc.libera.#weechat.weechatlog │ └── 12 │ ├── irc.server.libera.weechatlog │ └── irc.libera.#weechat.weechatlog ├── 2011 │ ├── 01 │ │ ├── irc.server.libera.weechatlog │ │ └── irc.libera.#weechat.weechatlog │ ├── 02 ...
IRC サーバ名を使ったディレクトリに、チャンネル名を使ったファイルを作成する場合:
/set logger.mask.irc "irc/$server/$channel.weechatlog"
以下のファイルが作成されます:
~/.local/share/weechat └── logs └── irc ├── libera │ ├── libera.weechatlog │ ├── #weechat.weechatlog │ └── #mychan.weechatlog ├── oftc │ ├── oftc.weechatlog │ ├── #channel1.weechatlog │ └── #channel2.weechatlog ...
It is possible to define a max size for log files, and when it is reached, there is automatic rotation of log file.
The rotated log files can be compressed with gzip or zstd ↗.
Note
|
As the compression of a file can take some time, it is performed in background. |
Example with a max size of 2GB and compression with gzip, using good compression level (slower than default one):
/set logger.file.rotation_compression_type gzip /set logger.file.rotation_compression_level 80 /set logger.file.rotation_size_max "2g"
If you want to use a decimal number, you can use the unit below and multiply by 1000, for example to set max size to 2.5GB:
/set logger.file.rotation_size_max "2500m"
With these settings, you’ll end with files like these ones (in this example there is rotation only for the log of #weechat channel):
~/.local/share/weechat └── logs ├── core.weechat.weechatlog ├── irc.server.libera.weechatlog ├── irc.libera.#weechat.weechatlog ├── irc.libera.#weechat.weechatlog.1.gz ├── irc.libera.#weechat.weechatlog.2.gz └── irc.libera.#weechat.weechatlog.3.gz
logger.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
|
|
色 |
|
|
ログファイルのオプション |
|
|
バッファのログレベル (オプションをセクションに追加/削除出来ます) |
|
|
バッファのファイル名マスク (オプションをセクションに追加/削除出来ます) |
オプション:
WeeChat はマウスクリックとマウスジェスチャーをサポートしています。 ローカル端末と screen/tmux の有無にかかわらず ssh 接続経由で利用可能です。
起動時にマウスを有効化するには:
/set weechat.look.mouse on
マウスを有効化するには kbd:[Alt+m] を押すか、以下のコマンドを使います:
/mouse enable
キーにマウスの一時的な無効化を割り当てることができます。例えば、kbd:[Alt+%] キーにマウスを 10 秒間無効化する機能を割り当てるには:
/key bind meta-% /mouse toggle 10
Important
|
WeeChat でマウスを有効化した場合、すべてのマウスイベントは WeeChat によって捕捉されます。したがって、カット/ペーストなどの操作や URL のクリックなどは端末に送信されません。kbd:[Shift] キーを使えば、一時的にマウスを無効化して、端末へ直接イベントを送信する事が可能です (一部の端末、例えば iTerm などでは kbd:[Shift] の代わりに kbd:[Alt] を使ってください)。 |
Note
|
マウスに関するトラブルがあれば WeeChat FAQ (よくある質問) / マウス ↗を参照してください。 |
WeeChat はデフォルトマウスイベントの多くを定義しています (mouse actionsを参照)。
/key
コマンドで "mouse" コンテキストを指定することで割り当てを追加、変更できます
(詳しい使い方は /key コマンドを参照)。
イベント名には修飾キー (任意)、ボタン/ホイール名、ジェスチャー (任意)
を利用できます。異なるイベントは -
で分割してください。
List of modifiers (by order in the event name):
修飾キー | 説明 |
---|---|
|
kbd:[Alt] キー |
|
kbd:[Ctrl] キー |
|
kbd:[Shift] キー (1) |
Note
|
(1) The shift modifier can rarely be used in WeeChat because many terminals
use this modifier to catch directly mouse events.
|
Several modifiers can be combined, for example:
-
alt-ctrl
-
ctrl-shift
-
alt-ctrl-shift
ボタン/ホイールのリスト:
ボタン/ホイール | 説明 |
---|---|
|
左ボタンクリック |
|
右ボタンクリック |
|
中ボタンクリック (多くの場合ホイールクリック) |
|
その他のボタンクリック |
|
ホイール (上方向) |
|
ホイール (下方向) |
ジェスチャーのリスト (ボタンのみ対応、ホイール未対応):
ジェスチャー | 距離 |
---|---|
|
3 から 19 |
|
20 以上 |
|
3 から 19 |
|
20 以上 |
|
3 から 39 |
|
40 以上 |
|
3 から 39 |
|
40 以上 |
未完了イベントのリスト (ボタンのみ、プラグイン/スクリプトで便利):
イベント | 説明 |
---|---|
|
マウスボタンが押され、離されていない状態 |
|
マウスボタンが押された状態でマウスが動かされた |
イベントの表記例:
-
button1
-
ctrl-button1
-
button1-gesture-right
-
button1-event-down
-
button1-event-drag
-
alt-button2-gesture-down-long
-
wheelup
-
alt-ctrl-wheeldown
-
…
Tip
|
"mouse" イベントにキーを割り当てる場合、イベント名の最初または最後に *
を使うことで複数のイベントにマッチさせることができます。例えば
button1-gesture-* は左クリックを利用したすべてのジェスチャーにマッチします。
|
Tip
|
/input grab_mouse
コマンドの後にマウスを動かすことでコマンドラインにマウスイベントが入力されます。これにより対応するイベントを確認できます。
|
Spell プラグインを使うことで、コマンドラインに入力した文字列のスペルチェックができます。バッファごとに異なる言語に対するスペルチェックを実行できます。
スペルチェック機能はデフォルトで無効化されています。kbd:[Alt+s] で有効無効を切り替える事が可能です。
スペルチェック機能を使う前に、すべてのバッファまたは特定のバッファに対して辞書を定義しなければいけません。
同時に複数の辞書を使用可能です: WeeChat はすべての辞書を使って単語をチェックします。
英語とフランス語の辞書を使う例:
/set spell.check.default_dict "en,fr"
特定のバッファで使用する辞書を定義することも可能です。ドイツ語のチャンネルでドイツ語の辞書を使う例:
/spell setdict de
バッファグループに対して特定の辞書を指定することも可能です。libera IRC サーバに対して英語の辞書を使う例:
/set spell.dict.irc.libera en
詳しい情報はコマンド /spell を参照してください。
Speller オプションは aspell 設定の "option" セクションにあるオプションを追加して定義します。
ここで利用するオプション名は aspell 設定オプションと同じものです。オプションのリストはシェルで以下のコマンドを実行することで確認できます:
$ aspell config
例えば、"ignore-case" オプションを有効化するには:
/set spell.option.ignore-case "true"
"spell_suggest" バー要素内に修正候補が表示されます。修正候補の数は spell.check.suggestions オプションで設定します。
修正候補を利用するには、spell.check.suggestions オプションをゼロ以上の整数に設定し、status バーなどに "spell_suggest" バー要素を追加してください。
英語辞書 (en
) を用いた修正候補の例:
│[12:55] [6] [irc/libera] 3:#test(+n){4} [print,prone,prune] │ │[@Flashy] prinr █ │ └─────────────────────────────────────────────────────────────────────────────────┘
英語とフランス語辞書 (en,fr
) を用いた修正候補の例:
│[12:55] [6] [irc/libera] 3:#test(+n){4} [print,prone,prune/prime,primer,primé] │ │[@Flashy] prinr █ │ └─────────────────────────────────────────────────────────────────────────────────┘
spell.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
色 |
|
|
スペルチェックの操作コマンド |
|
|
バッファが利用するディレクトリ (オプションをセクションに追加/削除出来ます) |
|
|
外観 |
|
|
Speller オプション (オプションをセクションに追加/削除出来ます) |
オプション:
バー とは任意のテキストを含めることができるチャットエリア以外の場所です。
バーオプションは weechat.bar.name.option
オプションで設定します。ここで
name
はバーの名前、option
はこのバーのオプション名です。
バーオプションのリスト:
オプション名 | 値 | 説明 |
---|---|---|
|
|
|
|
|
バーの位置: チャットエリアの上、下、左、右。 |
|
0 以上の整数 |
バーの表示優先度:
型と位置が同じ複数のバーを画面に表示する順番に利用される。 |
|
0 以上の整数 |
バーのサイズ:
位置が右/左の場合は列数、位置が上/下の場合は行数。値が |
|
0 以上の整数 |
バーの最大サイズ、 |
|
色 |
バーのデフォルトの背景色 |
|
色 |
バーのデフォルトのテキスト色 |
|
色 |
バーの区切り文字の色 |
|
|
このオプションが |
|
|
このオプションが |
|
文字列 |
items のリスト (詳細はバー要素を参照)。 |
|
|
位置が |
|
|
位置が |
|
文字列 |
バーを表示する状態 (詳細はバー状態を参照)。 |
items オプションはバー要素をコンマ (画面上の要素同士に間隔を空ける)
または +
(間隔を空けない) で区切った文字列です。
バー要素のリストは /bar listitems
コマンドで表示されます。
要素名の前または後に文字を表示させることができます (英数字以外の文字、-
または _
)。この文字はバー (color_delim オプション)
で定義された区切り文字の色をつけて要素の前または後に表示されます。
バー要素を含むバーの例 "[time],buffer_number+:+buffer_plugin+.+buffer_name,[buffer_last_number]":
┌───────────────────────────────────────────────────────────────────────────┐ │[12:55] 3:irc/libera.#weechat [9] │ └───────────────────────────────────────────────────────────────────────────┘
An item called spacer
can be used to align items (left, center, right).
When at least one spacer
item is used in a bar, the whole bar width is used:
the spacers auto expand with the same size (or almost).
When the bar is not large enough for all items, spacers are not displayed.
Note
|
The spacer bar item can be used only in bars with position top or bottom ,
filling horizontal and size 1 .
|
Example of bar with items "[time],spacer,buffer_number+:+buffer_plugin+.+buffer_name,spacer,[buffer_last_number]":
┌───────────────────────────────────────────────────────────────────────────┐ │[12:55] 3:irc/libera.#weechat [9]│ └───────────────────────────────────────────────────────────────────────────┘
特殊構文を使うことで、バー要素: "@buffer:item" ("buffer" はバッファの完全な名前、"item" はバー要素の名前) を表示する際に強制的に指定されたバッファを利用することが可能です。
これはルートバーに現在のウィンドウで表示されない (またはどこにも表示されない) 特定のバッファの要素を表示させる際に便利です。
例: bitlbee のニックネームリストをルートバーに表示させる (バーが bitlist で bitlbee サーバが bitlbee の場合):
/set weechat.bar.bitlist.items "@irc.bitlbee.&bitlbee:buffer_nicklist"
Custom bar items can be added with the /item command, each new item having two properties defined via configuration options:
-
conditions
: evaluated conditions to display the bar item, for example to restrict the bar item to some specific buffers (if empty, the bar item is displayed everywhere) -
content
: evaluated content of bar item.
In both options, the following variables can be used:
-
window
: pointer to the window where the bar is displayed (NULL
for root bars) -
buffer
: pointer to buffer where the bar is displayed (current buffer for root bars).
Examples of conditions:
Condition | Description |
---|---|
|
Displayed in window bars only |
|
Displayed in all buffers with number = 1 |
|
Displayed in all IRC buffers |
|
Displayed in all buffers where local variable |
|
Displayed in all buffers where local variable |
Note
|
There’s no builtin way to refresh the custom bar items. You can use the Trigger plugin to force the refresh, for example via one or more signals received. |
For more information and examples, see the /item command.
フィリングタイプには 4 つの種類があります:
-
horizontal
: 左から右に向かって要素を水平に表示。要素内に改行がある場合、空白を行区切りに利用します。 -
vertical
: 上から下に向かって要素を表示。要素内に改行がある場合、改行を行区切りに利用します。 -
columns_horizontal
: テキストを左寄せして、列形式で要素を表示。最初の要素は左上、2 番目は同じ行の 1 列右側。 -
columns_vertical
: テキストを左寄せして、列形式で要素を表示。最初の要素は左上、2 番目は同じ列の 1 行下側。
デフォルトバーである title、status、input は horizontal フィリング、nicklist は vertical フィリング。
nicklist バーに対するフィリングの例:
┌───────────────────────────────────────────────────────────────────────┐ │Welcome to #test, this is a test channel │ │12:54:15 peter | hey! │@carl │ │12:55:01 +Max | hello │@jessika│ │ │@maddy │ │ │%Diego │ │ │%Melody │ │ │+Max │ │ │ celia │ │ │ Eva │ │ │ freddy │ │ │ Harold^│ │ │ henry4 │ │ │ jimmy17│ │ │ jodie ▼│ │[12:55] [6] [irc/libera] 3:#test(+n){24} │ │[@carl] █ │ └───────────────────────────────────────────────────────────────────────┘ filling_left_right = vertical ▲ ┌───────────────────────────────────────────────────────────────────────┐ │Welcome to #test, this is a test channel │ │12:54:15 peter | hey! │@carl lee │ │12:55:01 +Max | hello │@jessika louise │ │ │@maddy mario │ │ │%Diego mark │ │ │%Melody peter │ │ │+Max Rachel │ │ │ celia richard│ │ │ Eva sheryl │ │ │ freddy Vince │ │ │ Harold^ warren │ │ │ henry4 zack │ │ │ jimmy17 │ │ │ jodie │ │[12:55] [6] [irc/libera] 3:#test(+n){24} │ │[@carl] █ │ └───────────────────────────────────────────────────────────────────────┘ filling_left_right = columns_vertical ▲ ┌───────────────────────────────────────────────────────────────────────┐ │@carl %Diego celia Harold^ jodie mario Rachel Vince │ │@jessika %Melody Eva henry4 lee mark richard warren │ │@maddy +Max freddy jimmy17 louise peter sheryl zack │ │───────────────────────────────────────────────────────────────────────│ │ │ filling_top_bottom = columns_vertical ▲ ┌───────────────────────────────────────────────────────────────────────┐ │@carl @jessika @maddy %Diego %Melody +Max celia Eva │ │ freddy Harold^ henry4 jimmy17 jodie lee louise mario │ │ mark peter Rachel richard sheryl Vince warren zack │ │───────────────────────────────────────────────────────────────────────│ │ │ filling_top_bottom = columns_horizontal ▲
conditions オプションはバーを表示するか否かを評価する文字列です。
文字列は以下のいずれか:
-
active: 非アクティブ状態のウィンドウ
-
inactive: 非アクティブ状態のウィンドウ
-
nicklist: ニックネームリストが含まれるバッファのウィンドウ
-
式: ブール値として評価 (/eval コマンドを参照)
式に使える変数は以下:
-
${active}
: ウィンドウがアクティブ状態の時に真 -
${inactive}
: ウィンドウが非アクティブ状態の時に真 -
${nicklist}
: ウィンドウに表示されるバッファがニックネームリストの場合に真。
式に使えるポインタは以下:
-
${window}
: 状態が評価されたウィンドウ -
${buffer}
: 状態が評価されたウィンドウのバッファ
Example to display nicklist bar in all buffers with a nicklist, and only if width of terminal is > 100:
/set weechat.bar.nicklist.conditions "${nicklist} && ${info:term_width} > 100"
Same condition, but always display nicklist on buffer &bitlbee (even if terminal is small):
/set weechat.bar.nicklist.conditions "${nicklist} && (${info:term_width} > 100 || ${buffer.full_name} == irc.bitlbee.&bitlbee)"
WeeChat はパスワードおよび sec.conf ファイルに保存されている個人データを暗号化することができます。
この設定ファイルは他のどのファイルよりも先に読まれ、ファイルに保存されている値を WeeChat およびプラグイン/スクリプトのオプションで使うことができます。
sec.conf に含まれるデータを暗号化するパスフレーズを設定することが可能です。これは必須ではありませんが、パスフレーズを設定することを強く勧めます。パスフレーズを設定しない場合、データは平文でファイルに保存されます。
/secure passphrase this is my passphrase
When a passphrase is set, WeeChat will ask you to enter it on startup
(but not on /upgrade
).
If you are using a password manager, you can run an external program to read
the passphrase instead of having to type it manually on WeeChat startup.
For example with password-store (command pass
):
/set sec.crypt.passphrase_command "/usr/bin/pass show weechat/passphrase"
The program may ask you unlock your GPG key or enter another passphrase to
read the secret. WeeChat will wait for the end of the command to read the
passphrase on the standard output (it must be on the first line without any
extra character).
If the output contains no passphrase or if it is wrong, WeeChat will then ask
you to enter it.
データの暗号化は 3 段階に分けて行われます:
-
パスフレーズから鍵を生成 (任意の salt を加えます)。
-
暗号化するデータのハッシュを計算。
-
ハッシュとデータを暗号化 (出力: salt + 暗号化済みのハッシュ/データ)。
Note
|
ブロック暗号モードは CFB です。 |
結果は 16 進数文字列として sec.conf ファイルに保存されます、例:
[data] __passphrase__ = on libera = "53B1C86FCDA28FC122A95B0456ABD79B5AB74654F21C3D099A6CCA8173239EEA59533A1D83011251F96778AC3F5166A394"
暗号化データを追加するには、/secure set
を使ってください、libera
IRC サーバのパスワードを設定する例:
/secure set libera mypassword
利便性を考慮して、暗号化データを専用のバッファに表示できるようになっています (値を見るにはバッファで kbd:[Alt+v]、以下のコマンドを実行してください:
/secure
例えばパスワードなどの個人データを含むオプションで暗号化データを使うことができます、書式:
"${sec.data.xxx}" ここで "xxx" は暗号化データの名前です
(/secure set xxx …
のように使います)。
利用できるオプションの完全なリストはを見るには、/help secure
を使ってください。
例えば上の libera パスワードを SASL 認証で使うには:
/set irc.server.libera.sasl_password "${sec.data.libera}"
Alias プラグインを使うことで、コマンドの別名を定義できます (WeeChat だけでなく他のプラグインが提供するコマンドの別名を定義することもできます)。
大文字の別名はデフォルトで定義されたものです (標準コマンドと区別するために大文字を使っています);
WeeChat はコマンドの大文字小文字を区別しないので、コマンド
/close
は別名である /CLOSE
を実行します。
デフォルトで定義された別名のリスト:
sec.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
暗号化に関するオプション |
|
保護データ |
オプション:
weechat.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
core とプラグインのデバッグレベル (オプションをセクションに追加/削除出来ます) |
|
|
起動オプション |
|
|
外観 |
|
|
色の別名 (オプションをセクションに追加/削除出来ます) |
|
|
色 |
|
|
補完オプション |
|
|
履歴オプション (コマンドとバッファ) |
|
|
プロキシオプション |
|
|
ネットワーク/TLS オプション |
|
|
Options on plugins. |
|
|
Options on signals. |
|
|
バーオプション |
|
レイアウト |
|
|
Properties auto-applied on buffers when they are opened. |
|
|
バッファに対する通知レベル (オプションをセクションに追加/削除出来ます) |
|
|
フィルタ |
|
|
デフォルトコンテキストのキー |
|
|
検索コンテキストのキー |
|
|
カーソルコンテキストのキー |
|
|
マウスコンテキストのキー |
オプション:
IRC プラグインは IRC プロトコルに従って他の人と会話を行うために設計されています。
マルチサーバに対応し、DCC チャットとファイル転送 (xfer プラグインを使います。Xfer プラグインを参照) を含む全ての IRC コマンドをサポートしています。
以下のように 1 つ以上の IRC サーバに対応する URL を引数として与えることができます:
irc[6][s]://[nick[:password]@]irc.example.org[:port][/channel][,channel[...]]
alice というニックネームを使って irc.libera.chat ホストのデフォルトポート (6667) で稼働中の IRC サーバ上の #weechat と #weechat-fr チャンネルに参加する例:
$ weechat irc://alice@irc.libera.chat/#weechat,#weechat-fr
By default no servers are defined. You can add as many servers as you want with the /server command.
For example to connect to libera.chat ↗ with TLS (encrypted trafic):
/server add libera irc.libera.chat/6697 -tls
You can tell WeeChat to auto-connect to this server on startup:
/set irc.server.libera.autoconnect on
To authenticate, it is recommended to use SASL (if supported on the server), with the password stored as secured data (see also chapter on SASL authentication):
/set irc.server.libera.sasl_username "alice" /secure set libera xxxxxxx /set irc.server.libera.sasl_password "${sec.data.libera}"
If SASL is not supported, you can use a command to send a message to nickserv:
/set irc.server.libera.command "/msg nickserv identify ${sec.data.libera}"
Note
|
By sending a message to nickserv, you may authenticate after joining channels
which could be a problem on some channels requiring you to be authenticated
to join. In this case, you can set a command delay:
/set irc.server.libera.command_delay 5 .
|
Server options are named irc.server.<server>.<option>
where <server>
is the
internal name of the server and <option>
the name of an option.
The value of a server option is inherited from irc.server_default.xxx
if the server option has the special value null
.
For example if you created the libera server with the commands above, you’ll
see this with the command /fset libera
:
irc.server.libera.addresses string "irc.libera.chat/6697" irc.server.libera.anti_flood_prio_high integer null -> 2 irc.server.libera.anti_flood_prio_low integer null -> 2 irc.server.libera.autoconnect boolean on irc.server.libera.autojoin string null -> "" irc.server.libera.autojoin_dynamic boolean null -> off irc.server.libera.autoreconnect boolean null -> on irc.server.libera.autoreconnect_delay integer null -> 10 irc.server.libera.autorejoin boolean null -> off irc.server.libera.autorejoin_delay integer null -> 30 irc.server.libera.away_check integer null -> 0 irc.server.libera.away_check_max_nicks integer null -> 25 irc.server.libera.capabilities string null -> "*" irc.server.libera.charset_message enum null -> message irc.server.libera.command string null -> "" irc.server.libera.command_delay integer null -> 0 irc.server.libera.connection_timeout integer null -> 60 irc.server.libera.default_chantypes string null -> "#&" irc.server.libera.ipv6 boolean null -> on irc.server.libera.local_hostname string null -> "" irc.server.libera.msg_kick string null -> "" irc.server.libera.msg_part string null -> "WeeChat ${info:version}" irc.server.libera.msg_quit string null -> "WeeChat ${info:version}" irc.server.libera.nicks string null -> "alice,alice1,alice2,alice3,alice4" irc.server.libera.nicks_alternate boolean null -> on irc.server.libera.notify string null -> "" irc.server.libera.password string null -> "" irc.server.libera.proxy string null -> "" irc.server.libera.realname string null -> "" irc.server.libera.sasl_fail enum null -> reconnect irc.server.libera.sasl_key string null -> "" irc.server.libera.sasl_mechanism enum null -> plain irc.server.libera.sasl_password string "${sec.data.libera}" irc.server.libera.sasl_timeout integer null -> 15 irc.server.libera.sasl_username string "alice" irc.server.libera.split_msg_max_length integer null -> 512 irc.server.libera.tls boolean on irc.server.libera.tls_cert string null -> "" irc.server.libera.tls_dhkey_size integer null -> 2048 irc.server.libera.tls_fingerprint string null -> "" irc.server.libera.tls_password string null -> "" irc.server.libera.tls_priorities string null -> "NORMAL:-VERS-SSL3.0" irc.server.libera.tls_verify boolean null -> on irc.server.libera.usermode string null -> "" irc.server.libera.username string null -> "alice"
For example if you want to automatically connect to all servers you define without having to do it on each server, you can do:
/set irc.server_default.autoconnect on
And then you can reset the server option so that it uses the default inherited
value, which is now on
instead of the default value off
:
/unset irc.server.libera.autoconnect
TLS を使って IRC サーバに接続する場合、WeeChat はデフォルトで接続が完全に信頼できるものかどうかを確認します。
以下のオプションで TLS 接続を設定します:
- weechat.network.gnutls_ca_system
-
load system’s default trusted certificate authorities on startup
- weechat.network.gnutls_ca_user
-
extra file(s) with certificate authorities
- irc.server.xxx.tls_cert
-
自動的にニックネームを確認するために利用される TLS 証明書ファイル (例えば oftc サーバにおける CertFP の場合、以下を確認してください)
- irc.server.xxx.tls_dhkey_size
-
Diffie-Hellman キー交換の際に利用される鍵サイズ (デフォルト: 2048)
- irc.server.xxx.tls_verify
-
TLS 接続が完全に信頼できることの確認を行う (デフォルトで有効)
Note
|
"tls_verify" オプションはデフォルトで有効です、したがって厳密な確認が行われ、0.3.1 より前のバージョンでは信頼性の確認に成功していたものが失敗する場合もあります。 |
-
シェルを使って証明書をインポート:
$ mkdir -p ~/.config/weechat/tls $ wget -O ~/.config/weechat/tls/CAs.pem https://www.spi-inc.org/ca/spi-cacert.crt
Note
|
You must replace ~/.config/weechat by the path to your WeeChat config directory
which can also be for example ~/.weechat .
|
Note
|
CAs.pem ファイル中で複数の証明書を連結することもできます。 |
-
WeeChat では、"oftc" サーバが既に追加されています:
/connect oftc
-
シェルで証明書を作成:
$ mkdir -p ~/.config/weechat/tls $ cd ~/.config/weechat/tls $ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem
Note
|
You must replace ~/.config/weechat by the path to your WeeChat config directory
which can also be for example ~/.weechat .
|
-
WeeChat では、"oftc" サーバが既に追加されています:
/set irc.server.oftc.tls_cert "${weechat_config_dir}/tls/nick.pem" /connect oftc /msg nickserv cert add
For more information, please look at this page ↗.
WeeChat は SASL 認証をサポートします、以下の認証メカニズムを利用できます:
-
plain: 平文パスワード (デフォルト)
-
scram-sha-1: SCRAM with SHA-1 digest algorithm
-
scram-sha-256: SCRAM with SHA-256 digest algorithm
-
scram-sha-512: SCRAM with SHA-512 digest algorithm
-
ecdsa-nist256p-challenge: 公開鍵/秘密鍵を使うチャレンジ認証
-
external: クライアント側 TLS 証明書
サーバオプション:
-
sasl_mechanism: 利用する認証メカニズム (上記参照)
-
sasl_timeout: 認証時のタイムアウト (秒単位)
-
sasl_fail: 認証に失敗した場合の挙動
-
sasl_username: ユーザ名 (ニックネーム)
-
sasl_password: パスワード
-
sasl_key: ECC 秘密鍵を含むファイル (ecdsa-nist256p-challenge 用)
ECDSA-NIST256P-CHALLENGE を使って認証を行うためには、秘密鍵を作成してください (接続の際にパスワードは不要です)。
鍵を作成するには、以下のコマンドを使ってください:
$ openssl ecparam -genkey -name prime256v1 -out ~/.config/weechat/ecdsa.pem
Note
|
You must replace ~/.config/weechat by the path to your WeeChat config directory
which can also be for example ~/.weechat .
|
公開鍵を (base64 エンコード形式で) 作成するには、以下のコマンドを使ってください:
$ openssl ec -noout -text -conv_form compressed -in ~/.config/weechat/ecdsa.pem | grep '^pub:' -A 3 | tail -n 3 | tr -d ' \n:' | xxd -r -p | base64
サーバに接続、本人確認 (例えば "nickserv identify" を使って)、nickserv を使ってアカウントに公開鍵を設定 (アカウントの公開鍵に base64 文字列を指定する):
/connect libera /msg nickserv identify your_password /msg nickserv set pubkey Av8k1FOGetUDq7sPMBfufSIZ5c2I/QYWgiwHtNXkVe/q
サーバの SASL オプションを設定:
/set irc.server.libera.sasl_mechanism ecdsa-nist256p-challenge /set irc.server.libera.sasl_username "your_nickname" /set irc.server.libera.sasl_key "${weechat_config_dir}/ecdsa.pem"
サーバに再接続:
/reconnect libera
You can connect to server with the /connect command:
/connect libera
To disconnect:
/disconnect libera
Or just this if you are on any buffer belonging to libera server (server, channel, private):
/disconnect
When you connect to multiple servers at same time, server buffers are merged
by default and you can switch between them with the kbd:[Ctrl+x] key.
It is possible to disable auto merge of server buffers to have independent
server buffers:
/set irc.look.server_buffer independent
Some servers support connections with Tor ↗, a network of virtual tunnels that allows people and groups to improve their privacy and security on the Internet.
最初に、Tor をインストールしてください。Debian (とその派生ディストリビューション) の場合:
$ sudo apt-get install tor
WeeChat で Tor サービスを使った socks5 プロキシを作成してください (ホスト名/IP アドレス、ポート番号は Tor の設定に依存します):
/proxy add tor socks5 127.0.0.1 9050
Now, add a new server (replace server name "irc-tor" and the address by a valid one):
/server add irc-tor this.is.the.address.onion
Tor プロキシを設定:
/set irc.server.irc-tor.proxy "tor"
ECDSA-NIST256P-CHALLENGE メカニズムで SASL 認証を設定 (秘密鍵を作成するには SASL ECDSA-NIST256P-CHALLENGE 認証を参照してください):
/set irc.server.irc-tor.sasl_mechanism ecdsa-nist256p-challenge /set irc.server.irc-tor.sasl_username "your_nickname" /set irc.server.irc-tor.sasl_key "${weechat_config_dir}/ecdsa.pem"
And finally, connect to the server:
/connect irc-tor
WeeChat supports the following IRCv3 extensions ↗:
By default all capabilities supported by the server and WeeChat are automatically enabled (see option irc.server_default.capabilities).
Tables with comparison of different IRC clients, including WeeChat, are available on this page ↗.
Specification: account-notify ↗
This capability allows the server to send messages when users identify or
unidentify on the server.
WeeChat displays such messages if the option
irc.look.display_account_message
is enabled (default value).
Examples:
-- alice has identified as Alice01 -- alice has unidentified
Specification: account-tag ↗
This capability allows the server to send account as message tag to commands
sent to the client.
WeeChat parses this tag and saves it in the message, but it is not used or
displayed. It can be used in /filter command to filter
messages matching specific accounts.
Example of raw IRC message received:
@account=Alice01 :user@example.com PRIVMSG #test :Hello!
Message displayed in channel:
<alice> Hello!
Message with tags:
<alice> Hello! [irc_privmsg,irc_tag_account_Alice01,notify_message,prefix_nick_lightcyan,nick_alice,host_user@example.com,log1]
Specification: away-notify ↗
This capability allows the server to send away notifications for users present on the same channels as you.
When the away status is changed for a user (away or back), this is reflected with a specific color in the nicklist, using the following options:
Specification: batch ↗
This capability allows the server to send batched events (grouping of several messages that are related).
For now, WeeChat only stores messages received in a batch and processes as usual later, when the batch ends.
Specification: cap-notify ↗
This capability allows the server to advertise on new or removed capabilities
on the server (via CAP NEW
and CAP DEL
commands).
Examples:
-- irc: クライアントの機能、現在利用可能なもの: sasl -- irc: クライアントの機能、削除されたもの: sasl
Specification: chghost ↗
This capability allows the server to send messages when users change name or host.
When the option irc.look.smart_filter_chghost
is enabled (default value), the host changes are automatically hidden if the nick
has not spoken for several minutes.
The color of the change host message is controlled by the option
irc.color.message_chghost.
Example:
-- alice (user@example.com) がホストを test.com に変更しました
Specification: multiline ↗
This capability allows the client and server to send messages with multiple lines, using the batch capability, that must be enabled as well.
There are limits in term of bytes or number of lines in a multiline message that are given in the capability sent by the server, for example:
CAP alice LS * :draft/multiline=max-bytes=4096,max-lines=24
This sets a limit of 4096 bytes and 24 lines for a multiline batched content.
If the limits are not given by the server, the default in WeeChat are:
-
max bytes: 4096
-
max lines: 24
Only standard messages and those send by the /notice
command can be multiline.
ACTION CTCP messages sent with command /me are not affected
by this capability. That means multiline actions are sent as multiple actions.
Warning
|
As the specification is a "draft", it may change and the multiline support can
possibly break at any time in WeeChat. The capability is automatically enabled if the server supports it and can be disabled with this command: /set irc.server_default.capabilities "*,!draft/multiline" .When the capability is disabled, a multiline message is sent as multiple messages, as if they were sent sequentially to the server. |
Example of IRC messages sent for a user message with two lines (this is a test
/ on two lines
), send to channel #test:
BATCH +i8Je7M7gquddoyC9 draft/multiline #test @batch=i8Je7M7gquddoyC9 PRIVMSG #test :this is a test @batch=i8Je7M7gquddoyC9 PRIVMSG #test :on two lines BATCH -i8Je7M7gquddoyC9
Display of the message sent in WeeChat:
19:01:45 alice | this is a test | on two lines
Specification: echo-message ↗
This capability forces the server to send PRIVMSG, NOTICE and TAGMSG messages back to WeeChat.
WeeChat displays only the message received and not the message sent, so a delay can be noticed between the send and the display. When the message is displayed, it means it has been properly received by the server and propagated to other clients connected to the server as well.
Specification: extended-join ↗
This capability allows the server to send account and real name when users
join channels.
WeeChat displays this additional information in join messages if the option
irc.look.display_extended_join
is enabled (default value).
Example:
--> john [John01] (John Doe) (~user@example.com) が #test に参加
Specification: invite-notify ↗
This capability allows the server to send invite messages when users are invited to channels.
Example:
-- alice が bob を #test に招待しました
Specification: message-tags ↗
This capability allows to add metadata in messages.
These tags can be displayed using the command /debug tags
.
It must be enabled to use typing notifications.
Specification: monitor ↗
This capability allows the server to send notifications when clients become
online/offline.
WeeChat automatically uses this extension if available when using the
/notify command.
Specification: multi-prefix ↗
Note
|
For now, WeeChat doesn’t display all prefixes in the /names output, even if
they are received and properly saved internally.
|
Example: output of /whois alice
:
-- [alice] @%+#test
Specification: server-time ↗
This capability allows the server to send time for messages as message tag.
When the time is received in a message, WeeChat uses it to display the message
(it can then be displayed with a past date).
The IRC proxy in Relay plugin supports this capability, so any IRC client of Relay should enable it to display the real message time in the backlog sent upon connection.
Specification: setname ↗
This capability lets you change your real name by using the /setname command.
Specification: userhost-in-names ↗
This capability allows the server to send hostnames in /names responses.
Note
|
WeeChat doesn’t display hostnames in the /names output.
|
Example of raw IRC messages received without the capability:
:irc.server 353 alice = #test :@alice bob +carol
Example of raw IRC messages received with the capability:
:irc.server 353 alice = #test :@alice!user1@host1 bob!user2@host2 +carol!user3@host3
You can join channels with the /join command:
/join #channel
Part a channel (keeping the buffer open):
/part [quit message]
The channels you joined are not saved. If you want to join them automatically
when connecting to the server, you must set the server autojoin
option:
/set irc.server.libera.autojoin "#weechat,#weechat-fr"
Note
|
Some scripts can help to automatically set this option,
see /script search autojoin .
|
Be careful, spaces can be used only to separate list of channels from keys,
for example if #channel1
requires a key but not #channel2
:
/set irc.server.libera.autojoin "#channel1,#channel2 key1"
For help on the format, see /help irc.server.libera.autojoin
.
You can send a private message with the /query command, which opens a separate buffer:
/query bob hi, how are you?
Without arguments the command just opens the buffer (or selects it if already open):
/query bob
To close the private buffer, you can do this command on the private buffer:
/close
A smart filter is available to filter some messages when someone did not write anything in the channel during a configurable delay:
-
join: user joins the channel
-
part: user leaves the channel
-
quit: user quits the server
-
account: user changes its account
-
chghost: user changes name or host
-
mode: mode changes on channel
-
nick: user changes its nick
-
setname: user changes its real name
Smart filter is enabled by default, but you must add a filter to hide lines on buffers, for example:
/filter add irc_smart * irc_smart_filter *
It is possible to create filter for one channel only or channels beginning with
same name (see /help filter
):
/filter add irc_smart_weechat irc.libera.#weechat* irc_smart_filter *
You can setup a longer delay (in minutes):
/set irc.look.smart_filter_delay 10
If someone did not write anything during last 10 minutes, its messages like join/part/quit will be hidden by default on channel, and you can use key kbd:[Alt+=] (toggle filters) to see them.
CTCP 応答をカスタマイズしたり、いくつかの CTCP 要求をブロック (無応答) することができます。
例えば、CTCP "VERSION" 要求に対する応答をカスタマイズするには、以下のコマンドを使ってください:
/set irc.ctcp.version "I'm running WeeChat ${version}, it rocks!"
Note
|
The name of CTCP must be in lower case. That means option irc.ctcp.VERSION would not work. |
CTCP "VERSION" 要求をブロックする (要求に対する応答を行わない) には、空文字列を設定してください:
/set irc.ctcp.version ""
未定義の CTCP 要求に対する応答もカスタマイズできます。例えば CTCP "BLABLA" 要求に対する応答を以下のように設定できます:
/set irc.ctcp.blabla "This is my answer to CTCP BLABLA"
特定のサーバに対して CTCP 応答をカスタマイズするには、CTCP 名の前に内部サーバ名をつけてください:
/set irc.ctcp.libera.version "WeeChat ${version} (for libera)"
標準の CTCP 応答を復元するには、オプションを削除してください:
/unset irc.ctcp.version
The CTCP replies are evaluated (see command /eval) and the following extra variables are available:
Variable | 説明 | 値/例 |
---|---|---|
|
サポートしている CTCP オプションのリスト |
|
|
WeeChat バージョン |
|
|
WeeChat バージョン + Git バージョン (1) |
|
|
Git バージョン (1) |
|
|
WeeChat コンパイル日時 |
|
|
OS に関する情報 |
|
|
WeeChat ウェブサイト |
|
|
WeeChat ウェブサイトのダウンロードページ |
|
|
現在の日時 |
|
|
IRC サーバ上で使うユーザ名 |
|
|
IRC サーバ上で使う実名 |
|
Note
|
(1) git バージョンとは git describe コマンドの出力です。Git リポジトリで
WeeChat をコンパイルし、Git がインストールされている場合のみ値が設定されます。
|
The default CTCP replies are:
CTCP | 応答書式 | 例 |
---|---|---|
CLIENTINFO |
|
|
SOURCE |
|
|
TIME |
|
|
VERSION |
|
|
irc.msgbuffer.*
オプションを使えば、IRC メッセージに対するターゲットバッファ
(メッセージを表示するバッファ) をカスタマイズすることができます。
一部の IRC メッセージ (以下のリストを参照) に対して、以下の値を設定できます:
- current
-
現在のバッファ (IRC バッファまたはサーババッファの場合のデフォルト)
- private
-
ニックネームに対するプライベートバッファ、見つからない場合は現在のバッファまたはサーババッファ (irc.look.msgbuffer_fallback オプションに依存)
- server
-
サーババッファ
- weechat
-
WeeChat "core" バッファ
オプションが設定されていない (デフォルトの) 場合、WeeChat は適当なバッファを選びます。通常ではサーバまたはチャンネルバッファです。
カスタマイズできる一部の IRC メッセージ、別名のリストは以下です:
メッセージ | 別名 | 説明 |
---|---|---|
|
エラー |
|
|
チャンネルへの招待 |
|
|
参加 |
|
|
キック |
|
|
キル |
|
|
モード |
|
|
通知 |
|
|
退出 |
|
|
終了 |
|
|
トピック |
|
|
IRC オペレータメッセージ |
|
|
ctcp (プライベートまたは notice メッセージ内の、送信または受信メッセージ) |
|
|
ユーザモード文字列 |
|
|
|
whois (セキュアな接続) |
|
|
whois (離席状態) |
|
サーバへの接続状態 |
|
|
|
着席状態 |
|
|
離席状態 |
|
|
whois (登録済みニックネーム) |
|
|
whois (ヘルプモード) |
|
|
whois (ユーザ) |
|
|
whois (サーバ) |
|
|
whois (オペレータ) |
|
|
whowas |
|
|
who (終了) |
|
|
whois (アイドル状態) |
|
|
whois (終了) |
|
|
whois (チャンネル) |
|
|
whois (身元確認済みユーザ) |
|
|
list (開始) |
|
|
list (チャンネル) |
|
|
list (終了) |
|
|
whois (オペレータ権限を持っているユーザ) |
|
|
whois (ホスト) |
|
チャンネルの URL |
|
|
チャンネル作成日時 |
|
|
|
whois (ログイン時の名前) |
|
トピックが未設定のチャンネル |
|
|
チャンネルのトピック |
|
|
トピックに関する情報 |
|
|
|
whois (ボットが有効化されているか) |
|
|
whois (ホスト) |
|
招待中 |
|
|
|
whois (オペレータ) |
|
|
チャンネルオペレータを復活 |
|
|
チャンネルオペレータを復活 (終了) |
|
|
招待リスト |
|
|
招待リスト (終了) |
|
|
除外リスト |
|
|
除外リスト (終了) |
|
サーババージョン |
|
|
|
who |
|
|
チャンネル内ユーザのリスト |
|
|
チャンネル内ユーザのリストの終了 |
|
|
禁止リスト |
|
|
禁止リストの終了 |
|
|
whowas (終了) |
|
|
whois (接続元) |
|
|
whois (モード) |
|
|
指定したニックネームおよびチャンネルがありません |
|
|
指定したサーバがありません |
|
ニックネームにエラーがあります |
|
|
ニックネームが使用されています |
|
|
ニックネームを変更する権限がありません |
|
|
|
whois (セキュアな接続) |
|
|
発言禁止リスト |
|
|
発言禁止リストの終了 |
|
|
監視中のニックネームのリスト |
|
|
監視中のニックネームのリスト (終了) |
|
ログインに成功 |
その他の数値コマンドも同様にカスタマイズできます。
サーバ名を前につけることで、特定のサーバに対して設定することができます
(例: libera.whois
)。
例:
-
/whois
の結果をプライベートバッファに表示:
/set irc.msgbuffer.whois private
-
whois に対する設定をデフォルトに戻す (サーババッファに表示):
/unset irc.msgbuffer.whois
-
"libera" サーバの場合、招待メッセージを現在のバッファに表示:
/set irc.msgbuffer.libera.invite current
-
"303" (ison) メッセージを WeeChat "core" バッファに表示:
/set irc.msgbuffer.303 weechat
irc.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
|
|
色 |
|
|
ネットワークオプション |
|
|
IRC メッセージのターゲットバッファ (オプションをセクションに追加/削除出来ます) |
|
|
CTCP 応答 (オプションをセクションに追加/削除出来ます) |
|
無視ユーザ |
|
|
|
サーバに対するデフォルト値 (サーバオプションが定義されていない場合に利用されます) |
|
|
サーバ |
オプション:
Xfer プラグインの機能:
-
ダイレクトチャット (サーバ不要の 2 ホスト間直接接続): 例えば IRC プラグイン経由の "DCC チャット"
-
ファイル転送、例えば IRC プラグイン経由の "DCC"
xfer.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
|
|
色 |
|
|
ネットワークオプション |
|
|
ファイルの送信/受信に関するオプション |
オプション:
The typing plugin is used to inform other users you are typing messages and show a list of users currently typing a message on the buffer.
It is used by IRC plugin on channel and private buffers, when the "message-tags"
capability is enabled (you can check with /cap command).
Under the hood, typing client tag is used, following
this specification ↗.
For privacy considerations, the typing feature is disabled by default.
If you want to use it, you must enable options in both typing and irc plugins:
/set typing.look.enabled_nicks on /set typing.look.enabled_self on /set irc.look.typing_status_nicks on /set irc.look.typing_status_self on
The typing notifications are displayed at the end of the status bar.
Example of status bar with the "typing" item: "bob" is typing a message and "alice" was typing a message but made a pause:
│[12:55] [6] [irc/libera] 3:#test(+n){4} [Typing: bob, (alice)] │ │[@Flashy] █ │ └─────────────────────────────────────────────────────────────────────────────────┘
When you are typing a message (not a command starting with /
), the typing
plugin sends signals to inform other plugins (like IRC) that you are typing,
and these plugins can then send typing notifications to other users.
The following signals are sent when you are typing messages:
Signal | Arguments | Description |
---|---|---|
typing_self_typing |
Pointer: buffer. |
You are typing a message. |
typing_self_paused |
Pointer: buffer. |
You made a pause while typing a message. |
typing_self_cleared |
Pointer: buffer. |
You cleared the command line without sending the message. |
typing_self_sent |
Pointer: buffer. |
You sent the message to the buffer. |
The typing plugin is catching some signals that can be sent by other plugins (like IRC), to update internal hashtables used to store the typing state of nicks on buffers. These hashtables are used to build the content of "typing" bar item.
The following signals are caught by the typing plugin:
Signal | Arguments | Description |
---|---|---|
typing_set_nick |
String: buffer pointer + ";" + state (one of: "off", "typing", "paused",
"cleared") + ";" + nick. |
Set typing state for a nick on a buffer. |
typing_reset_buffer |
Pointer: buffer. |
Remove typing state for all nicks on a buffer. |
typing.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
オプション:
Relay プラグインはネットワークを介して異なるプロトコルを用いてデータを中継するために利用します:
-
irc: IRC プロキシ: IRC サーバに対する接続を、単一または複数の IRC クライアントで共有するために用います。
-
weechat: protocol used by remote interfaces to display and interact with WeeChat, see this page ↗.
It is highly recommended to set a password for relay, with these commands:
secure set relay mypassword /set relay.network.password "${sec.data.relay}"
このパスワードは irc と weechat プロトコルで利用されます。
weechat プロトコルでは、パスワードに加えて、二要素認証の TOTP (時間ベースのワンタイムパスワード) を使うことが可能です。
これは任意設定項目であり、セキュリティレベルを向上させます。
ワンタイムパスワードは以下のようなアプリケーションを使って生成します:
TOTP の secret を WeeChat とワンタイムパスワードを生成するアプリケーション内部に設定しなければいけません。
TOTP の secret は base32 でエンコードされた文字列 (文字および 2 から 7 までの数字) でなければいけません。以下はその例です:
/secure set relay_totp secretpasswordbase32 /set relay.network.totp_secret "${sec.data.relay_totp}"
証明書と秘密鍵を作り、プロトコル名の最初に "tls." を付けることで TLS 経由でリレーを利用することができます。
The default path to certificate/key is defined by option relay.network.tls_cert_key.
以下のコマンドを使って証明書と秘密鍵ファイルを作成します:
$ mkdir -p ~/.config/weechat/tls $ cd ~/.config/weechat/tls $ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem
Note
|
You must replace ~/.config/weechat by the path to your WeeChat config directory
which can also be for example ~/.weechat .
|
WeeChat が既に起動している場合、以下のコマンドで証明書と秘密鍵をリロードできます:
/relay tlscertkey
Relay プラグインは IRC プロキシとしても使えます: Relay プラグインは IRC サーバのふりをして、他の IRC クライアント (WeeChat 自身も) は WeeChat に接続できます。
IRC サーバごとに異なるポート、もしくは全てのサーバに対して共通のポートを定義することができます。
すべてのサーバに対して共通のポートを定義した場合には、クライアントからサーバの内部名を IRC の "PASS" コマンドに含めて送信するようにしてください、以下の書式を使ってください (see example below):
PASS server:mypass
例: TLS を使い、全てのサーバに対して共通の IRC プロキシを設定 (サーバはクライアントが選択):
/relay add tls.irc 8000
例: TLS を使わず、内部名 "libera" のサーバに対して IRC プロキシを設定:
/relay add irc.libera 8000
任意の IRC クライアントからサーバパスワード "mypass" (全てのサーバに対して共通の IRC プロキシを設定した場合には "libera:mypass") で 8000 番ポートに接続出来ます。
For example if you use WeeChat as IRC client of the relay, with a server called "relay" and the relay password "secret", you can setup the password with these commands:
/secure set relay_libera libera:secret /set irc.server.relay.password "${sec.data.relay_libera}"
Relay プラグインは WeeChat プロトコルを使ってリモートインターフェースに対してデータを送信できます。
You can connect with a remote interface, see this page ↗.
Important
|
このプロトコルを使った場合 WeeChat から他の WeeChat に接続することはできません。 |
例:
/relay add weechat 9000
この後、リモートインターフェースを使って 9000 番ポートに対して、パスワード "mypass" で接続することができます。
Relay プラグインはすべてのプロトコルに対して WebSocket プロトコル (RFC 6455 ↗) をサポートします。
WebSocket ハンドシェイクは自動的に検知され、ハンドシェイク中に必要なヘッダが見つかり origin が許可されていれば WebSocket 用のソケットが準備されます (オプション relay.network.websocket_allowed_origins を参照)。
HTML5 を使えばたった 1 行の JavaScript で WebSocket をオープンすることが可能です:
websocket = new WebSocket("ws://server.com:9000/weechat");
ポート番号 (例では 9000 番) は Relay プラグインで定義したものです。URI の最後には必ず "/weechat" をつけます (irc と weechat プロトコルの場合)。
/relay add
コマンドにプロトコルオプション "unix" をつけることで、指定したパスで動作する
UNIX ドメインソケット上の任意のプロトコルをリッスンできます。例:
/relay add unix.weechat ${weechat_runtime_dir}/relay_socket
こうすることで、クライアントは weechat プロトコルを使って /run/user/1000/weechat/relay_socket に接続できます。これは、他のポートをオープンが禁止されている状況下で、リレークライアントの SSH 転送を許可する際に特に便利です。
OpenSSH を使った例:
$ ssh -L 9000:.weechat/relay_socket user@hostname
これでポート 9000 番に接続してきたローカルのリレークライアントは "hostname" 上で動作中の WeeChat インスタンスへ転送されます。
relay.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
|
|
色 |
|
|
ネットワークオプション |
|
|
特定の irc プロトコルのオプション (irc プロキシ) |
|
|
リレーに使うポート(irc や weechat プロトコル) (オプションをセクションに追加/削除出来ます) |
オプション:
/exec
コマンドを使うことで WeeChat
内部から外部コマンドを実行し、その結果を表示したりバッファに送信することが可能になります。
exec.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
コマンドに対するオプション |
|
|
色 |
オプション:
外部から WeeChat を操作するには、FIFO パイプにコマンドやテキストを書き込んでください ("fifo.file.enabled" オプションが有効化されている必要がありますが、デフォルトで有効化されているはずです)。
The FIFO pipe is located in WeeChat runtime directory and is called weechat_fifo_12345 by default (where 12345 is the WeeChat process id).
FIFO パイプに書き込むコマンド/テキストの文法は以下の例の一つです:
plugin.buffer *テキストまたはコマンド *テキストまたはコマンド
Backslashes can be interpreted with this format, where *
is replaced by \
,
allowing for example to send multiline messages:
plugin.buffer \text or command here \text or command here
例:
-
IRC サーバ libera で使うニックネームを "newnick" に変更する:
$ echo 'irc.server.libera */nick newnick' >/run/user/1000/weechat/weechat_fifo_12345
-
IRC チャンネル #weechat に対してテキストを送信:
$ echo 'irc.libera.#weechat *hello!' >/run/user/1000/weechat/weechat_fifo_12345
-
Send a multiline message on IRC #test channel, if capability "draft/multiline" is enabled on the ergo server:
$ echo 'irc.ergo.#test \hello\n...on two lines!' >/run/user/1000/weechat/weechat_fifo_12345
-
現在のバッファに対してテキストを送信:
$ echo '*hello!' >/run/user/1000/weechat/weechat_fifo_12345
-
Python スクリプトのアンロードとロードを行う 2 つのコマンドを送信 (複数のコマンドは "\n" で分割してください):
$ printf '%b' '*/python unload\n*/python autoload\n' >/run/user/1000/weechat/weechat_fifo_12345
fifo.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
FIFO パイプに関するオプション |
オプション:
トリガは WeeChat の便利ツールです: 様々なもの (signal、modifier、print、…) をフックして、データの内容を書き換えたり、複数のコマンドを実行することができます。条件をつけることで一部の場合だけトリガを実行するように設定することもできます。
トリガを使うにはシグナル、修飾子、… がどのように動いているかを知らなければいけません。これを知るには WeeChat プラグイン API リファレンス / フック ↗を読むことをお勧めします。
WeeChat はデフォルトで 5 つのトリガを作成しますが、これらを無効化、更新、削除することも可能です:
-
通知用の beep トリガ
-
それ以外の 4 つは画面上でパスワードを隠すためのトリガ
デフォルトトリガのリスト:
名前 | フック | 説明 |
---|---|---|
|
ハイライト/プライベートメッセージを受信した際にビープを鳴らす。 |
|
|
modifier |
コマンド内のパスワードを隠す:
|
|
modifier |
コマンド内のパスワードを隠す |
|
modifier |
IRC auth メッセージ (ユーザがコマンドを実行した後にサーバから受信するメッセージ) の表示時にパスワードを隠す。 |
|
modifier |
|
トリガは以下のオプションをとります (名前は
trigger.trigger.<name>.<option>
):
オプション | 値 | 説明 |
---|---|---|
|
|
オプションが |
|
|
トリガの中で使われるフック。より詳しい情報は WeeChat プラグイン API リファレンス / フック ↗を参照してください。 |
|
文字列 |
フックに対する引数、指定したフックの型に依存します。 |
|
文字列 |
トリガを実行する条件; 内容は評価されます (コマンド /eval を参照)。 |
|
文字列 |
1 つ以上の POSIX 拡張正規表現、フックコールバック (とトリガプラグインによって追加されるもの) が受け取るデータに変更を加えるためのもの、正規表現を参照。 |
|
文字列 |
実行するコマンド (複数のコマンドを使う場合には各コマンドをセミコロンで区切ってください); 内容は評価されます (コマンド /eval を参照)。 |
|
|
コールバックの戻り値 (デフォルトは
|
|
|
実行後のトリガに対する処遇 (ほとんどすべてのトリガではデフォルトの |
例えば、デフォルトの beep トリガは以下のオプションをとります:
trigger.trigger.beep.enabled = on trigger.trigger.beep.hook = print trigger.trigger.beep.arguments = "" trigger.trigger.beep.conditions = "${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})" trigger.trigger.beep.regex = "" trigger.trigger.beep.command = "/print -beep" trigger.trigger.beep.return_code = ok trigger.trigger.beep.post_action = none
トリガ機能が有効になっていてさらに対象のトリガが有効化されている場合に、トリガコールバックが呼び出されると、以下のアクションがこの順番で実行されます:
-
トリガ条件の確認: 偽の場合、終了
-
正規表現を使ってトリガ内でテキスト置換
-
コマンドを実行
-
戻り値を返して終了 (modifier、line、focus、info、info_hashtable フックを除く)
-
トリガ実行後の処遇を適用 (
none
以外の場合)。
引数は使用するフックの種類に依存します。引数はセミコロンで区切ってください。
フック | 引数 | 例 | 解説 (API) |
---|---|---|---|
signal |
1. シグナル名 (優先度の指定も可) (必須) |
|
|
hsignal |
1. シグナル名 (優先度の指定も可) (必須) |
|
|
modifier |
1. 修飾子名 (優先度の指定も可) (必須) |
|
|
line |
1. バッファ型 |
|
|
1. バッファ名 |
|
||
command |
1. コマンド名 (優先度の指定も可) (必須) |
|
|
command_run |
1. コマンド (優先度の指定も可) (必須) |
|
|
timer |
1. インターバルするミリ秒数 (必須) |
|
|
config |
1. オプション名 (優先度の指定も可) (必須) |
|
|
focus |
1. エリア名 (優先度の指定も可) (必須) |
|
|
info |
1. インフォ名 (優先度の指定も可) (必須) |
|
|
info_hashtable |
1. インフォ名 (優先度の指定も可) (必須) |
|
条件を指定することで、トリガ内で処理を継続するか完全に止めるかを制御できます。
条件は評価され、コールバック内で利用できるデータを条件として利用できます (コールバック内のデータとコマンド /eval を参照)。
例: デフォルトの beep トリガは以下の条件を使い、ハイライトまたはプライベートメッセージの場合だけビープを鳴らすようにしています:
${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})
The regular expression is used to change variables in callback hashtable.
Format is one of the following:
/string1/string2 /string1/string2/var s/string1/string2 s/string1/string2/var y/string1/string2 y/string1/string2/var
Fields:
-
s
ory
: a letter with the command; if missing, default command iss
and the first char is then used as the delimiter:-
s
: regex replacement: first string is a regular expression, second string is the replacement for every matching string -
y
: chars translation: first string is a set of characters that are replaced by the characters in the second string; once evaluated, each string must have exactly the same number of UTF-8 chars
-
-
/
: the regex delimiter; the char "/" can be replaced by any char (one or more identical chars) -
string1
: the first string (use depends on the command) -
string2
: the second string (use depends on the command) -
var
: the hashtable variable to update
Many regular expressions can be separated by a space, for example:
s/regex1/replace1/var1 y/abcdef/ABDDEF/var2
For the command s
, the format is: s/regex/replace
or s/regex/replace/var
(where var is a variable of the hashtable).
As s
is the default command, it can be omitted, so /regex/replace
is also
valid (but the first char, which is the delimiter, must not be a letter).
Matching groups can be used in replace:
-
${re:0}
to${re:99}
:${re:0}
is the whole match,${re:1}
to${re:99}
are groups captured -
${re:}+
: the last match (with highest number) -
${hide:c,${re:N}}
: match "N" with all chars replaced by "c" (example:${hide:*,${re:2}}
is the group #2 with all chars replaced by*
).
Example: use bold for words between *
:
s/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
Example: default trigger server_pass uses this regular expression to hide
password in commands /server
and /connect
(chars in passwords are replaced
by *
):
s==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
Note
|
In this example, the delimiter used is "==" because there is a "/" in the regular expression. |
For the command y
, the format is: y/chars1/chars2
or y/chars1/chars2/var
(where var is a variable of the hashtable).
Example: replace "a", "b" and "c" by upper case letter:
y/abc/ABC/
Example: rotate arrows clockwise:
y/←↑→↓/↑→↓←/
Example: convert all letters to lower case:
y/${chars:upper}/${chars:lower}/
Example: shift each letter by one position, preserving case: a→b, b→c … y→z, z→a:
y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
If var does not exist in the hashtable, it is created automatically with an empty value. This allows to create custom temporary variables.
If var is not specified, the default variable is used, it depends on hook type:
フック | デフォルト変数 | 更新が許可Update allowed (1) |
---|---|---|
signal |
tg_signal_data |
|
hsignal |
||
modifier |
tg_string |
tg_string |
line |
message |
buffer、buffer_name、y、date、date_usec、date_printed、date_usec_printed、str_time、tags、notify_level、highlight、prefix、message |
tg_message |
||
command |
tg_argv_eol1 |
|
command_run |
tg_command |
|
timer |
tg_remaining_calls |
|
config |
tg_value |
|
focus |
||
info |
tg_info |
tg_info |
info_hashtable |
ハッシュテーブルで受け取ったすべての変数 |
Note
|
(1) トリガはすべての値を更新できますが、ここで挙げた変数だけがトリガによって返されて WeeChat によって使われる値に影響を及ぼします |
コマンドは正規表現を使ったテキスト置換の後に実行されます。複数のコマンドを実行するにはセミコロンで区切ってください。
コマンドは評価され (コマンド /eval を参照) コマンド内では正規表現を使って置換したテキストを使うことができます。
例: デフォルトの beep トリガは以下のコマンドを実行してビープ (BEL) を鳴らしています:
/print -beep
コールバック内で受け取ったデータはハッシュテーブル (ポインタと文字列) の中に保存され、以下のオプションで使うことができます:
-
conditions
-
regex
-
command
ハッシュテーブルの内容はフックの種類に依存します。
トリガ内部におけるデータを簡単に確認するには、以下のコマンドを使ってトリガ監視バッファを開いてください:
/trigger monitor
All callbacks set following variables in hashtable:
変数 | 型 | 説明 |
---|---|---|
|
string |
Name of trigger. |
|
string |
Hook type: "signal", "command", etc. |
"signal" コールバックは以下の変数をハッシュテーブルに格納します:
変数 | 型 | 説明 |
---|---|---|
|
string |
シグナル名 |
|
string |
シグナルと一緒に送信されたデータ |
シグナルが IRC メッセージを含む場合、メッセージは解析され以下のデータがハッシュテーブルに追加されます:
変数 | 型 | 説明 |
---|---|---|
|
pointer |
IRC サーバへのポインタ ( |
|
pointer |
IRC チャンネルへのポインタ ( |
|
string |
サーバの名前 (例: "libera") |
|
string |
メッセージ内のタグ (使われることはまれです) |
|
string |
タグを含まないメッセージ |
|
string |
ニックネーム |
|
string |
ホスト名 |
|
string |
IRC コマンド (例: "PRIVMSG"、"NOTICE"、…) |
|
string |
IRC チャンネル |
|
string |
コマンドの引数 (channel の値を含みます) |
|
string |
テキスト (例えばユーザメッセージ) |
|
string |
メッセージ内における command のインデックス (command が見つからない場合 "-1") |
|
string |
メッセージ内における arguments のインデックス (arguments が見つからない場合 "-1") |
|
string |
メッセージ内における channel のインデックス (channel が見つからない場合 "-1") |
|
string |
メッセージ内における text のインデックス (text が見つからない場合 "-1") |
データがポインタの場合、hdata の属性を読むために変数 tg_signal_data
を以下のようにして使うことが可能です (以下の例では、バッファのポインタとして使っています):
${buffer[${tg_signal_data}].full_name}
"hsignal" コールバックは以下の変数をハッシュテーブルに格納します:
変数 | 型 | 説明 |
---|---|---|
|
string |
シグナル名 |
ハッシュテーブルには受け取ったハッシュテーブルに含まれる全てのキーおよび値 (型: string/string) が含まれています。
"modifier" コールバックは以下の変数をハッシュテーブルに格納します:
変数 | 型 | 説明 |
---|---|---|
|
string |
修飾子の名前 |
|
string |
修飾子と一緒に送信されたデータ |
|
string |
修正可能な文字列 |
|
string |
色コードを含まない文字列 |
weechat_print 修飾子では、メッセージタグを使う変数 (下の Print を参照) と以下の変数が追加されます:
変数 | 型 | 説明 |
---|---|---|
|
pointer |
メッセージが表示されたバッファ |
|
string |
メッセージが表示されたバッファのプラグイン |
|
string |
メッセージが表示されたバッファの完全な名前 |
|
string |
表示されたメッセージのプレフィックス |
|
string |
色コードを削除したプレフィックス |
|
string |
表示されたメッセージ |
|
string |
色コードを削除したメッセージ |
修飾子が IRC メッセージを含む場合、メッセージは解析され追加のデータがハッシュテーブルに追加されます (Signal を参照)。
"line" コールバックは以下の変数をハッシュテーブルに格納します:
変数 | 型 | 説明 |
---|---|---|
|
pointer |
バッファ |
|
string |
バッファ名 |
|
string |
バッファ型 ("formatted" または "free") |
|
string |
自由内容バッファの行番号 (≥ 0)、-1 はフォーマット済みバッファ用 |
|
string |
行の日付 (タイムスタンプ) |
|
string |
Microseconds of line date. |
|
string |
行が表示される日付 (タイムスタンプ). |
|
string |
Microseconds of date when line was displayed. |
|
string |
表示に使う日付、色コードを含めることも可能 |
|
string |
メッセージのタグ (文字列の最初と最後にコンマが追加されます) |
|
string |
"1" の場合は表示、"0" の場合は非表示 |
|
string |
"-1" = no notify, "0" = 低レベル、"1" = メッセージ、"2" = プライベートメッセージ、"3" = ハイライト |
|
string |
"1" の場合はハイライトあり、"0" の場合はハイライトなし |
|
string |
プレフィックス |
|
string |
色コードを含まないプレフィックス |
|
string |
メッセージ |
|
string |
色コードを含まないメッセージ |
メッセージにつけられたタグに関する変数:
変数 | 型 | 説明 |
---|---|---|
|
string |
メッセージのタグの個数 |
|
string |
ニックネーム ("nick_xxx" タグから) |
|
string |
プレフィックスで使うニックネームの色 ("prefix_nick_ccc" タグから) |
|
string |
ユーザ名とホスト名、書式: username@host ("host_xxx" タグから) |
|
string |
通知レベル (none、message、private、highlight) |
|
string |
IRC message tag (key "xxx"). (1) |
|
string |
通知レベルが none 以外の場合、その通知レベル |
|
string |
プライベートメッセージの場合 "1"、それ以外は "0" |
Note
|
(1) Commas are replaced by semicolons in IRC tag (key and value). |
"print" コールバックは以下の変数をハッシュテーブルに格納します:
変数 | 型 | 説明 |
---|---|---|
|
pointer |
メッセージが表示されたバッファ |
|
string |
メッセージの日付と時間 (書式: |
|
string |
表示された場合 "1"、フィルタされた場合 "0" |
|
string |
ハイライトされた場合 "1"、それ以外は "0" |
|
string |
プレフィックス |
|
string |
色コードを削除したプレフィックス |
|
string |
メッセージ |
|
string |
色コードを削除したメッセージ |
メッセージにつけられたタグに関する変数:
変数 | 型 | 説明 |
---|---|---|
|
string |
メッセージのタグ (文字列の最初と最後にコンマが追加されます) |
|
string |
メッセージのタグの個数 |
|
string |
ニックネーム ("nick_xxx" タグから) |
|
string |
プレフィックスで使うニックネームの色 ("prefix_nick_ccc" タグから) |
|
string |
ユーザ名とホスト名、書式: username@host ("host_xxx" タグから) |
|
string |
通知レベル (none、message、private、highlight) |
|
string |
IRC message tag (key "xxx"). (1) |
|
string |
通知レベルが none 以外の場合、その通知レベル |
|
string |
プライベートメッセージの場合 "1"、それ以外は "0" |
Note
|
(1) Commas are replaced by semicolons in IRC tag (key and value). |
"command" コールバックは以下の変数をハッシュテーブルに格納します:
変数 | 型 | 説明 |
---|---|---|
|
pointer |
バッファ |
|
string |
The number of arguments (the command itself counts for one). |
|
string |
N 番目の引数 ( |
|
string |
N 番目の引数から最後の引数まで ( |
|
string |
The number of arguments with a split like the shell does (the command itself counts for one). |
|
string |
Argument #N with a split like the shell does ( |
"command_run" コールバックは以下の変数をハッシュテーブルに格納します:
変数 | 型 | 説明 |
---|---|---|
|
pointer |
バッファ |
|
string |
実行されたコマンド |
"timer" コールバックは以下の変数をハッシュテーブルに格納します:
変数 | 型 | 説明 |
---|---|---|
|
string |
残り呼び出し回数 |
|
string |
現在の日付および時間 (書式: |
"focus" コールバックは以下の変数をハッシュテーブルに格納します:
変数 | 型 | 説明 |
---|---|---|
|
pointer |
ウィンドウ |
|
pointer |
バッファ |
ハッシュテーブルには受け取ったハッシュテーブルに含まれる全てのキーおよび値 (型: string/string) が含まれています。
"info" コールバックは以下の変数をハッシュテーブルに格納します:
変数 | 型 | 説明 |
---|---|---|
|
string |
インフォ名 |
|
string |
引数 |
|
string |
空文字列 (インフォの返却先) |
URL を緑色にする:
/trigger add url_color modifier weechat_print "${tg_notify}" "==[a-zA-Z0-9_]+://[^ ]+==${color:green}${re:0}${color:reset}=="
Note
|
ここで使われている URL を検出するための単純な正規表現はすべての URL をうまく検出するものではありませんが、複雑な正規表現を使うよりも高速です。 |
誰かがプライベートバッファで "ping" を送信した場合、このトリガは
pong
で自動的に応答します:
/trigger add pong print "" "${type} == private && ${tg_message} == ping" "" "pong"
以下のトリガは端末のサイズが変更されたときに表示されている内容をカスタマイズするものです:
/trigger add resize_small signal signal_sigwinch "${info:term_width} < 100" "" "/bar hide nicklist" /trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
WeeChat は SIGWINCH を受けとたった際 (端末のサイズが変更された際) に "signal_sigwinch" シグナルを送信し、このトリガはこのシグナルをキャッチします。
${info:term_width}
を使った条件で端末の横幅を確認します (必要であれば
${info:term_height}
を使うことも可能です)。
この例では、端末が小さくなった場合、ニックネームリストを隠します。さらに横幅が 100 文字幅以上になった場合、ニックネームリストを表示します。
trigger.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
|
|
色 |
|
|
トリガオプション |
オプション:
WeeChat has a modular design and can be extended with plugins and scripts.
プラグイン と スクリプト の違いを明らかにすることは重要です:
プラグイン とは /plugin
コマンドで読み込まれるコンパイル済みバイナリファイルです。これに対して、
スクリプト とは /python
等のコマンドで python
等のプラグインとともに読み込まれるテキストファイルです。
プラグインとは動的ライブラリのことで、C 言語で書かれてコンパイルされています。プラグインは WeeChat によって読み込まれます。GNU/Linux の場合、プラグインファイルは ".so" という拡張子を持ち、Windows の場合、".dll" です。
見つかったプラグインは WeeChat の起動時に自動的に読み込まれます。WeeChat の起動時にプラグインを読み込むか否かは選択可能です。
/plugin
コマンドを使うことで、プラグインのロード/アンロード、ロード済みプラグインの表示を行うことができます。
When a plugin is unloaded, WeeChat removes:
-
buffers
-
configuration options (options are written in files)
-
all hooks: commands, modifiers, process, etc.
-
infos and infolists
-
hdata
-
bar items.
プラグインをロード、アンロード、ロード済みプラグインを表示する例:
/plugin load irc /plugin unload irc /plugin list
デフォルトプラグインのリスト:
プラグイン | 説明 |
---|---|
alias |
コマンドの別名を定義 |
buflist |
バッファリストを表示するためのバー要素 |
charset |
バッファの文字コードに従ってデコード/エンコード |
exec |
WeeChat 内部から外部コマンドを実行 |
fifo |
外部から WeeChat にコマンドを送信するための FIFO パイプ |
fset |
WeeChat とプラグインのオプションを高速設定 |
irc |
IRC チャットプロトコル |
logger |
バッファの内容をファイルに保存 |
relay |
ネットワーク経由でデータを中継 |
script |
スクリプトマネージャ |
python |
Python スクリプト API |
perl |
Perl スクリプト API |
ruby |
Ruby スクリプト API |
lua |
Lua スクリプト API |
tcl |
Tcl スクリプト API |
guile |
Guile (scheme) スクリプト API |
javascript |
JavaScript スクリプト API |
php |
PHP スクリプト API |
spell |
コマンドラインのスペルチェック |
trigger |
WeeChat およびプラグインが発生させたイベントに対するテキスト置換とコマンド実行 |
typing |
Display users currently writing messages. |
xfer |
ファイル転送とダイレクトチャット |
API を使ったプラグインやスクリプトの開発についてより詳しく学ぶには WeeChat プラグイン API リファレンス ↗または WeeChat スクリプト作成ガイド ↗を参照してください。
WeeChat は 8 種類のスクリプトプラグインを備えています: Python、Perl、Ruby、Lua、Tcl、Guile (scheme)、JavaScript、PHP。これらのプラグインでそれぞれの言語で書かれたスクリプトのロード、実行、アンロードができます。
スクリプトの書き方やスクリプト用の WeeChat API についての詳しい情報は WeeChat スクリプト作成ガイド ↗を参照してください。
The script manager (command /script) is used to load/unload scripts of any language, and install/remove scripts of WeeChat scripts repository, which are visible on this page ↗.
For privacy considerations, the download of scripts is disabled by default.
To enable it, type this command:
/set script.scripts.download_enabled on
Then you can download the list of scripts and display them in a new buffer with the /script command:
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │1.weechat│368/368 scripts (filter: *) | Sort: i,p,n | Alt+key/input: i=install, r=remove, l=load, L=reload, u=│ │2.scripts│* autosort.py 3.9 2020-10-11 | Automatically keep buffers grouped by server│ │ │* multiline.pl 0.6.3 2016-01-02 | Multi-line edit box, also supports editing o│ │ │* highmon.pl 2.7 2020-06-21 | Adds a highlight monitor buffer. │ │ │*ia r grep.py 0.8.5 0.8.5 2021-05-11 | Search regular expression in buffers or log │ │ │* autojoin.py 0.3.1 2019-10-06 | Configure autojoin for all servers according│ │ │* colorize_nicks.py 28 2021-03-06 | Use the weechat nick colors in the chat area│ │ │*ia r go.py 2.7 2.7 2021-05-26 | Quick jump to buffers. │ │ │* text_item.py 0.9 2019-05-25 | Add bar items with plain text. │ │ │ aesthetic.py 1.0.6 2020-10-25 | Make messages more A E S T H E T I C A L L Y│ │ │ aformat.py 0.2 2018-06-21 | Alternate text formatting, useful for relays│ │ │ alternatetz.py 0.3 2018-11-11 | Add an alternate timezone item. │ │ │ amarok2.pl 0.7 2012-05-08 | Amarok 2 control and now playing script. │ │ │ amqp_notify.rb 0.1 2011-01-12 | Send private messages and highlights to an A│ │ │ announce_url_title.py 19 2021-06-05 | Announce URL title to user or to channel. │ │ │ anotify.py 1.0.2 2020-05-16 | Notifications of private messages, highlight│ │ │ anti_password.py 1.2.1 2021-03-13 | Prevent a password from being accidentally s│ │ │ apply_corrections.py 1.3 2018-06-21 | Display corrected text when user sends s/typ│ │ │ arespond.py 0.1.1 2020-10-11 | Simple autoresponder. │ │ │ atcomplete.pl 0.001 2016-10-29 | Tab complete nicks when prefixed with "@". │ │ │ audacious.pl 0.3 2009-05-03 | Display which song Audacious is currently pl│ │ │ auth.rb 0.3 2014-05-30 | Automatically authenticate with NickServ usi│ │ │ auto_away.py 0.4 2018-11-11 | A simple auto-away script. │ │ │ autoauth.py 1.3 2021-11-07 | Permits to auto-authenticate when changing n│ │ │ autobump.py 0.1.0 2019-06-14 | Bump buffers upon activity. │ │ │ autoconf.py 0.4 2021-05-11 | Auto save/load changed options in a .weerc f│ │ │ autoconnect.py 0.3.3 2019-10-06 | Reopen servers and channels opened last time│ │ │[12:55] [2] [script] 2:scripts │ │ │█ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
script.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
|
|
色 |
|
|
スクリプトのダウンロードに関するオプション |
オプション:
python.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
オプション:
perl.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
オプション:
ruby.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
オプション:
lua.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
オプション:
tcl.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
オプション:
guile.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
オプション:
php.conf ファイル内のセクション:
セクション | 操作コマンド | 説明 |
---|---|---|
|
|
外観 |
オプション:
サポートを依頼する前に、必ず WeeChat に付属するドキュメントと FAQ を読んでください。
IRC を使ったサポート窓口は irc.libera.chat サーバにあります:
-
公式チャンネル (開発者もいます):
-
#weechat (英語)
-
#weechat-fr (フランス語)
-
-
非公式チャンネル:
-
#weechat-de (ドイツ語)
-
#weechat-fi (フィンランド語)
-
For other ways of support, see this page ↗.