aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Feist <shabble@metavore.org>2011-01-01 18:02:39 +0000
committerTom Feist <shabble@metavore.org>2011-01-01 18:02:39 +0000
commit99510e6b1994315864ae80534c902b439ed9a63a (patch)
treef96f76dbd7f27a1fa16ff8f8261b1d9f955a9ad7
parentfeature_tests/easy_exec: further futile efforts to make a /script exec that (diff)
downloadirssi-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.pod48
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)>
+
+