fluxbox/doc/asciidoc
Mathias Gumz 43bdf499d5 Fix race condition on shutdown
This commit fixes primarily a race condition that occurs when xinit(1) shuts
down: by not acting properly fluxbox gets caught in an infinite loop. It
caused bug #1100.

xinit(1) sends a SIGHUP signal to all processes. fluxbox tries to shutdown
itself properly by shutting down workspaces and screens. While doing that, the
Xserver might be gone already. Additionally, fluxbox used to restart() itself
on SIGHUP, which is clearly not the right thing to do when xinit(1) is about
to end the session.

So, fluxbox does this:

* handling SIGHUP now shuts down fluxbox without clearing workspaces and
  screens.

* A 2 second alarm() is triggered in Fluxbox::shutdown() as a last resort

* XSetIOErrorHandler() is used to recognize the disconnect from the xserver.

* SIGUSR1 is for restarting fluxbox, SIGUSR2 for reloading the config

* FbTk/SignalHandler.cc/hh is gone; this unused abstraction served currently
  no real purpose. Signal handling is now done in main.cc

* Unrelated to the issue itself src/main.cc was trimmed down quite a bit and
  the code (responsible for handling the command line interface) was moved to
  src/cli*
2014-02-18 19:34:35 +01:00
..
de split documenation into different directories 2008-08-20 23:03:25 +02:00
es remove rootcommand from init file 2008-10-04 18:49:00 -07:00
client-patterns.txt add fullscreen, maximizedhorizontal, and maximizedvertical tests to ClientPattern 2012-07-01 21:22:01 -07:00
fbrun.txt Updated Changelog, NEWS, man-pages for 1.3.5 2013-02-13 11:00:22 +01:00
fbsetbg.txt Updated Changelog, NEWS, man-pages for 1.3.5 2013-02-13 11:00:22 +01:00
fbsetroot.txt Updated Changelog, NEWS, man-pages for 1.3.5 2013-02-13 11:00:22 +01:00
fluxbox-apps.txt Updated Changelog, NEWS, man-pages for 1.3.5 2013-02-13 11:00:22 +01:00
fluxbox-keys.txt Add support for stacked tiling via ArrangeWindows* 2013-08-02 08:56:07 +02:00
fluxbox-menu.txt Updated Changelog, NEWS, man-pages for 1.3.5 2013-02-13 11:00:22 +01:00
fluxbox-remote.txt Updated Changelog, NEWS, man-pages for 1.3.5 2013-02-13 11:00:22 +01:00
fluxbox-style.txt Updated Changelog, NEWS, man-pages for 1.3.5 2013-02-13 11:00:22 +01:00
fluxbox.txt Fix race condition on shutdown 2014-02-18 19:34:35 +01:00
Makefile Added new 'make dist' target for ease in updating the manuals 2009-05-26 16:16:07 -04:00
README.txt Added new 'make dist' target for ease in updating the manuals 2009-05-26 16:16:07 -04:00
startfluxbox.txt Updated Changelog, NEWS, man-pages for 1.3.5 2013-02-13 11:00:22 +01:00

whats this? this is the attempt to write the documentation for 
fluxbox in ascii-doc format. how does it work?

well, just edit fluxbox.txt from this directory. save it.
then we can produce pretty much any format we like: man, pdf, docbook, html,
etc.

For simplicity the Makefile here is set up to refresh the man pages that will be
installed with fluxbox.  Just run 'make dist' in this directory. It requires
that you have a recent asciidoc package installed from
http://www.methods.co.nz/asciidoc/ and xmlto from
https://fedorahosted.org/xmlto/browser. The result will be new fluxbox.1.in
files in the parent directory.  These and your altered .txt files should be
checked into git.

Here are the nuts and bolts to create other formats:

man:

  $> asciidoc -b docbook -d manpage fluxbox.txt
  $> xmlto man fluxbox.xml

pdf:

  $> asciidoc -b docbook -d manpage fluxbox.txt
  $> docbook2pdf fluxbox.xml

docbook:

  $> asciidoc -b docbook-sgml -d manpage fluxbox.txt

html:

  $> asciidoc -b xhtml -d manpage fluxbox.txt

and many many more ways to do it.
what do we need? well, at least:

  http://www.methods.co.nz/asciidoc/
  http://cyberelk.net/tim/xmlto/

and the rest of the docbook-family + maybe pdftex.