diff options
author | Tom Feist <shabble@metavore.org> | 2011-01-01 18:02:39 +0000 |
---|---|---|
committer | Tom Feist <shabble@metavore.org> | 2011-01-01 18:02:39 +0000 |
commit | 99510e6b1994315864ae80534c902b439ed9a63a (patch) | |
tree | f96f76dbd7f27a1fa16ff8f8261b1d9f955a9ad7 | |
parent | feature_tests/easy_exec: further futile efforts to make a /script exec that (diff) | |
download | irssi-scripts-99510e6b1994315864ae80534c902b439ed9a63a.tar.gz irssi-scripts-99510e6b1994315864ae80534c902b439ed9a63a.zip |
docs/General/Internals: start of some documentation of the internals of how
irssi works. Beginning with the display subsystem.
-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)> + + |