diff options
author | okan | 2014-02-01 00:25:04 +0000 |
---|---|---|
committer | okan | 2014-02-01 00:25:04 +0000 |
commit | 040a853128dd2340395d0f3c92ad911aa8dfc4fc (patch) | |
tree | 2f9a9598b53de04bc96c871c7aa6a90a52f1146e | |
parent | c98fe0797ad171985b3a2be70afdef2870289ee6 (diff) | |
download | cwm-040a853128dd2340395d0f3c92ad911aa8dfc4fc.tar.gz |
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 '')
-rw-r--r-- | calmwm.c | 12 | ||||
-rw-r--r-- | cwm.1 | 21 |
2 files changed, 20 insertions, 13 deletions
@@ -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, @@ -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 |