summaryrefslogtreecommitdiff
path: root/doc/ja/weechat_faq.ja.adoc
blob: f079f0ed2bec4ee89a72daf785d4c363ed952a22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
= WeeChat FAQ (よくある質問)
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: ja
:toc: left
:toc-title: 目次
:toclevels: 2
:sectnums:
:sectnumlevels: 2
:docinfo1:


この文書は WeeChat バージョン 0.3.0 以上向けに書かれたものですが、
最新安定版の WeeChat に対しても利用できます。

翻訳者:

* Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>, 2012-2017

toc::[]


[[general]]
== 一般

[[weechat_name]]
=== "WeeChat" という名前の由来は何ですか?

"Wee" は再帰的頭字語で、"Wee Enhanced Environment"
の略です。そのため、完全な名前は "Wee Enhanced Environment for Chat" です。

"Wee" はまた「とても小さい」を意味します。(もちろん、その他の意味もありますが、それは
WeeChat とは関係ありませんよ!)。

[[why_choose_weechat]]
=== WeeChat を選ぶ理由は何ですか? X-Chat や Irssi は最高なのに...

WeeChat は非常に軽く、革新的な機能を備えているからです。

こののページに関するより詳しい情報: https://weechat.org/about/features

[[compilation_install]]
== コンパイル / インストール

[[gui]]
=== WeeChat には多くの GUI があると聞きました。コンパイル/利用方法を教えてください。

いくつかのリモート GUI が利用可能です、機能のページに載っているリンクを参照してください:
https://weechat.org/about/features

[[compile_git]]
=== git リポジトリをクローンした後に WeeChat をコンパイルできません。

WeeChat をコンパイルするには cmake を使うことが推奨されています。

autotools を使って (cmake を使わずに) コンパイルする場合、最新の
autoconf と automake を使ってください。

他には「開発パッケージ」をインストール方法があります。この場合、インストールするのに必要なパッケージの数が減ります。このパッケージは
git リポジトリからほぼ毎日ビルドされます。このパッケージは厳密には
git ベースではなく、アップデートをインストールする場合には
git をクローンする方法よりも不便であることに注意してください。

[[compile_osx]]
=== どうすれば OS X に WeeChat をインストールできますか?

http://brew.sh/[Homebrew] を使うことをお勧めします、ヘルプを見るには:

----
brew info weechat
----

以下のコマンドで WeeChat をインストールします:

----
brew install weechat --with-aspell --with-curl --with-python --with-perl --with-ruby --with-lua --with-guile
----

[[lost]]
=== WeeChat を起動しました。でも何をすればいいかわかりません。

ヘルプを見るには、`/help` と入力してください。コマンドに関するヘルプを見るには、`/help command`
と入力してください。キーとコマンドはドキュメント内にリストアップされています。

新しいユーザはlink:weechat_quickstart.ja.html[クイックスタートガイド]を読むことをお勧めします

[[display]]
== 表示

[[charset]]
=== いくつかの文字が見えません。どうすれば良いですか。

これは良くある問題です。以下の内容をよく読んで、*全ての* 解決策をチェックしてください:

* weechat が libncursesw にリンクされていることの確認 (警告:
  全てではありませんが、ほとんどのディストリビューションで必要です): `ldd /path/to/weechat`
* `/plugin` コマンドで "charset" プラグインがロード済みであることの確認
  (ロードされていない場合、"weechat-plugins" パッケージが必要かもしれません)。
* `/charset` コマンドの出力を確認 (core バッファ上で)。端末の文字セットとして _ISO-XXXXXX_
  または _UTF-8_ があるはずです。その他の値がある場合は、ロケールが間違っている可能性があります。 +
  ロケールを修正するには、`locale -a` を使ってインストール済みのロケールを確認し、$LANG
  に適切な値を設定してください。これを行うには `export LANG=en_US.UTF-8` のようにします。
* グローバルデコードを設定、例えば:
  `/set charset.default.decode "ISO-8859-15"`
* UTF-8 ロケールを使っている場合は:
** 端末で UTF-8 が使えることを確認 (UTF-8 対応の端末としては
   rxvt-unicode を推奨)
** screen を使っている場合は、UTF-8 モードで起動されていることを確認
   (~/.screenrc に "`defutf8 on`" の記述があるかまたは `screen -U` のようにして起動)。
* _weechat.look.eat_newline_glitch_ オプションが off であることを確認してください
  (このオプションは表示上のバグを引き起こす可能性があります)

[NOTE]
WeeChat は UTF-8 ロケールを推奨します。ISO
またはその他のロケールを使う場合、*全ての* 設定 (端末、screen、..)
が ISO であり、UTF-8 *でない* ことを確認してください。

[[unicode_chars]]
=== 端末で表示されるユニコード文字が WeeChat では表示されない場合があります。なぜでしょうか。

この問題は libc の _wcwidth_ 関数のバグによって引き起こされている可能性があります。これは glibc 2.22
で修正されているはずです (使用中のディストリビューションではまだ提供されていないかもしれません)

次の回避方法を使えば、修正済みの _wcwidth_ 関数を使う事が可能です:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat

より詳しい情報を得るにはバグ報告を参照してください:
https://github.com/weechat/weechat/issues/79

[[bars_background]]
=== タイトルやステータスバー等の背景色が行末ではなくテキストの最後で終わってしまいます。

シェルの TERM 変数に間違った値が設定されている可能性があります
(端末で `echo $TERM` の出力を確認してください)。

WeeChat を起動した場所に依存しますが、以下の値を持つはずです:

* WeeChat を screen および tmux
  を使わずにローカルまたはリモートマシンで実行している場合、使用中の端末に依存します:
  _xterm_、_xterm-256color_、_rxvt-unicode_、_rxvt-256color_、...
* WeeChat を screen 内で実行している場合、_screen_ または _screen-256color_ です、
* WeeChat を tmux
  内で実行している場合、_tmux_、_tmux-256color_、_screen_、_screen-256color_ です。

もし必要であれば、TERM 変数を修正してください: `export TERM="xxx"`

[[screen_weird_chars]]
=== weechat を screen/tmux の中で使っている場合、おかしなランダム文字列が表示されます。どうすれば直りますか。

シェルの TERM 変数に間違った値が設定されている可能性があります
(端末、*screen/tmux の外* で `echo $TERM` の出力を確認してください)。

例えば、_xterm-color_ の場合、おかしな文字列が表示される可能性があります。_xterm_
と設定すればこのようなことは起こらないので (その他多くの値でも問題は起きません)、これを使ってください。

もし必要であれば、TERM 変数を修正してください: `export TERM="xxx"`

[[osx_display_broken]]
=== OS X 上で WeeChat をコンパイルした場合、"(null)" という文字列が至る所に表示されます。

ncursesw を自分でコンパイルした場合は、標準の (システムに元から存在する)
ncurses を使ってみてください。

さらに OS X では、Homebrew パッケージマネージャを使って
WeeChat をインストールすることをお勧めします。

[[buffer_vs_window]]
=== 「バッファ」と「ウィンドウ」の違いは何ですか。

_バッファ_ とは番号、名前、表示行 (とその他のデータ)
からなります。

_ウィンドウ_
とはバッファを表示する画面エリアです。画面を複数のウィンドウに分割出来ます。

それぞれのウィンドウは 1 つのバッファの内容を表示します。バッファを隠す
(ウィンドウで表示させない) ことや 1 つ以上のウィンドウに表示させることも出来ます。

[[buffers_list]]
=== どうすれば左側にバッファリストを表示できますか。

WeeChat バージョン 1.8 以上の場合、"buflist" プラグインがロードされ、デフォルトで有効化されます。

バージョン 1.8 よりも古い WeeChat をお使いなら、以下の方法で _buffers.pl_ スクリプトをインストールしてください:

----
/script install buffers.pl
----

バッファリストバーのサイズを制限するには以下の方法を使ってください
(_buffers.pl_ スクリプトを使っているなら、"buflist" を "buffers" に置き換えてください):

----
/set weechat.bar.buflist.size_max 15
----

バッファリストバーの位置を下に移動するには以下の方法を使ってください:

----
/set weechat.bar.buflist.position bottom
----

_buflist_ バーをスクロールする方法: マウスを有効化しているならば
(キー: kbd:[Alt+m])、マウスホイールでバッファリストバーをスクロールできます。

_buflist_ バーをスクロールするデフォルトキーは
kbd:[F1]、kbd:[F2]、kbd:[Alt+F1]、kbd:[Alt+F2] です。

_buffers.pl_
スクリプトをお使いの場合、ニックネームリストをスクロールするキーと似たキーを割り当てることも可能です。 +
例えば、kbd:[F1]、kbd:[F2]、kbd:[Alt+F1]、kbd:[Alt+F2] を割り当てるには以下の方法を使います:

----
/key bind meta-OP /bar scroll buffers * -100%
/key bind meta-OQ /bar scroll buffers * +100%
/key bind meta-meta-OP /bar scroll buffers * b
/key bind meta-meta-OQ /bar scroll buffers * e
----

[NOTE]
"meta-OP" と "meta-OQ" キーは端末によって異なります。キーコードを見つけるには
kbd:[Alt+k] の後にキーを押してください。

[[customize_prefix]]
=== どうすればチャットエリア内のニックネームの最大長さを短く、またはニックネーム整列機能を無効化できますか。

チャットエリアのニックネームの最大長を短くするには:

----
/set weechat.look.prefix_align_max 15
----

ニックネーム整列を抑制するには:

----
/set weechat.look.prefix_align none
----

[[status_hotlist]]
=== ステータスバーに表示される [H: 3(1,8), 2(4)] の意味を教えてください。

これは「ホットリスト」と呼ばれ、ここにはバッファ番号およびそのバッファの未読メッセージカウンタが表示されます。未読メッセージカウンタの表示順はハイライト、プライベートメッセージ、一般メッセージ、その他のメッセージ
(参加/退出メッセージなど)
の順です。 +
バッファの「未読メッセージ」とは、最後にそのバッファにフォーカスが移された以降に表示されたり受信した新しいメッセージを意味します。

上記の例 `[H: 3(1,8), 2(4)]` の場合:

* バッファ 3 番にハイライトが 1 通、未読が 8 通あり、
* バッファ 2 番に未読が 4 通あることを意味します。

バッファおよびカウンタのテキスト色はメッセージの種類を意味します。色のデフォルト設定は以下です:

* ハイライト: `lightmagenta` および `magenta`
* プライベートメッセージ: `lightgreen` および `green`
* 一般メッセージ: `yellow` および `brown`
* その他のメッセージ: `default` および `default` (端末のテキスト色)

これらの色を変えるには、__weechat.color.status_data_*__ オプション (バッファ)
および __weechat.color.status_count_*__ オプション (カウンタ) を設定します。 +
その他のホットリスト関連オプションは __weechat.look.hotlist_*__ オプションを使って変更します。

ホットリストに関する詳しい情報はlink:weechat_user.ja.html#screen_layout[ユーザーズガイド / 画面レイアウト]を参照してください

[[input_bar_size]]
=== コマンドラインの行数を増やすにはどうすればいいですか。

インプットバーの _size_ オプションには 1 (サイズ固定、デフォルト値)
以上の値または動的なサイズの意味で 0 を設定できます。_size_max_
オプションではサイズの最大値を設定できます (0 = 制限なし)。

動的サイズを設定する例:

----
/set weechat.bar.input.size 0
----

サイズの最大値を 2 に設定:

----
/set weechat.bar.input.size_max 2
----

[[one_input_root_bar]]
=== 全てのウィンドウに対して入力バーの数を 1 つだけにすることができますか (画面分割されている場合)。

できます。"root" 型のバー (あなたのいるウィンドウを区別するための要素を持つ)
を作成し、現在の入力バーを削除してください。

例えば:

----
/bar add rootinput root bottom 1 0 [buffer_name]+[input_prompt]+(away),[input_search],[input_paste],input_text
/bar del input
----

これに満足できない場合は、新しいバーを削除してください。全てのバーに
"input_text" 要素が設定されていない場合は
WeeChat は自動的にデフォルトバー "input" を作成します:

----
/bar del rootinput
----

[[terminal_copy_paste]]
=== どうすればニックネームリストを選択せずにテキストだけをコピー/ペーストできますか。

WeeChat バージョン 1.0 以上の場合、最小限表示を使うことができます (デフォルトキー: kbd:[Alt+l])。

矩形選択のできる端末を使ってください
(rxvt-unicode、konsole、gnome-terminal、...)。通常、キーは
kbd:[Ctrl] + kbd:[Alt] + マウス選択です。

別の解決策はニックネームリストを上か下かに移動することです、例えば:

----
/set weechat.bar.nicklist.position top
----

[[urls]]
=== どうすれば長い (一行以上に渡る) URL をクリックできますか。

WeeChat バージョン 1.0 以上の場合、最小限表示を使うことができます (デフォルトキー: kbd:[Alt+l])。

URL を簡単にクリックできるようにするには、以下を試してみてください:

* ニックネームリストを上方に移動します:

----
/set weechat.bar.nicklist.position top
----

* 複数行に渡る単語の整列を無効化します (WeeChat バージョン 1.7 以上の場合):

----
/set weechat.look.align_multiline_words off
----

* もしくは、すべての折り返された行について整列を無効化します:

----
/set weechat.look.align_end_of_lines time
----

WeeChat バージョン 0.3.6 以上の場合、"eat_newline_glitch"
オプションを有効化できます。これを有効化すると、表示行の行末に改行文字が入らなくなります
(url 選択を邪魔しません)。

----
/set weechat.look.eat_newline_glitch on
----

[IMPORTANT]
このオプションには表示上の問題を引き起こす可能性があります。表示上の問題が起きた場合はこのオプションを無効化してください。

別の解決策として、スクリプトを利用することもできます:

----
/script search url
----

[[change_locale_without_quit]]
=== WeeChat が出力するメッセージの言語を、再起動せずに変更したいです。このようなことは可能ですか。

WeeChat バージョン 1.0 以上の場合、再起動せずに変更できます:

----
/set env LANG ja_JP.UTF-8
/upgrade
----

古い WeeChat をお使いの場合は:

----
/script install shell.py
/shell setenv LANG=ja_JP.UTF-8
/upgrade
----

[[use_256_colors]]
=== どうすれば WeeChat で 256 色が使えますか。

WeeChat バージョン 0.3.4 以上の場合、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 つのコマンドを使って変数の値を変更してください (WeeChat バージョン 1.0 以上で利用可):

----
/set env TERM screen-256color
/upgrade
----

WeeChat バージョン 0.3.4 の場合、新しい色を追加するには `/color` コマンドを使ってください。

WeeChat バージョン 0.3.5 以上の場合、任意の色番号を利用できます (オプション:
色の別名を追加するには `/color` コマンドを使ってください)。

色管理に関するより詳しい情報はlink:weechat_user.ja.html#colors[ユーザーズガイド / 色]を参照してください

[[search_text]]
=== どうすればバッファ内の文字列を検索できますか (irssi の /lastlog の様に)。

デフォルトのキーは kbd:[Ctrl+r] です (コマンドは: `/input search_text_here`)。
ハイライト部分へのジャンプは: kbd:[Alt+p] / kbd:[Alt+n]

この機能に関するより詳しい情報はlink:weechat_user.ja.html#key_bindings[ユーザーズガイド / デフォルトのキー割り当て]を参照してください

[[terminal_focus]]
=== どうすれば端末にフォーカスが合った時や外れた時にコマンドを実行できますか。

端末に特殊コードを送信してフォーカスイベントを必ず有効化してください。

*重要*:

* 現時点では、_xterm_ を除いてこの機能をサポートする端末は *存在しない* ようです。
* screen および tmux ではこの機能を *使うことができません*。

WeeChat の開始時にコードを送信するには:

----
/set weechat.startup.command_after_plugins "/print -stdout \033[?1004h\n"
----

さらに端末から送信される 2 種類の特殊キーシーケンスに対してコマンドを割り当ててください
(例に挙げた `/print` コマンドは適当なコマンドに書き換えてください):

----
/key bind meta2-I /print -core focus
/key bind meta2-O /print -core unfocus
----

[[screen_paste]]
=== WeeChat を screen の内部で実行している場合、別の screen ウィンドウ内にペーストされるテキストの周りに ~0 と ~1 が追加されます。なぜでしょうか。

scrreen
がデフォルトで有効化されている括弧付きペーストオプションの挙動を別のウィンドウ内で適切に処理できないことが原因です。

括弧付きペーストモードを無効化するには以下のコマンドを使います:

----
/set weechat.look.paste_bracketed off
----

[[key_bindings]]
== キー割り当て

[[meta_keys]]
=== いくつかのメタキーが (alt + key) が動きません。

xterm や uxterm 等の端末を利用している場合、いくつかのメタキーはデフォルトでは利用できません。以下の行を
_~/.Xresources_ に追加してください:

* xterm の場合:
----
XTerm*metaSendsEscape: true
----
* uxterm の場合:
----
UXTerm*metaSendsEscape: true
----

このファイルをリロードするか (`xrdb -override ~/.Xresources`) または X を再起動してください。

[[customize_key_bindings]]
=== どうすればキー割り当てをカスタマイズできますか。

キー割り当ては `/key` コマンドでカスタマイズできます。

デフォルトキー kbd:[Alt+k] でキーコードを取り込み、これをコマンドラインに入力できます。

[[jump_to_buffer_11_or_higher]]
=== バッファ 11 番 (またはそれ以上の番号) にジャンプするキーは何ですか。

キー kbd:[Alt+j] の後に 2 桁の数字を入力します、例えば kbd:[Alt+j]
その後に kbd:[1]、kbd:[1] でバッファ 11 番にジャンプします。

これにキーを割り当てることが出来ます、例えば:

----
/key bind meta-q /buffer *11
----

デフォルトキー割り当てのリストはlink:weechat_user.ja.html#key_bindings[ユーザーズガイド / デフォルトのキー割り当て]を参照してください

[[global_history]]
=== どうすればグローバルヒストリを (バッファヒストリの代わりに) 上下矢印キーで使えますか。

上下矢印キーをグローバルヒストリに割り当ててください
(グローバルヒストリに対するデフォルトのキーは kbd:[Ctrl+↑] と kbd:[Ctrl+↓] です。

例:

----
/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
----

[NOTE]
"meta2-A" と "meta2-B" キーは端末によって異なります。キーコードを見つけるには
kbd:[Alt+k] の後にキー を押してください。

[[mouse]]
== マウス

[[mouse_not_working]]
=== マウスが少しも動きません。どうすれば良いですか。

マウスのサポートは WeeChat 0.3.6 以上からです。

最初にマウスを有効化してください:

----
/mouse enable
----

これでマウスが動かない場合は、シェルの TERM
変数を確認してください (端末内で `echo $TERM`
の出力を見てください)。端末の種類によってはマウスがサポートされていない可能性があります。

マウスサポートを端末から確認するには:

----
$ printf '\033[?1002h'
----

端末の最初の文字 (左上) をクリックしてください。" !!#!!" と見えるはずです。

端末のマウスサポートを無効化するには:

----
$ printf '\033[?1002l'
----

[[mouse_coords]]
=== マウスの位置座標 X または Y が 94 (または 222) よりも大きい場合にマウス機能が正しく動きません。

一部の端末ではマウスの位置座標を指定するために ISO 文字だけを使います、
このため X/Y が 94 (または 222) よりも大きい場合は正しく動きません。

マウスの位置座標を指定するのに UTF-8 座標をサポートしている端末を使ってください、
例えば rxvt-unicode 等です。

[[mouse_select_paste]]
=== WeeChat でマウスが利用可能な場合、端末のテキストを選択したり、ペーストするにはどうすれば良いですか。

WeeChat でマウスが利用可能な場合、kbd:[Shift]
キーを押しながら端末をクリックして選択してください、マウスが無効化されます
(例えば iTerm 等の場合、kbd:[Shift] の代わりに kbd:[Alt] を使ってください)。

[[irc]]
== IRC

[[irc_ssl_connection]]
=== SSL を使うサーバへの接続中に問題が発生しました。どうすればいいですか。

Mac OS X をお使いの場合、必ず Homebrew から `openssl`
をインストールしてください。こうすることでシステムの鍵束に含まれる証明書を使いつつ、CA
ファイルを起動時に読み込ませることが可能になります。その後、WeeChat で証明書へのパスを設定してください:

----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----

gnutls ハンドシェイクに関するエラーの場合、Diffie-Hellman キー
(デフォルトは 2048) のサイズを小さくすることを試してみてください:

----
/set irc.server.example.ssl_dhkey_size 1024
----

証明書に関するエラーの場合、"ssl_verify" を無効化してください
(接続の機密保護がより甘くなることに注意):

----
/set irc.server.example.ssl_verify off
----

サーバが不正な証明書を持っており、正常な証明書がどのようなものであるかわかっている場合、証明書の指紋を設定しておくことが可能です
(SHA-512、SHA-256、SHA-1):

----
/set irc.server.example.ssl_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
----

[[irc_ssl_handshake_error]]
=== SSL を使うサーバへの接続中に、"TLS handshake failed" というエラーだけが表示されます。どうすれば良いですか。

異なる優先順位文字列を試してみてください
(WeeChat 0.3.5 以上)、"xxx" はサーバ名に書き換えてください。

----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----

[[irc_ssl_freenode]]
=== どうすれば SSL を使って freenode サーバに接続できますか。

オプション _weechat.network.gnutls_ca_file_ に証明書ファイルへのパスを設定してください。

----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----

注意: OS X 上で homebrew を使って openssl をインストールした場合には、以下のコマンドを実行してください:

----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----

[NOTE]
設定したファイルが自分のシステムに存在することを確認してください
(一般に "ca-certificates" パッケージで提供されます)。

サーバポート、SSL を設定の後に接続してください:

----
/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on
/connect freenode
----

[[irc_oauth]]
=== どうすれば "oauth" が必要なサーバに接続出来ますか?

_twitch_ などの一部のサーバは接続するために oauth が必要です。

oauth を使うにはパスワードを "oauth:XXXX" のように指定してください。

以下のコマンドを使って、この種のサーバを追加し接続することが可能です
(サーバ名とアドレスは適切な値を使ってください):

----
/server add name irc.server.org -password=oauth:XXXX
/connect name
----

[[irc_sasl]]
=== どうすればチャンネル参加前にニックネーム認証を行うことができますか。

サーバで SASL を利用可能なら、nickserv 認証のコマンドを送信するよりも
SASL を利用する方が良いです。例えば:

----
/set irc.server.freenode.sasl_username "mynick"
/set irc.server.freenode.sasl_password "xxxxxxx"
----

If server does not support SASL, you can add a delay (between command and join
of channels):

----
/set irc.server.freenode.command_delay 5
----

[[ignore_vs_filter]]
=== /ignore と /filter コマンドの違いは何ですか。

`/ignore` コマンドは IRC コマンドです、このため
IRC バッファ (サーバとチャンネル)
にのみ有効です。これを使うことでニックネームやホスト名を基準にして、あるサーバやチャンネルにいる一部のユーザを無視できます
(表示済みメッセージに対しては適用されません)。マッチするメッセージは
IRC プラグインによって表示される前に削除されます
(削除されたメッセージは見えません)。

`/filter`
コマンドは core
コマンドです、このため任意のバッファに対してこれを有効化できます。バッファ内の行のプレフィックスと内容に対して付けられたタグや正規表現にマッチする行をフィルタできます。フィルタされた行は隠されているだけで、削除はされていません、フィルタを無効化すれば見えるようになります
(デフォルトでは kbd:[Alt+=]
でフィルタの有効無効の切り替えが出来ます)。

[[filter_irc_join_part_quit]]
=== どうすれば IRC チャンネルへの参加/退出/終了メッセージをフィルタできますか。

スマートフィルタを使う場合 (最近発言したユーザの参加/退出/終了メッセージは表示):

----
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
----

グローバルフィルタを使う場合 (*全ての* 参加/退出/終了メッセージを隠す):

----
/filter add joinquit * irc_join,irc_part,irc_quit *
----

[NOTE]
ヘルプを見るには: `/help filter` か `/help irc.look.smart_filter`

[[filter_irc_join_channel_messages]]
=== どうすれば IRC チャンネルに参加した際に表示される一部のメッセージをフィルタできますか。

WeeChat バージョン 0.4.1 以上の場合、_irc.look.display_join_message_
オプションを使って、チャンネル参加時に表示するメッセージの種類を選択できます
(より詳しい情報は `/help irc.look.display_join_message` を参照)。

メッセージを隠す (ただしバッファに残す) には、タグを使ってメッセージをフィルタしてください
(たとえばチャンネル作成日時を隠すには _irc_329_ タグを使ってください)。フィルタの書き方に関する情報は
`/help filter` を参照してください。

[[filter_voice_messages]]
=== どうすれば voice メッセージをフィルタできますか (例えば Bitlbee サーバ上で)。

voice メッセージをフィルタするのは簡単ではありません、なぜなら voice
モードの設定は同じ IRC メッセージの中で他のモード設定と同時に行われる可能性があるからです。

Bitlbee は離席ユーザを表示するために voice を利用します。このため、voice
メッセージでチャットエリアが溢れてしまいます。おそらくこれをフィルタしたいのではないでしょうか。この様な場合には、Bitlbee
が離席状態を通知することを禁止し、WeeChat にニックネームリスト中に含まれる離席中のニックネームに対して特別な色を使わせることができます。

Bitlbee 3 以上の場合、以下のコマンドをチャンネル _&bitlbee_ で入力:

----
channel set show_users online,away
----

Bitlbee の古いバージョンでは、以下のコマンドを _&bitlbee_ で入力:

----
set away_devoice false
----

WeeChat
で離席中のニックネームをチェックするには、<<color_away_nicks,離席状態のニックネーム>>に関する質問を参照してください。

もし本当に voice メッセージをフィルタしたい場合は、以下のコマンドを使ってください、ただしこれは完璧なものではありません
(voice モードの変更が最初に指定されている場合のみ有効)。

----
/filter add hidevoices * irc_mode (\+|\-)v
----

[[color_away_nicks]]
=== どうすればニックネームリストから離席中のニックネームを確認できますか。

オプション _irc.server_default.away_check_ に正の値を設定してください
(離席状態確認のインターバルを分単位で)。

オプション _irc.server_default.away_check_max_nicks_
を設定することで離席状態確認を小さなチャンネルのみに制限できます。

例えば、5 分間隔で離席状態確認を行い、25
人より多いチャンネルではこれを行わないようにするには:

----
/set irc.server_default.away_check 5
/set irc.server_default.away_check_max_nicks 25
----

[NOTE]
WeeChat 0.3.3 以下では、オプション名が _irc.network.away_check_ と
_irc.network.away_check_max_nicks_ になっています。

[[highlight_notification]]
=== どうすればあるチャンネルで自分が呼ばれたら警告できますか。

WeeChat バージョン 1.0 以上の場合、デフォルトトリガ "beep"
が設定されています。これはハイライトまたはプライベートメッセージを受け取った際に
_BEL_ を端末に送信します。このため、端末 (または screen/tmux などのマルチプレクサ)
を設定して、_BEL_ が発生した際にコマンドを実行させたり音を再生させることができます。

もしくは "beep" トリガにコマンドを追加することもできます:

----
/set trigger.trigger.beep.command "/print -beep;/exec -bg /path/to/command arguments"
----

古い WeeChat をお使いの場合、_beep.pl_ や _launcher.pl_ 等のスクリプトを使ってください。

_launcher.pl_ の場合、コマンドの設定が必要です:

----
/set plugins.var.perl.launcher.signal.weechat_highlight "/path/to/command arguments"
----

この問題に対するその他のスクリプトは:

----
/script search notify
----

[[irc_target_buffer]]
=== どうすればマージされたバッファ内であるコマンドを発行するターゲットバッファを変更できますか。

デフォルトのキーは kbd:[Ctrl+x] です (コマンドは: `/input switch_active_buffer`)。

[[plugins_scripts]]
== プラグイン / スクリプト

[[openbsd_plugins]]
=== OpenBSD と WeeChat を使っている場合、プラグインが 1 つもロードされません。

OpenBSD では、プラグインファイル名の末尾が ".so.0.0" です (Linux では ".so")。

以下の様に設定してください:

----
/set weechat.plugin.extension ".so.0.0"
/plugin autoload
----

[[install_scripts]]
=== どうすればスクリプトをインストールできますか。スクリプトは他の IRC クライアントと互換性がありますか。

スクリプトをインストールしたり管理するにはコマンド `/script` を使ってください
(ヘルプは `/help script` で見ることができます)。

スクリプトは他の IRC クライアントのものと互換性がありません。

[[settings]]
== 設定

[[editing_config_files]]
=== 手作業で設定ファイル (*.conf) を編集することは可能ですか。

可能ですが、*非推奨* です。

その代わり WeeChat 内でコマンド `/set` を使うことを推奨します。その理由は:

* kbd:[Tab] キー を使ってオプションの名前と値を補完できるからです (さらに
  kbd:[Shift+Tab] キーを使えばオプション名の補完に役立つ部分補完もできるからです)
* 設定しようとした値は検証され、値に問題があった場合にはメッセージが表示されるからです
* 設定した値はすぐに反映され、再起動の必要もないからです

それでもなお手作業で設定ファイルを編集したいなら、以下の点に注意してください:

* あるオプションに対して不正な値を設定した場合、WeeChat
  は設定ファイルのロード時にエラーを表示し、その値を破棄します (そのオプションのデフォルト値が使われます)
* WeeChat が実行中の場合には、必ずコマンド `/reload` を実行してください。設定が変更されその変更をコマンド
  `/save` で保存していなかった場合、これらの設定の変更内容は破棄されます

[[memory_usage]]
=== どうすれば WeeChat のメモリ使用量を節約できますか。

メモリ使用量を減らすには以下のヒントを試してください:

* 最新の安定版を使う
  (古いバージョンよりもメモリリークの可能性が減ると思われます)
* 使わないプラグインのロードを禁止する、例えば:
  aspell、buflist、fifo、logger、perl、python、ruby、lua、tcl、guile、javascript、php、xfer (DCC で使用)
* 本当に必要なスクリプトだけをロード
* SSL を *使わない* なら、証明書を読み込まないでください: オプション
  _weechat.network.gnutls_ca_file_ に空文字列を設定してください。
* _weechat.history.max_buffer_lines_number_
  オプションの値を減らすか、_weechat.history.max_buffer_lines_minutes_ オプションに値を設定してください。
* _weechat.history.max_commands_ オプションの値を減らしてください。

[[cpu_usage]]
=== どうすれば WeeChat の CPU 負荷を低減できますか?

以下に挙げる <<memory_usage,memory>> に関するヒントに従ってください:

* "nicklist" バーを非表示にする: `/bar hide nicklist`
* ステータスバー時間に秒の表示を止める:
  `/set weechat.look.item_time_format "%H:%M"` (これはデフォルト値です)
* コマンドライン内の単語スペルミスのリアルタイムチェックを無効にする (有効にしていた場合):
  `/set aspell.check.real_time off`
* _TZ_ 変数を設定する (例: `export TZ="Europe/Paris"`)、こうすることで
  _/etc/localtime_ ファイルへ頻繁にアクセスしないようになります。

[[security]]
=== セキュリティを気にしています。セキュリティを高めるためにはどの設定を変更すればよいですか?

IRC の退出および終了メッセージを無効化します:

----
/set irc.server_default.msg_part ""
/set irc.server_default.msg_quit ""
----

すべての CTCP クエリに対する応答を無効化します:

----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----

"xfer" プラグイン (これは IRC DCC 機能を使うためのものです) をアンロードして自動ロードを無効化します:

----
/plugin unload xfer
/set weechat.plugin.autoload "*,!xfer"
----

パスフレーズを定義してパスワードなどの保護したいデータの使用時は常にセキュアデータを使います:
`/help secure` およびセキュアデータを使用したいオプションの `/help` を参照してください
(セキュアデータを使うことが可能なオプションのヘルプにはこの点が明記されています)。

例:

----
/secure passphrase xxxxxxxxxx
/secure set freenode_username username
/secure set freenode_password xxxxxxxx
/set irc.server.freenode.sasl_username "${sec.data.freenode_username}"
/set irc.server.freenode.sasl_password "${sec.data.freenode_password}"
----

[[development]]
== 開発

[[bug_task_patch]]
=== どのようにバグ報告、新機能のリクエスト、パッチ送信すればよいですか。

以下のページを参照してください: https://weechat.org/dev/support

[[gdb_error_threads]]
=== gdb で WeeChat を実行する場合、スレッドに関するエラーが発生します。

gdb で WeeChat を実行する場合、以下のエラーが出るかもしれません:

----
$ gdb /path/to/weechat
(gdb) run
[Thread debugging using libthread_db enabled]
Cannot find new threads: generic error
----

これを修正するには、以下のコマンドを使って gdb を実行してください
(システム上の libpthread と WeeChat へのパスを変更):

----
$ LD_PRELOAD=/lib/libpthread.so.0 gdb /path/to/weechat
(gdb) run
----

[[supported_os]]
=== WeeChat をサポートするプラットフォームのリストを教えてください。他のオペレーティングシステムへの移植予定はありますか。

完全なリストはこのページにあります: https://weechat.org/download

我々は可能な限り多くのプラットフォームに移植することに最善を尽くしています。我々が持っていない
OS で WeeChat をテストすることを歓迎します。

[[help_developers]]
=== どうすれば WeeChat 開発者を手伝えますか。

多くの課題があります (テスト、コード、ドキュメント作成、...)。

IRC かメールで連絡を取り、サポートページを確認してください:
https://weechat.org/dev/support

[[donate]]
=== WeeChat 開発者にお金か何かを贈りたいのですが。

開発補助のためお金を贈ることができます。詳しいことは
https://weechat.org/about/donate に載っています。