-
Notifications
You must be signed in to change notification settings - Fork 235
/
settingshelp.pl
1976 lines (1285 loc) · 73.1 KB
/
settingshelp.pl
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
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
use strict;
use warnings;
use Irssi;
our $VERSION = '1.4.1'; # 1e49c1df6916d1b
our %IRSSI = (
authors => 'Rocco Caputo (dngor), Nei',
name => 'settingshelp',
description => "Irssi settings notes and documentation",
license => 'CC BY-SA 2.5, http://creativecommons.org/licenses/by-sa/2.5/',
);
# Usage
# =====
# Now you can do:
#
# /help set setting_here
#
# to print out its documentation (as far as it was documented)
my %help;
{
my $res = load_help();
my @res = split "\n", $res if defined $res;
while (@res) {
my @info;
my $soon = 0;
my $setting;
my $val;
my $old_setting;
my $old_val;
while (defined(my $line = shift @res)) {
if ($line =~ /^\((\w+)\)=/i) {
if (@info) {
unshift @res, $line;
last;
}
$old_setting = $setting;
$soon = 1;
$setting = $1;
}
elsif ($soon == 1 && $line =~ /^(?:` (.*) `|`(.*)` \*\*`(.*)`\*\*)$/) {
$old_val = $val;
$val = defined $1 ? $1 : "$2 = $3";
$soon++;
}
elsif ($soon == 2 && $line =~ /^\s*$/) {
# skip
$soon++;
}
elsif ($soon && $line =~ /^([: ]|$)/) {
next if $line =~ /^:?\s+$/;
next if $line =~ /^:?\s+!/;
next if $line =~ /^:?\s+```/;
$line =~ s/^[: ]\s?//;
push @info, $line;
}
elsif (@info) {
unshift @res, $line;
last;
}
}
unshift @info, $val if defined $val;
s/`//g for @info;
s/\\\\/\\/g for @info;
pop @info if @info && !length $info[-1];
if (@info) {
if ($old_val && $old_setting) {
my $sep =($old_val =~ s/^\Q$old_setting\E\s+=(\s+|\s*$)//i) ? '' : ':';
my $clr = !$sep && !$old_val ? '-clear ' : '';
my @info2 = ("/set $clr\cB\L$old_setting\E\cB$sep ".($old_val),'',
" see /help set \cB\L$setting\E\cB",'');
s/%/%%/g for @info2;
s/^(\s+)/$1%|/gm for @info2;
push @{$help{"settings/$old_setting"}}, @info2;
}
my $sep =($info[0] =~ s/^\Q$setting\E\s+=(\s+|\s*$)//i) ? '' : ':';
my $clr = !$sep && !length $info[0] ? '-clear ' : '';
my @info2 = ("/set $clr\cB\L$setting\E\cB$sep ".(shift @info),'',(map {" $_"} @info),'');
s/%/%%/g for @info2;
s/^(\s+)/$1%|/gm for @info2;
for (@info2) {
if (s/%\|\| (.*) \|$/$1/) {
s/ \| / | %|/g;
s/\\([\|]\S+)/$1 /g;
s/\s+$//;
}
}
push @{$help{"settings/$setting"}}, @info2;
}
}
}
print CLIENTCRAP '%U%_Irssi Settings documentation licence%: ' . $IRSSI{license};
print CLIENTCRAP '%:You can now read help for settings with %_/HELP SET settingname%_';
Irssi::signal_add_first(
'command help' => sub {
if ($_[0] =~ s|^set\s+|settings/|i && $_[0] ne 'settings/' && ($_[0]="\L$_[0]")
&& $_[0] =~ /^(.*?)(?:\s+|$)/ && exists $help{$1}) {
print CLIENTCRAP join "\n", '', '%_Setting:%_%:', @{$help{$1}};
Irssi::signal_stop;
}
}
);
Irssi::signal_register({'complete command ' => [qw[glistptr_char* Irssi::UI::Window string string intptr]]});
Irssi::signal_add_last(
"complete command help" => sub {
my ($cl, $win, $word, $start, $ws) = @_;
if (lc $start eq 'set') {
&Irssi::signal_continue;
Irssi::signal_emit('complete command set', $cl, $win, $word, '', $ws);
}
}
);
sub load_help { <<'__HELP__'; }
# Settings Documentation
Irssi settings notes. Updated for 1.4.0
This is not an attempt to document Irssi completely. It should be used along with the documents at [Documentation](/) for more complete understanding of how Irssi works. For example, the startup HOWTO and tips/tricks show sample uses for these settings, including some very useful stuff.
See the [appendix](#a-credits) for credits and license information of this document.
## [completion]
(completion_auto)=
`completion_auto` **`OFF`**
: Tell Irssi to detect incomplete nicknames in your input and look up their completions automatically. Incomplete nicknames are detected when you input text that matches /^(\S+)${completion_character}/. For example:
vis: hello
will be expanded to
visitors: hello
when you press enter. So will:
vis:hello
Vis::Hello(12);
This will eventually bite you.
(completion_char)=
`completion_char` **`:`**
: The text that Irssi puts after a tab-completed nickname, or that it uses to detect nicknames when you have completion_auto turned on. Some people alter this to colorize the completion character, creating the oft-dreaded bold colon.
(completion_empty_line)=
`completion_empty_line` **`ON`**
: When this setting is OFF, tab completion will be disabled when the input line is empty. Disabling it is useful when pasting text that starts with a tab character, since that normally results in a /msg to a recent target.
Added in Irssi 1.0.0
(completion_keep_word)=
`completion_keep_word` **`ON`**
: Whether to keep the original word that was completed, in the list of completions. This way, you can "undo" accidential completions more easily with Shift-Tab.
Added in Irssi 1.2.0
(completion_keep_privates)=
`completion_keep_privates` **`10`**
: Irssi keeps a list of nicknames from private messages (sent and received) to search during nick completion. This setting determines how many nicknames are held.
(completion_keep_publics)=
`completion_keep_publics` **`50`**
: Irssi keeps a list of nicknames from public messages (sent and received) to search during nick completion. This setting determines how many nicknames are held.
(completion_nicks_lowercase)=
`completion_nicks_lowercase` **`OFF`**
: When enabled, Irssi forces completed nicknames to lowercase. Manually typed nicknames retain their case.
(completion_strict)=
`completion_strict` **`OFF`**
: When on, nicknames are matched strictly. That is, the partial nickname you enter must be at the beginning of a nickname in one of Irssi's lists.
When off, Irssi will first try a strict match. If a strict match can't be found, Irssi will look for nicknames that match when their leading non-alphanumeric characters are removed. For example:
vis: hello
With strict completion on, it will only match nicknames beginning with vis. With strict completion off, it may match visitors or _visitors_ or [visitors], and so on.
(completion_nicks_match_case)=
`completion_nicks_match_case` **`auto`**
: Whether to enforce the case of the letters you typed while completing nicks. Accepted values:
`never`
: ignore the case of nicks when completing.
`always`
: nicks are only completed when the case matches.
`auto` (default)
: as soon as you type an uppercase letter, the nick case has to match.
Added in Irssi 1.0.0
## [dcc]
(dcc_autoaccept_lowports)=
`dcc_autoaccept_lowports` **`OFF`**
: When this setting is OFF, Irssi will not auto-accept DCC requests from privileged ports (those below 1024) even when auto-accept is otherwise on.
(dcc_autochat_masks)=
`dcc_autochat_masks` **` `**
: Set dcc_autochat_masks with user masks to auto-accept chat requests from. When unset, Irssi's auto-accept settings work for everyone who tries to DCC chat you. The drawbacks can range from annoying through downright dangerous. Use auto-accept with care.
(dcc_autoget)=
`dcc_autoget` **`OFF`**
: Turn DCC auto-get on or off. When on, Irssi will attempt to auto-get files sent to you.
This feature can be abused, so it is usually off by default. If you enable it, consider also setting dcc_autoget_masks and dcc_autoget_max_size to make this feature more secure.
(dcc_autoget_masks)=
`dcc_autoget_masks` **` `**
: Set dcc_autoget_masks with user masks to automatically accept files sent to you via DCC. When unset, Irssi's auto-get settings will work for everyone who attempts to send you files.
This setting is only significant if dcc_autoget is ON.
(dcc_autoget_max_size)=
`dcc_autoget_max_size` **`0k`**
: Set to nonzero to limit the size of files that Irssi will auto-get.
Note: Because of the way DCC works, someone may advertise a file at once size but try to send you something larger. According to src/irc/dcc/dcc-autoget.c, this only filters the request based on the advertised size.
This setting is only significant if dcc_autoget is ON.
(dcc_autorename)=
`dcc_autorename` **`OFF`**
: Turn on this setting to automatically rename received files so they don't overwrite existing files.
I think this setting may thwart dcc_autoresume, since the auto-resume feature looks for existing filenames when resuming. Auto-renaming downloads makes sure that filenames never conflict, so resuming is not possible.
(dcc_autoresume)=
`dcc_autoresume` **`OFF`**
: When on, dcc_autoresume will cause Irssi to look for existing files with the same name as a new DCC transfer. If a file already exists by that name, Irssi will try to resume the transfer by appending any new data to the existing file.
I think this option clashes with dcc_autorename. See dcc_autorename for more information.
Dcc_autoresume is ignored if dcc_autoget is off.
(dcc_download_path)=
`dcc_download_path` **`~`**
: The path to a directory where Irssi will store DCC downloads.
(dcc_file_create_mode)=
`dcc_file_create_mode` **`644`**
: The mode in which new files are created.
> 644 is read/write by you, and readable by everybody else.
>
> 600 is read/write by you, nobody else can read or write.
(dcc_mirc_ctcp)=
`dcc_mirc_ctcp` **`OFF`**
: Tells Irssi to send CTCP messages that are compatible with mIRC clients. This lets you use /me actions in DCC chats with mIRC users, among other things.
(dcc_own_ip)=
`dcc_own_ip` **` `**
: Set dcc_own_ip to force Irssi to always send DCC requests from a particular virtual host (vhost). Irssi will always bind sockets to this address when answering DCC requests. Otherwise Irssi will determine your IP address on its own.
(dcc_port)=
`dcc_port` **`0`**
: The smallest port number that Irssi will use when initiating DCC requests. Irssi picks a port at random when this is set to zero.
dcc_port can be two ports, separated by a space. In that case, Irssi will pick a port between the two numbers, inclusively. For example:
/set dcc_port 10000 20000
(dcc_send_replace_space_with_underscore)=
`dcc_send_replace_space_with_underscore` **`OFF`**
: When enabled, Irssi will replace spaces with underscores in the names of files you send. It should only be necessary when sending files to clients that don't support quoted filenames, or if you hate spaces in filenames.
(dcc_timeout)=
`dcc_timeout` **`5min`**
: How long to keep track of pending DCC requests. Requests that do not receive responses within this time will be automatically canceled.
(dcc_upload_path)=
`dcc_upload_path` **`~`**
: The path where you keep public files available to send via DCC.
## [flood]
(autoignore_time)=
`autoignore_time` **`5min`**
: Irssi can auto-ignore people who are flooding. autoignore_time sets the amount of time to keep someone ignored. Irssi will automatically unignore them after this period of time has elapsed.
(autoignore_level)=
`autoignore_level` **` `**
: The type or types of messages that will trigger auto-ignore.
(flood_max_msgs)=
`flood_max_msgs` **`4`**
(flood_timecheck)=
`flood_timecheck` **`8`**
: Irssi will treat text as flooding if more than flood_max_msgs messages are received during flood_timecheck seconds. In the case above, five or more messages matching autoignore_level over the course of eight seconds will trigger flood protection. See autoignore_time to set the amount of time someone will remain ignored if it's determined that they're flooding.
(cmds_max_at_once)=
`cmds_max_at_once` **`5`**
: How many commands you can send immediately before server-side flood protection starts.
IRC servers also perform flood checking, and they will gleefully disconnect you if you are abusing them. The cmds_max_at_once setting lets Irssi know how many rapid messages it can get away with while remaining under the IRC server's radar.
(cmd_queue_speed)=
`cmd_queue_speed` **`2200msec`**
: The time to wait between sending commands to an IRC server. Used to prevent Irssi from flooding you off if you must auto-kick/ban lots of people at once.
(max_ctcp_queue)=
`max_ctcp_queue` **`5`**
: The maximum number of pending CTCP requests to keep. Requests beyond max_ctcp_queue will be discarded.
## [history]
(max_command_history)=
`max_command_history` **`100`**
: The number of lines of your own input to keep for recall.
(rawlog_lines)=
`rawlog_lines` **`200`**
: Irssi's raw log is a buffer of raw IRC messages. It's used for debugging Irssi and maybe some other things. This setting tells Irssi how many raw messages to keep around.
(scroll_page_count)=
`scroll_page_count` **`/2`**
: How many pages to scroll the scrollback buffer when pressing page-up or page-down. Expressed as a number of lines, or as a fraction of the screen:
/2
: Scroll half a page.
.33
: Scroll about a third of a page.
4
: Scroll four lines.
(scrollback_burst_remove)=
`scrollback_burst_remove` **`10`**
: This is a speed optimization: Don't bother removing messages from the scrollback buffer until the line limit has been exceeded by scrollback_burst_remove lines. This lets Irssi do its memory management in chunks rather than one line at a time.
(scrollback_lines)=
`scrollback_lines` **`500`**
: The maximum number of messages to keep in your scrollback history. Set to 0 if you don't want to limit scrollback by a line count. The scrollback_time setting will be used even if scrollback_lines is zero.
Setting scrollback_lines to zero also seems to thwart the scrollback_burst_remove optimization.
(scrollback_time)=
`scrollback_time` **`1day`**
: Keep at least scrollback_time worth of messages in the scrollback buffer, even if it means having more than scrollback_lines lines in the buffer.
Valid formats for the setting are:
> day/hour/minute/min/second/sec/millisecond/millisec/msecond/msec
and the plural forms of the above: days, hours etc
The maximum value is 24 days
(scrollback_max_age)=
`scrollback_max_age` **`0`**
: Delete messages older than the given time in each scrollback buffer. The given time has the same format as the scrollback_time setting. Note: messages can only be deleted when there is activity in a buffer. Thus, "day changed" messages will trigger deletion in inactive buffers.
Currently, the oldest time you can set is 24days.
Added in Irssi 1.3
(window_history)=
`window_history` **`OFF`**
: When turned ON, command history will be kept per-window. When off, Irssi uses a single command history for all windows.
## [log]
(autolog)=
`autolog` **`OFF`**
: Automatically log everything, or at least the types of messages defined by autolog_level.
(autolog_colors)=
`autolog_colors` **`OFF`**
: Whether to save colors in autologs. Colors make logs harder to parse and grep, but they may be vital for channels that deal heavily in ANSI art, or something.
(autolog_ignore_targets)=
`autolog_ignore_targets` **` `**
: A space separated list of targets to exclude from autologging
See `activity_hide_targets` for additional ways to specify targets in Irssi 1.0.0+.
Added in Irssi 0.8.13
(autolog_level)=
`autolog_level` **`all -crap -clientcrap -ctcps`**
: The types of messages to auto-log. See the autolog setting.
(autolog_path)=
`autolog_path` **`~/irclogs/$tag/$0.log`**
: The path where autolog saves logs.
$0 is the target (channel or query name usually)
$1 is the server tag (same as $tag)
See Appendix B for Irssi's special variables. Irssi's special variables can be used to do fancy things like daily log rotations.
(autolog_only_saved_channels)=
`autolog_only_saved_channels` **`OFF`**
: Only autolog channels that are added in /channel list
Added in Irssi 1.2.0
(awaylog_colors)=
`awaylog_colors` **`ON`**
: Whether to store color information in /away logs.
(awaylog_file)=
`awaylog_file` **`~/.irssi/away.log`**
: Where to log messages while you're away.
I assume Irssi's special variables also work here. See Appendix B for more information about them.
(awaylog_level)=
`awaylog_level` **`msgs hilight`**
: The types of messages to log to awaylog_file while you're away.
(log_close_string)=
`log_close_string` **`--- Log closed %a %b %d %H:%M:%S %Y`**
: The message to log when logs are closed.
See Appendix C for the meanings of Irssi's time format codes.
(log_create_mode)=
`log_create_mode` **`600`**
: The permissions to use when creating log files.
600 is read/write by you, but nobody else can see them. A sensible default mode. It can also be set to 644 if you want the rest of the world to read your logs.
(log_day_changed)=
`log_day_changed` **`--- Day changed %a %b %d %Y`**
: The message to log when a new day begins.
See Appendix C for the meanings of Irssi's time format codes.
(log_open_string)=
`log_open_string` **`--- Log opened %a %b %d %H:%M:%S %Y`**
: The message to log when a log is opened.
See Appendix C for the meanings of Irssi's time format codes.
(log_theme)=
`log_theme` **` `**
: Logs can have a different theme than what you see on the screen. This can be used to create machine-parseable versions of logs, for example.
(log_timestamp)=
`log_timestamp` **`%H:%M `**
: The time format for log timestamps.
See Appendix C for the meanings of Irssi's time format codes.
(log_server_time)=
`log_server_time` **`auto`**
: Whether to log the timestamp as sent by the server, or the time when this message was received by Irssi. Also see /SET show_server_time
`off`
: log timestamp when received
`on`
: log timestamp as provided by server
`auto` (default)
: follow show_server_time setting
Added in Irssi 1.3
## [lookandfeel]
(active_window_ignore_refnum)=
`active_window_ignore_refnum` **`ON`**
: When set ON, the active_window key (meta-a by default) switches to the window with the highest activity level that was last activated.
When set OFF, the pre-0.8.15 behavior is used: it switches to the window with the highest activity level with the lowest refnum.
Added in Irssi 0.8.15
(activity_hide_level)=
`activity_hide_level` **` `**
: Message levels that don't count towards channel activity. That is, channels won't be marked as active if messages of these types appear.
(activity_hide_targets)=
`activity_hide_targets` **` `**
: Sometimes you don't care at all about a window's activity. This can be set to a space separated list of windows that will never appear to be active.
| Syntax | Version added | Description |
| ------------------- | ------------- | ---------------------------------------------------------------- |
| exactname | 0.8.0 | Ignore activity in window 'exactname' |
| tag/exactname | 0.8.6 | Ignore activity on network 'tag' and window 'exactname' |
| * | 1.0.0 | Ignore activity in all windows |
| tag/* | 1.0.0 | Ignore all activity on network 'tag' |
| ::all | 1.1.0 | Ignore activity in all windows |
| ::channels | 1.1.0 | Ignore activity in all channels |
| ::queries | 1.1.0 | Ignore activity in all queries |
| ::dccqueries | 1.1.0 | Ignore activity in all dcc chats |
| #chan\|[=]nick | 1.1.0 | Ignore activity in named target(channel, query, dcc chat) |
| tag/::all | 1.1.0 | Ignore all activity on network 'tag' |
| tag/::channels | 1.1.0 | Ignore activity in all channels on network 'tag' |
| tag/::queries | 1.1.0 | Ignore activity in all queries on network 'tag' |
| tag/::dccqueries | 1.1.0 | Ignore activity in all dcc chats on network 'tag' |
| tag/#chan\|[=]nick | 1.1.0 | Ignore activity in named channel/query/dcc chat on network 'tag' |
(activity_hilight_level)=
`activity_hilight_level` **`MSGS DCCMSGS`**
: There are times when you want to highlight channel activity in a window. Like when someone sends you a private message, or a DCC message. activity_hilight_level sets the kind of messages you think are extra important.
(activity_msg_level)=
`activity_msg_level` **`PUBLIC NOTICES`**
: Flag a channel as active when messages of this type are displayed there.
(activity_hide_window_hidelevel)=
`activity_hide_window_hidelevel` **`ON`**
: Do not flag a window as active if the message is hidden with /window hidelevel
Added in Irssi 1.2.0
(activity_hide_visible)=
`activity_hide_visible` **`ON`**
: Whether to hide the active flag when the window is visible.
Added in Irssi 1.2.0
(actlist_names)=
`actlist_names` **`OFF`**
: Turn on to add active items names in 'act' statusbar item.
(actlist_prefer_window_name)=
`actlist_prefer_window_name` **`OFF`**
: Whether to show the window name instead of the item name when actlist_names is enabled.
Added in Irssi 1.3
(actlist_sort)=
`actlist_sort` **`refnum`**
: Specifies the sorting type used for the activity bar. Accepted values:
`refnum` (default)
: windows are listed in numeric order
`recent`
: windows with more recent activity appear first
`level`
: sort by window level (hilight, msg, etc), same ordering used by active_window command. Windows with the same level are sorted by refnum.
`level,recent`
: same as level, but windows with the same level are sorted by recent.
Added in Irssi 0.8.12. Before Irssi 0.8.12, a boolean `actlist_moves` setting existed, which was equivalent to setting actlist_sort to refnum.
(actlist_separator)=
`actlist_separator` **`,`**
: Which separator to use between windows in the Act: list.
Added in Irssi 1.4
(autoclose_query)=
`autoclose_query` **`0`**
: Automatically close query windows after autoclose_query seconds of inactivity. Setting autoclose_query to zero will keep them open until you decide to close them yourself.
(autoclose_windows)=
`autoclose_windows` **`ON`**
: Automatically close windows when nobody is in them. This keeps your window list tidy, but it means that query windows may rearrange as people log off then privately message you later.
(autocreate_own_query)=
`autocreate_own_query` **`ON`**
: Turn on to automatically create query windows when you /msg someone.
(autocreate_query_level)=
`autocreate_query_level` **`MSGS DCCMSGS NOTICES`**
: Automatically create query windows when receiving these types of messages.
(autocreate_windows)=
`autocreate_windows` **`ON`**
: When on, create new windows for certain operations, such as /join. When off, everything is just dumped into one window.
(autocreate_split_windows)=
`autocreate_split_windows` **`OFF`**
: Automatically created windows will be created as split windows with this setting on.
Split windows are the kind where multiple windows are on one screen.
(autofocus_new_items)=
`autofocus_new_items` **`ON`**
: Switch the focus to a new item when it's created. This may be disturbing at first when combined with query window auto-creation, and it may be downright dangerous if it causes you to accidentally misdirect messages.
(autostick_split_windows)=
`autostick_split_windows` **`OFF`**
: Whether creating split windows (or showing windows) will automatically stick them to the split window (/window stick on)
The default was changed to `OFF` in Irssi 1.2.0
(autounstick_windows)=
`autounstick_windows` **`ON`**
: Whether windows should automatically unstick when you try to /window show or /window hide them
Added in Irssi 1.2.0
(beep_msg_level)=
`beep_msg_level` **` `**
: Beep when messages match this level mask.
(beep_when_away)=
`beep_when_away` **`ON`**
: Should beeps be noisy when you're /away? Great for people who sleep near their terminals or keep Irssi running at work. :)
(beep_when_window_active)=
`beep_when_window_active` **`ON`**
: Should beeps be noisy in a window you're watching? Perhaps not, since you are theoretically watching that window. You ARE watching it, aren't you?
(bell_beeps)=
`bell_beeps` **`OFF`**
: Removed in Irssi 1.0.0.
Tell Irssi whether bell characters (chr 7, ^G) included inside IRC messages should actually cause beeps. This doesn't mean that highlights will make a beep sound, this means that anyone in any irc channel can cause unexplained beeps.
Since its only purpose is to be annoying, we decided to remove this. [See this issue for details](https://github.com/irssi/irssi/issues/524).
Any guide that recommended enabling this to make beeps work is wrong. This setting is not needed for that.
(break_wide)=
`break_wide` **`OFF`**
: When on, wide characters (fullwidth / CJK / east asian) are always considered line breaking points then wrapping lines for display, instead of only wrapping on space characters.
Example:
```ascidia.repl#fig_break_wide
╔═══════════════════════════════════════════════════════════╗
OFF: ║10:31 -!- 火火火火火火火火火火ab ║
║ cd火火火火火火火火火火胡火火火火火后ab ║
║ cd火火火火火火火火火火火 ║
╚═══════════════════════════════════════════════════════════╝
╔═══════════════════════════════════════════════════════════╗
ON: ║10:31 -!- 火火火火火火火火火火ab cd火火火火火火火火火火胡火║
║ 火火火火后ab cd火火火火火火火火火 ║
╚═══════════════════════════════════════════════════════════╝
```
Added in Irssi 1.1.0
(chanmode_expando_strip)=
`chanmode_expando_strip` **`OFF`**
: When on, $M will not return mode parameters.
This means for example that the channel limit and channel key won't be shown in your statusbar (a common place where $M is used) (but also not in all other places that refer to $M for whatever reason).
(colors)=
`colors` **`ON`**
: Enable or disable colors.
(emphasis)=
`emphasis` **`ON`**
: Enable or disable real underlining and bolding when someone says `*bold*` or `_underlined_`.
(emphasis_italics)=
`emphasis_italics` **`OFF`**
: Enable or disable applying real italics when someone says `/italics/`.
Note: not all terminals support this. Most notably, if the TERM environment variable is set to screen, it won't work.
Added in Irssi 0.8.17
(emphasis_multiword)=
`emphasis_multiword` **`OFF`**
: Turn on to allow `*more than one word bold*` and `_multiple underlined words_`. Used in conjunction with the emphasis setting.
(emphasis_replace)=
`emphasis_replace` **`OFF`**
: If emphasis is turned on, the `*` or `_` characters indicating emphasis will be removed when the word is made bold or underlined. Some people find this looks cleaner.
See the emphasis setting for more information.
(expand_escapes)=
`expand_escapes` **`OFF`**
: Detect escapes in input, and expand them to the characters they describe. For example
\t
Is literally '\\' and 't' when expand_escapes is off, but it's the tab character (chr 9) when expand_escapes is on.
(hide_colors)=
`hide_colors` **`OFF`**
: Hide mIRC and ANSI colors when turned on. This can be used to eliminate angry fruit salad syndrome in some channels.
(hide_server_tags)=
`hide_server_tags` **`OFF`**
: Server tags are prefixes to some messages (server messages?) that let you know which server the message came from. They're often considered noisy, so this option lets you hide them.
(hide_text_style)=
`hide_text_style` **`OFF`**
: Hide bold, blink, underline, and reverse attributes.
(hilight_act_color)=
`hilight_act_color` **`%M`**
: The color to use to highlight window activity in the status bar. That's the section that shows [Act: ...].
See Appendix D for Irssi's color codes.
(hilight_color)=
`hilight_color` **`%Y`**
: The default color for /hilight.
See Appendix D for Irssi's color codes.
(hilight_level)=
`hilight_level` **`PUBLIC DCCMSGS`**
: The types of messages that can be highlighted.
(hilight_nick_matches)=
`hilight_nick_matches` **`ON`**
: Tell Irssi whether it should automatically highlight text that starts with your nickname.
(hilight_nick_matches_everywhere)=
`hilight_nick_matches_everywhere` **`OFF`**
: Turn on to extend hilight_nick_matches to match your nickname everywhere in messages, not just at the beginning.
Added in Irssi 0.8.18
(indent)=
`indent` **`10`**
: How many columns to indent subsequent lines of a wrapped message.
Attention: This can be overwritten by themes.
(indent_always)=
`indent_always` **`OFF`**
: Should we indent the long words that are forcibly wrapped to the next line? This can break long words such as URLs by inserting spaces in the middle of them.
Turn off if you would like to copy/paste or otherwise use URLs from your terminal.
(mirc_blink_fix)=
`mirc_blink_fix` **`OFF`**
: Some terminals interpret bright background colors as blinking text. mIRC doesn't support blinking at all. This fixes the blinky terminals by replacing high colors with their low equivalents.
From Irssi's ChangeLog:
> /SET mirc_blink_fix - if ON, the bright/blink bit is stripped
> from MIRC colors. Set this to ON, if your terminal shows bright
> background colors as blinking.
(colors_ansi_24bit)=
`colors_ansi_24bit` **`OFF`**
: Enable the use of 24-bit color codes.
Note: not all terminals support this. If yours does not, it may result in horrible screen distortion.
Irssi up to 1.4 need to be compiled with `-Denable-true-color=yes`.
Added in Irssi 0.8.17
(names_max_columns)=
`names_max_columns` **`6`**
: Maximum number of columns to use for /names listing. Also shown on channel join. Set to 0 for as many as fit in your terminal.
(names_max_width)=
`names_max_width` **`0`**
: Maximum number of columns to consume with a /names listing. Overrides names_max_columns if non-zero. Set to 0 for as many as fit in your terminal.
(print_active_channel)=
`print_active_channel` **`OFF`**
: Always print the channel with the nickname (like nick:channel) even if the message is from the channel you currently have active.
(query_track_nick_changes)=
`query_track_nick_changes` **`ON`**
: Query windows will track nick changes when this is on. That is, when receiving a message from an unknown nick, it looks for a query with a matching user@host before creating a new one, and if it finds one, it gets renamed to use the new nick.
(reuse_unused_windows)=
`reuse_unused_windows` **`OFF`**
: When set on, Irssi will reuse unused windows when looking for a new window to put something in. Otherwise unused windows are ignored, and new ones are always created.
(scroll)=
`scroll` **`ON`**
: Set scroll ON to have Irssi scroll your screen when it fills up. Set it OFF to require manual scrolling.
Warning: If set to OFF, this will stop scrolling in all windows and not reenable scrolling even if you set it back to ON. (You need to manually scroll to the bottom in each window first.)
(show_away_once)=
`show_away_once` **`ON`**
: When on, only show /away messages in the window that's currently open. Otherwise the message will appear in every window you share with the away person.
(away_notify_public)=
`away_notify_public` **`OFF`**
: Whether to show /away changes of other users in the channel. Only affects servers that actively inform about away changes.
Added in Irssi 1.3
(show_names_on_join)=
`show_names_on_join` **`ON`**
: Display the list of names in a channel when you join that channel. It's generally recommended, but you can disable it for pathologically huge channels or in case you just don't care. Also see show_names_on_join_limit, which overrules this setting.
(show_names_on_join_limit)=
`show_names_on_join_limit` **`18`**
: Do not show the NAMES list on join if there are more than show_names_on_join_limit users in the channel.
Added in Irssi 1.3
(show_extended_join)=
`show_extended_join` **`OFF`**
: Whether to show extended join information (real name and services account) when others users join the channel. Only affects servers that send extended joins information.
Added in Irssi 1.3
(show_nickmode)=
`show_nickmode` **`ON`**
: Prefix nicknames with their channel status:
voiced
: `+`
half-op
: `%`
op
: `@`
(show_nickmode_empty)=
`show_nickmode_empty` **`ON`**
: If a person has no channel modes, prefix their nickname with a blank space. This keeps nicknames of normal people aligned with those of voiced, half-opped, and opped people.
(show_account_notify)=
`show_account_notify` **`OFF`**
: Whether to show account changes of other users in the channel. Only affects servers that actively inform about account changes.
Added in Irssi 1.3
(show_own_nickchange_once)=
`show_own_nickchange_once` **`OFF`**
: Squash your own nick-change messages so they appear only once, not once in every window you have on that network.
(show_quit_once)=
`show_quit_once` **`OFF`**
: When turned on, a quit message will only be shown once. Otherwise it will be displayed in every window you share with the quitter.
(show_server_time)=
`show_server_time` **`OFF`**
: Whether to show the server-provided time on messages when available, or only the local time of reception.
Added in Irssi 1.3
(term_appkey_mode)=
`term_appkey_mode` **`ON`**
: If this is ON, the application keys mode is used, which is needed for some terminals.
Turn this off if your terminal doesn't need this mode and you need to bind meta-O (that's an uppercase O)
Added in Irssi 0.8.19
(term_charset)=
`term_charset` **`UTF-8`**
: Sets your native terminal character set. Irssi will take this into consideration when it needs to delete multibyte characters, for example.
A common value is utf-8 for Unicode/UTF-8 enabled terminals.
TODO - Does this still support Chinese terminal emulators? (Used to be term_type big5 in old Irssi.)
(term_force_colors)=
`term_force_colors` **`OFF`**
: Always display colors, even when the terminal type says colors aren't supported. Useful for working around really dumb terminals.
(theme)=
`theme` **`default`**
: Irssi supports themes that can change most of the client's look and feel. This setting lets you name the theme you wish to use.
(timestamp_format)=
`timestamp_format` **`%H:%M`**
: How to format the time used in timestamps.
See Appendix C for the meanings of Irssi's time format codes.
(timestamp_format_alt)=
`timestamp_format_alt` **`%a %e %b %H:%M`**
: How to format messages with an old timestamp, for example messages from the past emitted by the server.
Added in Irssi 1.3