1
/* $Id: lcd4linux.c 783 2007-03-22 06:10:36Z michael $
2
* $URL: https://ssl.bulix.org/svn/lcd4linux/branches/0.10.1/lcd4linux.c $
3
* $URL: https://ssl.bulix.org/svn/lcd4linux/branches/0.10.1/lcd4linux.c $
1
/* $Id: lcd4linux.c 1106 2010-02-07 14:03:46Z mzuther $
2
* $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/lcd4linux.c $
7
* Copyright (C) 1999, 2000, 2001, 2002, 2003 Michael Reinelt <reinelt@eunet.at>
8
* Copyright (C) 2004, 2005, 2006, 2007 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
6
* Copyright (C) 1999, 2000, 2001, 2002, 2003 Michael Reinelt <michael@reinelt.co.at>
7
* Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
10
9
* This file is part of LCD4Linux.
58
60
#define PIDFILE "/var/run/lcd4linux.pid"
60
62
static char *release = "LCD4Linux " VERSION "-" SVN_VERSION;
61
static char *copyright = "Copyright (C) 2005, 2006, 2007 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>";
63
static char *copyright =
64
"Copyright (C) 2005, 2006, 2007, 2008, 2009 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>";
62
65
static char **my_argv;
63
66
extern char *output;
70
73
printf("%s\n", release);
71
74
printf("%s\n", copyright);
72
printf("usage: lcd4linux [-h]\n");
73
printf(" lcd4linux [-l]\n");
74
printf(" lcd4linux [-c key=value] [-i] [-f config-file] [-v] [-p pid-file]\n");
75
printf(" lcd4linux [-c key=value] [-F] [-f config-file] [-o output-file] [-q] [-v]\n");
77
printf(" lcd4linux [-h]\n");
78
printf(" lcd4linux [-l]\n");
79
printf(" lcd4linux [-c key=value] [-i] [-f config-file] [-v] [-p pid-file]\n");
80
printf(" lcd4linux [-c key=value] [-F] [-f config-file] [-o output-file] [-q] [-v]\n");
84
printf(" -l list available display drivers and plugins\n");
85
printf(" -c <key>=<value> overwrite entries from the config-file\n");
86
printf(" -i enter interactive mode (after display initialisation)\n");
87
printf(" -ii enter interactive mode (before display initialisation)\n");
88
printf(" -f <config-file> use configuration from <config-file> instead of /etc/lcd4linux.conf\n");
89
printf(" -v generate info messages\n");
90
printf(" -vv generate debugging messages\n");
91
printf(" -p <pid-file> specify a different pid-file location (default is /var/run/lcd4linux.pid)\n");
92
printf(" -F do not fork and detach (run in foreground)\n");
93
printf(" -o <output-file> write picture to file (raster driver only)\n");
94
printf(" -q suppress startup and exit splash screen\n");
96
printf("special X11 options:\n");
97
printf(" -display <X11 display name> preceeds X connection given in $DISPLAY\n");
98
printf(" -synchronous use synchronized communication with X server (for debugging)\n");
78
105
static void interactive_mode(void)
203
231
running_foreground = 0;
204
232
running_background = 0;
235
drv_X11_parseArgs(&argc, argv);
236
if (argc != thread_argc) {
237
/* info() will not work here because verbose level is not known */
238
printf("recognized special X11 parameters\n");
206
241
while ((c = getopt(argc, argv, "c:Ff:hilo:qvp:")) != EOF) {
256
289
running_foreground = 1;
259
info("Version " VERSION "-" SVN_VERSION " starting");
293
printf("%s\n", release);
294
printf("%s\n", copyright);
303
info("%s starting", release);
260
304
if (!running_foreground && (my_argv[0] == NULL || my_argv[0][0] != '/')) {
261
305
info("invoked without full path; restart may not work!");
264
if (cfg_init(cfg) == -1)
308
if (cfg_init(cfg) == -1) {
309
error("Error reading configuration. Exit!");
267
if (plugin_init() == -1)
313
if (plugin_init() == -1) {
314
error("Error initializing plugins. Exit!");
270
318
display = cfg_get(NULL, "Display", NULL);
271
319
if (display == NULL || *display == '\0') {
317
365
debug("initializing driver %s", driver);
318
366
if (drv_init(section, driver, quiet) == -1) {
367
error("Error initializing driver %s: Exit!", driver);
319
368
pid_exit(pidfile);