diff options
-rw-r--r-- | docs/General/Internals.pod | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/docs/General/Internals.pod b/docs/General/Internals.pod new file mode 100644 index 0000000..c364dd5 --- /dev/null +++ b/docs/General/Internals.pod @@ -0,0 +1,48 @@ +__END__ + +=head1 Random Notes on Irssi Internals. + + +=head2 Display Output + +Irssi has to deal with a whole bunch of things between a script print() and actually +putting it on the screen. + +Some of these things are: + +=over 4 + +=item Message Levels + +=item Abstract Replacements + +=item Theme formats + +=item Module (C</format>) formats + +=back + +==head3 Message Levels + +Message levels are defined in F<src/core/levels.h> and some +support functions in F<src/core/levels.c> + +We have: + +=over 4 + +=item C<int level_get(str level)> + +Special cases: C<ALL, *> both return MSGLEVEL_ALL, and C<NEVER> returns 0. +The remainder are looked up in a big static string array by name to +find the appropriate numeric level. Partial matches are permitted as +long as they are unambigious. + + +=item C<int level2bits(str level, int *errorp)> + +=item C<str bits2level(int bits)> + +=item C<int combine_level(int dest, str src)> + + |