]> git.sur5r.net Git - i3/i3.github.io/commitdiff
add i3status 2.7
authorMichael Stapelberg <michael@stapelberg.de>
Wed, 27 Feb 2013 10:35:42 +0000 (11:35 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Wed, 27 Feb 2013 10:35:42 +0000 (11:35 +0100)
_docs/i3status.man
i3status/i3status-2.7.tar.bz2 [new file with mode: 0644]
i3status/i3status-2.7.tar.bz2.asc [new file with mode: 0644]
i3status/index.html.mako
i3status/manpage.html

index 9a19ec9f5d7946ef0e515c48df440f330cd12fc0..00fdcbc45d892e135724b157e845a9a46bb5dec2 100644 (file)
@@ -56,7 +56,8 @@ order += "ethernet eth0"
 order += "battery 0"
 order += "cpu_temperature 0"
 order += "load"
 order += "battery 0"
 order += "cpu_temperature 0"
 order += "load"
-order += "time"
+order += "tztime local"
+order += "tztime berlin"
 
 wireless wlan0 {
         format_up = "W: (%quality at %essid, %bitrate) %ip"
 
 wireless wlan0 {
         format_up = "W: (%quality at %essid, %bitrate) %ip"
@@ -83,8 +84,13 @@ run_watch VPN {
         pidfile = "/var/run/vpnc/pid"
 }
 
         pidfile = "/var/run/vpnc/pid"
 }
 
-time {
-       format = "%Y-%m-%d %H:%M:%S"
+tztime local {
+        format = "%Y-%m-%d %H:%M:%S"
+}
+
+tztime berlin {
+        format = "%Y-%m-%d %H:%M:%S %Z"
+        timezone = "Europe/Berlin"
 }
 
 load {
 }
 
 load {
@@ -143,6 +149,11 @@ none::
 Does not use any color codes. Separates values by the pipe symbol. This should
 be used with i3bar and can be used for custom scripts.
 
 Does not use any color codes. Separates values by the pipe symbol. This should
 be used with i3bar and can be used for custom scripts.
 
+It's also possible to use the color_good, color_degraded, color_bad directives
+to define specific colors per module. If one of these directives is defined
+in a module section its value will override the value defined in the general
+section just for this module.
+
 === IPv6
 
 This module gets the IPv6 address used for outgoing connections (that is, the
 === IPv6
 
 This module gets the IPv6 address used for outgoing connections (that is, the
@@ -205,6 +216,9 @@ battery is at 23% when fully charged because it’s old. In general, I want to
 see it this way, because it tells me how worn off my battery is.), just specify
 +last_full_capacity = true+.
 
 see it this way, because it tells me how worn off my battery is.), just specify
 +last_full_capacity = true+.
 
+If you want the battery percentage to be shown without decimals, add
++integer_battery_capacity = true+.
+
 If your battery is represented in a non-standard path in /sys, be sure to
 modify the "path" property accordingly. The first occurence of %d gets replaced
 with the battery number, but you can just hard-code a path as well.
 If your battery is represented in a non-standard path in /sys, be sure to
 modify the "path" property accordingly. The first occurence of %d gets replaced
 with the battery number, but you can just hard-code a path as well.
@@ -224,12 +238,16 @@ colored red. The low_threshold type can be of threshold_type "time" or
 
 === CPU-Temperature
 
 
 === CPU-Temperature
 
-Gets the temperature of the given thermal zone.
+Gets the temperature of the given thermal zone. It is possible to
+define a max_threshold that will color the temperature red in case the
+specified thermal zone is getting too hot. Defaults to 75 degrees C.
 
 *Example order*: +cpu_temperature 0+
 
 *Example format*: +T: %degrees °C+
 
 
 *Example order*: +cpu_temperature 0+
 
 *Example format*: +T: %degrees °C+
 
+*Example max_threshold*: +42+
+
 === CPU Usage
 
 Gets the percentual CPU usage from +/proc/stat+ (Linux) or +sysctl(3)+ (FreeBSD/OpenBSD).
 === CPU Usage
 
 Gets the percentual CPU usage from +/proc/stat+ (Linux) or +sysctl(3)+ (FreeBSD/OpenBSD).
@@ -241,20 +259,43 @@ Gets the percentual CPU usage from +/proc/stat+ (Linux) or +sysctl(3)+ (FreeBSD/
 === Load
 
 Gets the system load (number of processes waiting for CPU time in the last
 === Load
 
 Gets the system load (number of processes waiting for CPU time in the last
-1, 5 and 15 minutes).
+1, 5 and 15 minutes). It is possible to define a max_threshold that will
+color the load value red in case the load average of the last minute is
+getting higher than the configured threshold. Defaults to 5.
 
 *Example order*: +load+
 
 *Example format*: +%1min %5min %15min+
 
 
 *Example order*: +load+
 
 *Example format*: +%1min %5min %15min+
 
+*Example max_threshold*: 5
+
 === Time
 
 === Time
 
-Formats the current system time. See +strftime(3)+ for the format.
+Outputs the current time in the local timezone.
+To use a different timezone, you can set the TZ environment variable,
+or use the +tztime+ module.
+See +strftime(3)+ for details on the format string.
 
 *Example order*: +time+
 
 *Example format*: +%Y-%m-%d %H:%M:%S+
 
 
 *Example order*: +time+
 
 *Example format*: +%Y-%m-%d %H:%M:%S+
 
+=== TzTime
+
+Outputs the current time in the given timezone.
+If no timezone is given, local time will be used.
+See +strftime(3)+ for details on the format string.
+The system's timezone database is usually installed in +/usr/share/zoneinfo+.
+Files below that path make for valid timezone strings, e.g. for
++/usr/share/zoneinfo/Europe/Berlin+ you can set timezone to +Europe/Berlin+
+in the +tztime+ module.
+
+*Example order*: +tztime berlin+
+
+*Example format*: +%Y-%m-%d %H:%M:%S %Z+
+
+*Example timezone*: +Europe/Berlin+
+
 === DDate
 
 Outputs the current discordian date in user-specified format. See +ddate(1)+ for
 === DDate
 
 Outputs the current discordian date in user-specified format. See +ddate(1)+ for
@@ -369,6 +410,12 @@ Note that if you want to use the JSON output format (with colors in i3bar), you
 need to use a slightly more complex wrapper script. There are examples in the
 contrib/ folder, see http://code.i3wm.org/i3status/tree/contrib
 
 need to use a slightly more complex wrapper script. There are examples in the
 contrib/ folder, see http://code.i3wm.org/i3status/tree/contrib
 
+== SIGNALS
+
+When receiving +SIGUSR1+, i3status’s nanosleep() will be interrupted and thus
+you will force an update. You can use killall -USR1 i3status to force an update
+after changing the system volume, for example.
+
 == SEE ALSO
 
 +strftime(3)+, +date(1)+, +glob(3)+, +dzen2(1)+, +xmobar(1)+
 == SEE ALSO
 
 +strftime(3)+, +date(1)+, +glob(3)+, +dzen2(1)+, +xmobar(1)+
diff --git a/i3status/i3status-2.7.tar.bz2 b/i3status/i3status-2.7.tar.bz2
new file mode 100644 (file)
index 0000000..c9f53d8
Binary files /dev/null and b/i3status/i3status-2.7.tar.bz2 differ
diff --git a/i3status/i3status-2.7.tar.bz2.asc b/i3status/i3status-2.7.tar.bz2.asc
new file mode 100644 (file)
index 0000000..76b8098
Binary files /dev/null and b/i3status/i3status-2.7.tar.bz2.asc differ
index b0bd67c3e4a5a8c21e0844213c771cb322e45421..c7ce7207b57fd432b3d00a486ff4dfda535992e2 100644 (file)
 <h2>Releases</h2>
 
 <ul>
 <h2>Releases</h2>
 
 <ul>
+  <li><a href="/i3status/i3status-2.7.tar.bz2">i3status-2.7.tar.bz2</a>
+  (<a href="/i3status/i3status-2.7.tar.bz2.asc">GPG signature</a>, 2013-02-27)</li>
+
   <li><a href="/i3status/i3status-2.6.tar.bz2">i3status-2.6.tar.bz2</a>
   (<a href="/i3status/i3status-2.6.tar.bz2.asc">GPG signature</a>, 2012-10-03)</li>
   <li><a href="/i3status/i3status-2.6.tar.bz2">i3status-2.6.tar.bz2</a>
   (<a href="/i3status/i3status-2.6.tar.bz2.asc">GPG signature</a>, 2012-10-03)</li>
+
   <li><a href="/i3status/i3status-2.5.1.tar.bz2">i3status-2.5.1.tar.bz2</a>
   (<a href="/i3status/i3status-2.5.1.tar.bz2.asc">GPG signature</a>, 2012-05-11)</li>
   <li><a href="/i3status/i3status-2.5.1.tar.bz2">i3status-2.5.1.tar.bz2</a>
   (<a href="/i3status/i3status-2.5.1.tar.bz2.asc">GPG signature</a>, 2012-05-11)</li>
+
   <li><a href="/i3status/i3status-2.5.tar.bz2">i3status-2.5.tar.bz2</a>
   (<a href="/i3status/i3status-2.5.tar.bz2.asc">GPG signature</a>, 2012-05-02)</li>
   <li><a href="/i3status/i3status-2.5.tar.bz2">i3status-2.5.tar.bz2</a>
   (<a href="/i3status/i3status-2.5.tar.bz2.asc">GPG signature</a>, 2012-05-02)</li>
+
   <li><a href="/i3status/i3status-2.4.tar.bz2">i3status-2.4.tar.bz2</a>
   (<a href="/i3status/i3status-2.4.tar.bz2.asc">GPG signature</a>, 2011-12-27)</li>
   <li><a href="/i3status/i3status-2.4.tar.bz2">i3status-2.4.tar.bz2</a>
   (<a href="/i3status/i3status-2.4.tar.bz2.asc">GPG signature</a>, 2011-12-27)</li>
+
   <li><a href="/i3status/i3status-2.3.tar.bz2">i3status-2.3.tar.bz2</a>
   (<a href="/i3status/i3status-2.3.tar.bz2.asc">GPG signature</a>, 2011-07-21)</li>
   <li><a href="/i3status/i3status-2.3.tar.bz2">i3status-2.3.tar.bz2</a>
   (<a href="/i3status/i3status-2.3.tar.bz2.asc">GPG signature</a>, 2011-07-21)</li>
+
   <li><a href="/i3status/i3status-2.2.tar.bz2">i3status-2.2.tar.bz2</a>
   (<a href="/i3status/i3status-2.2.tar.bz2.asc">GPG signature</a>, 2010-09-23)</li>
   <li><a href="/i3status/i3status-2.2.tar.bz2">i3status-2.2.tar.bz2</a>
   (<a href="/i3status/i3status-2.2.tar.bz2.asc">GPG signature</a>, 2010-09-23)</li>
+
   <li><a href="/i3status/i3status-2.1.tar.bz2">i3status-2.1.tar.bz2</a>
   (<a href="/i3status/i3status-2.1.tar.bz2.asc">GPG signature</a>, 2010-04-11)</li>
   <li><a href="/i3status/i3status-2.1.tar.bz2">i3status-2.1.tar.bz2</a>
   (<a href="/i3status/i3status-2.1.tar.bz2.asc">GPG signature</a>, 2010-04-11)</li>
+
   <li><a href="/i3status/i3status-2.0.tar.bz2">i3status-2.0.tar.bz2</a>
   (<a href="/i3status/i3status-2.0.tar.bz2.asc">GPG signature</a>, 2009-10-27)</li>
   <li><a href="/i3status/i3status-2.0.tar.bz2">i3status-2.0.tar.bz2</a>
   (<a href="/i3status/i3status-2.0.tar.bz2.asc">GPG signature</a>, 2009-10-27)</li>
+
   <li><a href="/i3status/i3status-1.2.tar.bz2">i3status-1.2.tar.bz2</a>
   (<a href="/i3status/i3status-1.2.tar.bz2.asc">GPG signature</a>, 2009-06-21)</li>
   <li><a href="/i3status/i3status-1.2.tar.bz2">i3status-1.2.tar.bz2</a>
   (<a href="/i3status/i3status-1.2.tar.bz2.asc">GPG signature</a>, 2009-06-21)</li>
+
   <li><a href="/i3status/i3status-1.1.tar.bz2">i3status-1.1.tar.bz2</a>
   (<a href="/i3status/i3status-1.1.tar.bz2.asc">GPG signature</a>, 2009-06-17)</li>
   <li><a href="/i3status/i3status-1.1.tar.bz2">i3status-1.1.tar.bz2</a>
   (<a href="/i3status/i3status-1.1.tar.bz2.asc">GPG signature</a>, 2009-06-17)</li>
+
   <li><a href="/i3status/i3status-1.0.tar.bz2">i3status-1.0.tar.bz2</a></li>
 </ul>
 
   <li><a href="/i3status/i3status-1.0.tar.bz2">i3status-1.0.tar.bz2</a></li>
 </ul>
 
@@ -54,7 +67,7 @@
 <p>
   i3status is currently developed at <a href="http://code.i3wm.org/i3status" title="cgit">
   http://code.i3wm.org/i3status</a>. Checkouts of the master branch are intended to
 <p>
   i3status is currently developed at <a href="http://code.i3wm.org/i3status" title="cgit">
   http://code.i3wm.org/i3status</a>. Checkouts of the master branch are intended to
-  be stable and working all the time. Integration of new features happens in a separate branch.
+  be stable and working all the time.
 </p>
 
 </div>
 </p>
 
 </div>
index c4bccd500a51816d5bbeb211dc8cce5bf65e09df..05805afc6fdcc78338a1388398c79a8a38b98b3f 100644 (file)
@@ -125,7 +125,8 @@ order += "ethernet eth0"
 order += "battery 0"\r
 order += "cpu_temperature 0"\r
 order += "load"\r
 order += "battery 0"\r
 order += "cpu_temperature 0"\r
 order += "load"\r
-order += "time"\r
+order += "tztime local"\r
+order += "tztime berlin"\r
 \r
 wireless wlan0 {\r
         format_up = "W: (%quality at %essid, %bitrate) %ip"\r
 \r
 wireless wlan0 {\r
         format_up = "W: (%quality at %essid, %bitrate) %ip"\r
@@ -152,10 +153,15 @@ run_watch VPN {
         pidfile = "/var/run/vpnc/pid"\r
 }\r
 \r
         pidfile = "/var/run/vpnc/pid"\r
 }\r
 \r
-time {\r
+tztime local {\r
         format = "%Y-%m-%d %H:%M:%S"\r
 }\r
 \r
         format = "%Y-%m-%d %H:%M:%S"\r
 }\r
 \r
+tztime berlin {\r
+        format = "%Y-%m-%d %H:%M:%S %Z"\r
+        timezone = "Europe/Berlin"\r
+}\r
+\r
 load {\r
         format = "%5min"\r
 }\r
 load {\r
         format = "%5min"\r
 }\r
@@ -232,6 +238,10 @@ be used with i3bar and can be used for custom scripts.
 </p>\r
 </dd>\r
 </dl></div>\r
 </p>\r
 </dd>\r
 </dl></div>\r
+<div class="paragraph"><p>It&#8217;s also possible to use the color_good, color_degraded, color_bad directives\r
+to define specific colors per module. If one of these directives is defined\r
+in a module section its value will override the value defined in the general\r
+section just for this module.</p></div>\r
 </div>\r
 <div class="sect2">\r
 <h3 id="_ipv6">5.2. IPv6</h3>\r
 </div>\r
 <div class="sect2">\r
 <h3 id="_ipv6">5.2. IPv6</h3>\r
@@ -282,6 +292,8 @@ design capacity (when using the design capacity, it may happen that your
 battery is at 23% when fully charged because it’s old. In general, I want to\r
 see it this way, because it tells me how worn off my battery is.), just specify\r
 <tt>last_full_capacity = true</tt>.</p></div>\r
 battery is at 23% when fully charged because it’s old. In general, I want to\r
 see it this way, because it tells me how worn off my battery is.), just specify\r
 <tt>last_full_capacity = true</tt>.</p></div>\r
+<div class="paragraph"><p>If you want the battery percentage to be shown without decimals, add\r
+<tt>integer_battery_capacity = true</tt>.</p></div>\r
 <div class="paragraph"><p>If your battery is represented in a non-standard path in /sys, be sure to\r
 modify the "path" property accordingly. The first occurence of %d gets replaced\r
 with the battery number, but you can just hard-code a path as well.</p></div>\r
 <div class="paragraph"><p>If your battery is represented in a non-standard path in /sys, be sure to\r
 modify the "path" property accordingly. The first occurence of %d gets replaced\r
 with the battery number, but you can just hard-code a path as well.</p></div>\r
@@ -296,9 +308,12 @@ colored red. The low_threshold type can be of threshold_type "time" or
 </div>\r
 <div class="sect2">\r
 <h3 id="_cpu_temperature">5.8. CPU-Temperature</h3>\r
 </div>\r
 <div class="sect2">\r
 <h3 id="_cpu_temperature">5.8. CPU-Temperature</h3>\r
-<div class="paragraph"><p>Gets the temperature of the given thermal zone.</p></div>\r
+<div class="paragraph"><p>Gets the temperature of the given thermal zone. It is possible to\r
+define a max_threshold that will color the temperature red in case the\r
+specified thermal zone is getting too hot. Defaults to 75 degrees C.</p></div>\r
 <div class="paragraph"><p><strong>Example order</strong>: <tt>cpu_temperature 0</tt></p></div>\r
 <div class="paragraph"><p><strong>Example format</strong>: <tt>T: %degrees °C</tt></p></div>\r
 <div class="paragraph"><p><strong>Example order</strong>: <tt>cpu_temperature 0</tt></p></div>\r
 <div class="paragraph"><p><strong>Example format</strong>: <tt>T: %degrees °C</tt></p></div>\r
+<div class="paragraph"><p><strong>Example max_threshold</strong>: <tt>42</tt></p></div>\r
 </div>\r
 <div class="sect2">\r
 <h3 id="_cpu_usage">5.9. CPU Usage</h3>\r
 </div>\r
 <div class="sect2">\r
 <h3 id="_cpu_usage">5.9. CPU Usage</h3>\r
@@ -309,18 +324,37 @@ colored red. The low_threshold type can be of threshold_type "time" or
 <div class="sect2">\r
 <h3 id="_load">5.10. Load</h3>\r
 <div class="paragraph"><p>Gets the system load (number of processes waiting for CPU time in the last\r
 <div class="sect2">\r
 <h3 id="_load">5.10. Load</h3>\r
 <div class="paragraph"><p>Gets the system load (number of processes waiting for CPU time in the last\r
-1, 5 and 15 minutes).</p></div>\r
+1, 5 and 15 minutes). It is possible to define a max_threshold that will\r
+color the load value red in case the load average of the last minute is\r
+getting higher than the configured threshold. Defaults to 5.</p></div>\r
 <div class="paragraph"><p><strong>Example order</strong>: <tt>load</tt></p></div>\r
 <div class="paragraph"><p><strong>Example format</strong>: <tt>%1min %5min %15min</tt></p></div>\r
 <div class="paragraph"><p><strong>Example order</strong>: <tt>load</tt></p></div>\r
 <div class="paragraph"><p><strong>Example format</strong>: <tt>%1min %5min %15min</tt></p></div>\r
+<div class="paragraph"><p><strong>Example max_threshold</strong>: 5</p></div>\r
 </div>\r
 <div class="sect2">\r
 <h3 id="_time">5.11. Time</h3>\r
 </div>\r
 <div class="sect2">\r
 <h3 id="_time">5.11. Time</h3>\r
-<div class="paragraph"><p>Formats the current system time. See <tt>strftime(3)</tt> for the format.</p></div>\r
+<div class="paragraph"><p>Outputs the current time in the local timezone.\r
+To use a different timezone, you can set the TZ environment variable,\r
+or use the <tt>tztime</tt> module.\r
+See <tt>strftime(3)</tt> for details on the format string.</p></div>\r
 <div class="paragraph"><p><strong>Example order</strong>: <tt>time</tt></p></div>\r
 <div class="paragraph"><p><strong>Example format</strong>: <tt>%Y-%m-%d %H:%M:%S</tt></p></div>\r
 </div>\r
 <div class="sect2">\r
 <div class="paragraph"><p><strong>Example order</strong>: <tt>time</tt></p></div>\r
 <div class="paragraph"><p><strong>Example format</strong>: <tt>%Y-%m-%d %H:%M:%S</tt></p></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_ddate">5.12. DDate</h3>\r
+<h3 id="_tztime">5.12. TzTime</h3>\r
+<div class="paragraph"><p>Outputs the current time in the given timezone.\r
+If no timezone is given, local time will be used.\r
+See <tt>strftime(3)</tt> for details on the format string.\r
+The system&#8217;s timezone database is usually installed in <tt>/usr/share/zoneinfo</tt>.\r
+Files below that path make for valid timezone strings, e.g. for\r
+<tt>/usr/share/zoneinfo/Europe/Berlin</tt> you can set timezone to <tt>Europe/Berlin</tt>\r
+in the <tt>tztime</tt> module.</p></div>\r
+<div class="paragraph"><p><strong>Example order</strong>: <tt>tztime berlin</tt></p></div>\r
+<div class="paragraph"><p><strong>Example format</strong>: <tt>%Y-%m-%d %H:%M:%S %Z</tt></p></div>\r
+<div class="paragraph"><p><strong>Example timezone</strong>: <tt>Europe/Berlin</tt></p></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_ddate">5.13. DDate</h3>\r
 <div class="paragraph"><p>Outputs the current discordian date in user-specified format. See <tt>ddate(1)</tt> for\r
 details on the format string.\r
 <strong>Note</strong>: Neither <strong>%.</strong> nor <strong>%X</strong> are implemented yet.</p></div>\r
 <div class="paragraph"><p>Outputs the current discordian date in user-specified format. See <tt>ddate(1)</tt> for\r
 details on the format string.\r
 <strong>Note</strong>: Neither <strong>%.</strong> nor <strong>%X</strong> are implemented yet.</p></div>\r
@@ -328,7 +362,7 @@ details on the format string.
 <div class="paragraph"><p><strong>Example format</strong>: <tt>%{%a, %b %d%}, %Y%N - %H</tt></p></div>\r
 </div>\r
 <div class="sect2">\r
 <div class="paragraph"><p><strong>Example format</strong>: <tt>%{%a, %b %d%}, %Y%N - %H</tt></p></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_volume">5.13. Volume</h3>\r
+<h3 id="_volume">5.14. Volume</h3>\r
 <div class="paragraph"><p>Outputs the volume of the specified mixer on the specified device. Works only\r
 on Linux because it uses ALSA.\r
 A simplified configuration can be used on FreeBSD and OpenBSD due to\r
 <div class="paragraph"><p>Outputs the volume of the specified mixer on the specified device. Works only\r
 on Linux because it uses ALSA.\r
 A simplified configuration can be used on FreeBSD and OpenBSD due to\r
@@ -434,13 +468,21 @@ contrib/ folder, see <a href="http://code.i3wm.org/i3status/tree/contrib">http:/
 </div>\r
 </div>\r
 <div class="sect1">\r
 </div>\r
 </div>\r
 <div class="sect1">\r
-<h2 id="_see_also">10. SEE ALSO</h2>\r
+<h2 id="_signals">10. SIGNALS</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>When receiving <tt>SIGUSR1</tt>, i3status’s nanosleep() will be interrupted and thus\r
+you will force an update. You can use killall -USR1 i3status to force an update\r
+after changing the system volume, for example.</p></div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_see_also">11. SEE ALSO</h2>\r
 <div class="sectionbody">\r
 <div class="paragraph"><p><tt>strftime(3)</tt>, <tt>date(1)</tt>, <tt>glob(3)</tt>, <tt>dzen2(1)</tt>, <tt>xmobar(1)</tt></p></div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r
 <div class="sectionbody">\r
 <div class="paragraph"><p><tt>strftime(3)</tt>, <tt>date(1)</tt>, <tt>glob(3)</tt>, <tt>dzen2(1)</tt>, <tt>xmobar(1)</tt></p></div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r
-<h2 id="_authors">11. AUTHORS</h2>\r
+<h2 id="_authors">12. AUTHORS</h2>\r
 <div class="sectionbody">\r
 <div class="paragraph"><p>Michael Stapelberg and contributors</p></div>\r
 <div class="paragraph"><p>Thorsten Toepper</p></div>\r
 <div class="sectionbody">\r
 <div class="paragraph"><p>Michael Stapelberg and contributors</p></div>\r
 <div class="paragraph"><p>Thorsten Toepper</p></div>\r