public static void showHelp()
	{
		System.out.println("--source type version x pretty_name Source to retrieve from");
		System.out.println("              Type can be: http, tcp, ztcp, file and ls");
		System.out.println("              http  expects an url like http://keetweej.vanheusden.com/status.dat");
		System.out.println("              http-auth expects an url like http://keetweej.vanheusden.com/status.dat and a username and a password");
		System.out.println("              tcp   expects a host and portnumber, e.g.: keetweej.vanheusden.com 33333");
		System.out.println("              ztcp  also expects a host and portnumber, e.g.: keetweej.vanheusden.com 33333");
		System.out.println("              ls    expects a livestatus host and portnumber, e.g.: keetweej.vanheusden.com 6557");
		System.out.println("              file  expects a file-name, e.g. /var/cache/nagios3/status.dat");
		System.out.println("              version selects the nagios-version. E.g. 1, 2 or 3");
		System.out.println("              pretty_name is used for the %SERVERNAME macro");
		System.out.println("              You can add as many Nagios servers as you like");
		System.out.println("              Example: --source file 3 /var/cache/nagios3/status.dat");
		System.out.println("");
		System.out.println("--allow-all-ssl  For https: do not check if the certificate is valid. You can use this with hosts that have a self-signed certificate. Please note that this needs to be the first commandline switch!");
		System.out.println("--disable-http-compression Don't use gzip/deflate compression in HTTP connection - usefull for fast links as the server has less load then");
		System.out.println("--proxy-host");
		System.out.println("--proxy-port  Proxy to use for outbound http requests.");
		System.out.println("--nrows x     Number of rows to show, must be at least 2");
		System.out.println("--min-row-height  Minimum height of the rows, skip or set to -1 to have a constant height");
		System.out.println("--interval x  Retrieve status every x seconds");
		System.out.println("--flash       Flash/blink new problems");
		System.out.println("--webcam-timeout x   Maximum time for loading 1 webcam. If not set, the Nagios status loading interval is used.");
		System.out.println("--use-host-alias Show host-alias instead of hostname");
		System.out.println("--fullscreen x Run in a fullscreen mode, e.g. without any borders (undecorated), no menu bars (fullscreen), spread over all monitors (allmonitors) or none (none)");
		System.out.println("--list-screens  To see a list of screens connected to the system on which CoffeeSaint is running");
		System.out.println("--use-screen x  Select screen 'x' to display the output on. This is usefull if you have multiple monitors connected to the system.");
		System.out.println("--problem-columns x  Split the screen in x columns so that it can display x * nrows");
		System.out.println("--flexible-n-columns Dynamically adjust number of columns (up to the maximum set with --problem-columns)");
		System.out.println("--image y x     Display image x on background. Can be a filename or an http-URL. One can have multiple files/url which will be shown roundrobin. y must be MJPEG/HTTP/HTTPS/FILE (HTTP[S]/FILE can be jpg/png)");
		System.out.println("--adapt-img   Reduce image-size to fit below the listed problems");
		System.out.println("--random-img  Randomize order of images shown");
		System.out.println("--transparency x Transparency for drawing (0.0...1.0) - only usefull with background image/webcam");
		System.out.println("--header-transparency x  Like '--transparency' but for the header.");
		System.out.println("--font x      Font to use. Default is 'Arial'");
		System.out.println("--list-fonts  List known fonts");
		System.out.println("--critical-font x  Font to use for critical problems");
		System.out.println("--warning-font x   Font to use for warning problems");
		System.out.println("--reduce-textwidth Try to fit text to the window width");
		System.out.println("--prefer x    Comma seperated list of regular expressions which tell what problems to show with priority (on top of the others)");
		System.out.println("--also-acknowledged Display acknowledged problems as well");
		System.out.println("--always-notify	Also display problems for which notifications are disabled");
		System.out.println("--also-scheduled-downtime Also display problems for which downtime has been scheduled");
		System.out.println("--also-soft-state   Also display problems that are not yet in hard state");
		System.out.println("--also-disabled-active-checks Also display problems for which active checks have been disabled");
		System.out.println("--suppress-flapping Do not show hosts that are flapping");
		System.out.println("--filter-unknown    Do not show unknown/pending state");
		System.out.println("--filter-down       Do not show hosts in down state");
		System.out.println("--show-flapping-icon Show an icon in front of problems indicating wether they're flapping or not");
		System.out.println("--show-services-for-host-with-problems");
		System.out.println("--bgcolor x   Select a background-color, used when there's something to notify about. Default is gray");
		System.out.println("--bgcolor-fade-to x If set, don't draw a solid color but fade (gradient) the --bgcolor color to this one.");
		System.out.println("--problem-row-gradient If set, don't draw a solid color bar but fade (gradient) the problem-status-color to this one.");
		System.out.println("--list-bgcolors     Show a list of available colors");
		System.out.println("--textcolor   Text color (header and such)");
		System.out.println("--warning-textcolor Text color of warning-problems");
		System.out.println("--critical-textcolor Text color of critical-problems");
		System.out.println("--sound x     Play sound when a warning/error state starts");
		System.out.println("--counter     Show counter decreasing upto the point that a refresh will happen");
		System.out.println("--exec x      Execute program when one or more errors are shown");
		System.out.println("--predict x   File to write brain-dump to (and read from)");
		System.out.println("--performance-data-filename x   File to write performance data to");
		System.out.println("--config x    Load configuration from file x. This overrides all configurationsettings set previously");
		System.out.println("--create-config x    Create new configuration file with filename x");
		System.out.println("--listen-port Port to listen for the internal webserver");
		System.out.println("--listen-adapter Network interface to listen for the internal webserver");
		System.out.println("--disable-http-fileselect Do not allow web-interface to select a file to write configuration to");
		System.out.println("--header x    String to display in header. Can contain escapes, see below");
		System.out.println("--footer x    String to display in footer. Can contain escapes, see below");
		System.out.println("--host-issue x  String defining how to format host-issues");
		System.out.println("--service-issue x  String defining how to format service-issues");
		System.out.println("--no-header   Do not display the statistics line in the upper row");
		System.out.println("--row-border  Draw a line between each row");
		System.out.println("--row-border-color Color of the row border");
		System.out.println("--graph-color Color of the graphs (e.g. performance data sparkline)");
		System.out.println("--sort-order [y] [z] x  Sort on field x. y and z can be 'numeric' and 'reverse'");
		System.out.println("              E.g. --sort-order numeric last_state_change (= default)");
		System.out.println("--cam-cols    Number of cams per row");
		System.out.println("--cam-rows    Number of rows with cams");
		System.out.println("--ignore-aspect-ratio Grow/shrink all webcams with the same factor. In case you have webcams with different dimensions");
		System.out.println("--scrolling-header  In case there's more information to put into it than what fits on the screen");
		System.out.println("--scroll-pixels-per-sec x  Number of pixels to scroll per second (default: 100)");
		System.out.println("--scroll-if-not-fitting    If problems do not fit, scroll them");
		System.out.println("--splitter \"x x x...\"    With \\T one can add tabs-stops. With --spliter you define at what positions to put the strings.");
		System.out.println("--draw-problems-service-split-line Draw a line at the split position.");
		System.out.println("--anti-alias  Anti-alias graphics");
		System.out.println("--max-quality-graphics Draw graphics with maximum quality.");
		System.out.println("--verbose     Show what it is doing");
		System.out.println("--color-bg-to-state   Background color depends on state:");
		System.out.println("--warning-bg-color x  Background color for warnings (yellow)");
		System.out.println("--critical-bg-color x Background color for criticals (red)");
		System.out.println("--nagios-unknown-bg-color x Background color for unknonws (magenta)");
		System.out.println("--hosts-filter-exclude x Comma-seperated list of hosts not to display");
		System.out.println("--hosts-filter-include x Comma-seperated list of hosts to display. Use in combination with --hosts-filter-exclude: will be invoked after the exclude.");
		System.out.println("--services-filter-exclude x Comma-seperated list of services not to display");
		System.out.println("--services-filter-include x Comma-seperated list of services to display. Use in combination with --services-filter-exclude: will be invoked after the exclude.");
		System.out.println("--sparkline-width x Adds sparklines to the listed problems. 'x' specifies the width in pixels");
		System.out.println("--sparkline-mode x (avg-sd or min-max) How to scale the sparkline graphcs");
		System.out.println("--no-problems-text Messages to display when there are no problems.");
		System.out.println("--state-problems-text Message to display when there are problems: used by %STATE escape.");
		System.out.println("--no-authentication Disable authentication in the web-interface.");
		System.out.println("--web-username      Username to use for web-interface authentication. You need to set the password as well!");
		System.out.println("--web-password      Username to use for web-interface authentication. You need to set the username as well!");
		System.out.println("--logo x            Image to put in the header-row.");
		System.out.println("--logo-position x   Where to put the logo in the header-row. Can be \"left\" or \"right\".");
		System.out.println("");
		System.out.print("Known colors:");
		config.listColors();
		System.out.println("");
		System.out.println("Escapes:");
		System.out.println("  %CRITICAL/%WARNING/%OK, %UP/%DOWN/%UNREACHABLE/%PENDING");
		System.out.println("  %TOTALISSUES              Sum of critical, warning, down and unreachable");
		System.out.println("  %STATE                    Either '--no-problems-text' or --state-problems-text'");
		System.out.println("  %H:%M       Current hour/minute");
		System.out.println("  %HOSTNAME/%SERVICENAME    host/service with problem");
		System.out.println("  %SERVERNAME               host/service with problem");
		System.out.println("  %HOSTSTATE/%SERVICESTATE  host/service state");
		System.out.println("  %HOSTSINCE/%SERVICESINCE  since when does this host/service have a problem");
		System.out.println("  %HOSTSINCETS/%SERVICESINCETS  (duration in seconds)");
		System.out.println("  %HOSTFLAPPING/%SERVICEFLAPPING  wether the state is flapping");
		System.out.println("  %PREDICT/%HISTORICAL      ");
		System.out.println("  %HOSTDURATION/%SERVICEDURATION how long has a host/service been down");
		System.out.println("  %OUTPUT                   Plugin output");
		System.out.println("  @FIELDDATEHOST^field@     Take 'field' from the host-fields (see 'Sort-fields' below) and convert it into a date-string");
		System.out.println("  @FIELDDATESERVICE^field@  Take 'field' from the service-fields (see 'Sort-fields' below) and convert it into a date-string");
		System.out.println("  @FIELDBOOLEANHOST^field@  Take 'field' from the host-fields (see 'Sort-fields' below) and interprete as yes/no");
		System.out.println("  @FIELDBOOLEANSERVICE^field@  Take 'field' from the service-fields (see 'Sort-fields' below) and interprete as yes/no");
		System.out.println("  @FIELDHOST^field@         Take 'field' from the host-fields (see 'Sort-fields' below) and display its contents");
		System.out.println("  @FIELDSERVICE^field@      Take 'field' from the service-fields (see 'Sort-fields' below) and display its contents");
		System.out.println("  @FIELD^x@                 x can be 'field|service|host' or 'field|host' or 'field'");
		System.out.println("  @EXEC^script@             Invoke script 'script' with as parameters: hostname, servicename (or empty string in case of a host failure), current state, plugin-output");
		System.out.println("                            Unix example: @EXEC^/usr/local/bin/my_script@");
		System.out.println("                            Windows example: @EXEC^c:\\programs\\myprogram.exec@");
		System.out.println("  %PERCENT			% character");
		System.out.println("  %AT                       @ character");
		System.out.println("  %CHECKLATENCY             Check latency");
		System.out.println("  %NACKED                   # acknowledged problems");
		System.out.println("  %NFLAPPING                # flapping problems");
		System.out.println(" Conditionals");
		System.out.println("  @LESS^V1^V2^string@          If v1 < v2, print string. String can contain escapes. V1 can be e.g. %HOSTSINCETS or others.");
		System.out.println("  @LESSOREQUAL^V1^V2^string@   If v1 <= v2, show string.");
		System.out.println("  @BIGGER^V1^V2^string@        If v1 > v2, show string.");
		System.out.println("  @BIGGEROREQUAL^V1^V2^string@ If v1 >= v2, show string.");
		System.out.println("  @EQUAL^V1^V2^string@         If v1 == v2, print string.");
		System.out.println("");
		System.out.println("Sort-fields:");
		config.listSortFields();
		System.out.println("");
	}