aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorokan2014-02-01 00:25:04 +0000
committerokan2014-02-01 00:25:04 +0000
commit040a853128dd2340395d0f3c92ad911aa8dfc4fc (patch)
tree2f9a9598b53de04bc96c871c7aa6a90a52f1146e
parentc98fe0797ad171985b3a2be70afdef2870289ee6 (diff)
downloadcwm-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.
-rw-r--r--calmwm.c12
-rw-r--r--cwm.121
2 files changed, 20 insertions, 13 deletions
diff --git a/calmwm.c b/calmwm.c
index 2add0d4..5f8590e 100644
--- a/calmwm.c
+++ b/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/cwm.1 b/cwm.1
index fe28187..9174304 100644
--- a/cwm.1
+++ b/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