aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorokan2019-02-25 18:07:48 +0000
committerokan2019-02-25 18:07:48 +0000
commit35d7a7dabf8e1cb8891b2661e5798de4f9f06f87 (patch)
treedaa2286edc7231eac90016a8ace01db134833026
parent8f7c934cef0f223e5fc0d06b2f0cba386b5b8fd8 (diff)
downloadcwm-35d7a7dabf8e1cb8891b2661e5798de4f9f06f87.tar.gz
Add a configtest flag (-n).
based on a diff from Sascha Paunovic.
Diffstat (limited to '')
-rw-r--r--calmwm.c18
-rw-r--r--cwm.19
2 files changed, 19 insertions, 8 deletions
diff --git a/calmwm.c b/calmwm.c
index 101bdbf..1c3c2c0 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.109 2018/02/09 19:54:54 okan Exp $
+ * $OpenBSD: calmwm.c,v 1.110 2019/02/25 18:07:48 okan Exp $
*/
#include <sys/types.h>
@@ -55,7 +55,7 @@ main(int argc, char **argv)
{
char *display_name = NULL;
char *fallback;
- int ch, xfd;
+ int ch, xfd, nflag = 0;
struct pollfd pfd[1];
if (!setlocale(LC_CTYPE, "") || !XSupportsLocale())
@@ -66,7 +66,7 @@ main(int argc, char **argv)
fallback = u_argv(argv);
Conf.wm_argv = u_argv(argv);
- while ((ch = getopt(argc, argv, "c:d:v")) != -1) {
+ while ((ch = getopt(argc, argv, "c:d:nv")) != -1) {
switch (ch) {
case 'c':
free(Conf.conf_file);
@@ -75,6 +75,9 @@ main(int argc, char **argv)
case 'd':
display_name = optarg;
break;
+ case 'n':
+ nflag = 1;
+ break;
case 'v':
Conf.debug++;
break;
@@ -90,8 +93,13 @@ main(int argc, char **argv)
if (signal(SIGHUP, sighdlr) == SIG_ERR)
err(1, "signal");
- if (parse_config(Conf.conf_file, &Conf) == -1)
+ if (parse_config(Conf.conf_file, &Conf) == -1) {
warnx("error parsing config file");
+ if (nflag)
+ return 1;
+ }
+ if (nflag)
+ return 0;
xfd = x_init(display_name);
cwm_status = CWM_RUNNING;
@@ -219,7 +227,7 @@ usage(void)
{
extern char *__progname;
- (void)fprintf(stderr, "usage: %s [-v] [-c file] [-d display]\n",
+ (void)fprintf(stderr, "usage: %s [-nv] [-c file] [-d display]\n",
__progname);
exit(1);
}
diff --git a/cwm.1 b/cwm.1
index ed85bef..825558a 100644
--- a/cwm.1
+++ b/cwm.1
@@ -1,4 +1,4 @@
-.\" $OpenBSD: cwm.1,v 1.63 2019/02/22 19:40:33 okan Exp $
+.\" $OpenBSD: cwm.1,v 1.64 2019/02/25 18:07:48 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: February 22 2019 $
+.Dd $Mdocdate: February 25 2019 $
.Dt CWM 1
.Os
.Sh NAME
@@ -23,7 +23,7 @@
.Sh SYNOPSIS
.\" For a program: program [-abc] file ...
.Nm cwm
-.Op Fl v
+.Op Fl nv
.Op Fl c Ar file
.Op Fl d Ar display
.Sh DESCRIPTION
@@ -48,6 +48,9 @@ however,
will continue to process the rest of the configuration file.
.It Fl d Ar display
Specify the display to use.
+.It Fl n
+Configtest mode.
+Only check the configuration file for validity.
.It Fl v
Verbose mode.
Multiple