aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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)>
+
+