diff options
author | Okan Demirmen <okan@cvs.openbsd.org> | 2014-02-01 00:25:05 +0000 |
---|---|---|
committer | Okan Demirmen <okan@cvs.openbsd.org> | 2014-02-01 00:25:05 +0000 |
commit | 1e4af4a0a3c5e28e3b3c20cffabd130eb470a43b (patch) | |
tree | 199e91b039cacb3d4de48f4566fe1aec756541e0 /app/cwm | |
parent | 3b8b21e6aac2291d1be0a65325ab056b9fd26473 (diff) |
Let the config parser continue parsing even after encountering an error;
original idea (with now-outdated patch) from Thomas Adam. Since we now
report where errors exist, this now makes more sense. Expand a bit on
config file parsing in the cwm(1).
Discussed with a few, including sthen; ok sthen.
Diffstat (limited to 'app/cwm')
-rw-r--r-- | app/cwm/calmwm.c | 12 | ||||
-rw-r--r-- | app/cwm/cwm.1 | 21 |
2 files changed, 20 insertions, 13 deletions
diff --git a/app/cwm/calmwm.c b/app/cwm/calmwm.c index 2add0d4f3..5f8590e6b 100644 --- a/app/cwm/calmwm.c +++ b/app/cwm/calmwm.c @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: calmwm.c,v 1.87 2014/01/28 00:42:20 okan Exp $ + * $OpenBSD: calmwm.c,v 1.88 2014/02/01 00:25:04 okan Exp $ */ #include <sys/param.h> @@ -108,11 +108,8 @@ main(int argc, char **argv) } conf_init(&Conf); - if (conf_path && (parse_config(conf_path, &Conf) == -1)) { - warnx("config file %s has errors, not loading", conf_path); - conf_clear(&Conf); - conf_init(&Conf); - } + if (conf_path && (parse_config(conf_path, &Conf) == -1)) + warnx("config file %s has errors", conf_path); free(conf_path); x_init(display_name); @@ -142,7 +139,6 @@ x_init(const char *dpyname) HasRandr = XRRQueryExtension(X_Dpy, &Randr_ev, &i); conf_atoms(); - conf_cursor(&Conf); for (i = 0; i < ScreenCount(X_Dpy); i++) @@ -162,6 +158,8 @@ x_teardown(void) struct screen_ctx *sc; unsigned int i; + conf_clear(&Conf); + TAILQ_FOREACH(sc, &Screenq, entry) { for (i = 0; i < CWM_COLOR_NITEMS; i++) XftColorFree(X_Dpy, sc->visual, sc->colormap, diff --git a/app/cwm/cwm.1 b/app/cwm/cwm.1 index fe2818736..91743045d 100644 --- a/app/cwm/cwm.1 +++ b/app/cwm/cwm.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: cwm.1,v 1.49 2013/12/16 19:02:17 okan Exp $ +.\" $OpenBSD: cwm.1,v 1.50 2014/02/01 00:25:04 okan Exp $ .\" .\" Copyright (c) 2004,2005 Marius Aamodt Eriksen <marius@monkey.org> .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: December 16 2013 $ +.Dd $Mdocdate: February 1 2014 $ .Dt CWM 1 .Os .Sh NAME @@ -52,7 +52,7 @@ Right mouse button. .Nm is very simple in its use. Most of the actions are initiated via key bindings. -The current key bindings are described below; +The default key bindings are described below; their functionality is described in more detail later. .Pp .Bl -tag -width "CM-EscapeXXXXX" -offset indent -compact @@ -125,7 +125,7 @@ Quit .Nm . .El .Pp -The mouse bindings are also important, they are: +The default mouse bindings are: .Pp .Bl -tag -width Ds -offset indent -compact .It Ic M-M1 @@ -145,8 +145,17 @@ The options for are as follows: .Bl -tag -width Ds .It Fl c Ar file -Specify the config file to use. Defaults to -.Pa ~/.cwmrc . +Specify an alternative configuration file. +By default, +.Nm +loads +.Pa ~/.cwmrc , +if present. +Any error messages from lines in the configuration file will be sent to +.Em stderr ; +however, +.Nm +will continue to process the rest of the configuration file. .It Fl d Ar display Specify the display to use. .El |