summary refs log tree commit diff
path: root/calmwm.c
diff options
context:
space:
mode:
authorjasper <jasper>2007-05-10 17:23:49 +0000
committerjasper <jasper>2007-05-10 17:23:49 +0000
commit9d51a8cf844e9a4deaaa706ee895383ccd7d44a9 (patch)
treeb7d8e60bfe475e9df19f39855f46f5746318e46a /calmwm.c
parent8d6050329032f6f294118f53e0902a3a9e8afe7e (diff)
downloadcwm-9d51a8cf844e9a4deaaa706ee895383ccd7d44a9.tar.gz
cwm-9d51a8cf844e9a4deaaa706ee895383ccd7d44a9.tar.xz
cwm-9d51a8cf844e9a4deaaa706ee895383ccd7d44a9.zip
- add a "-d" option, to specify the display cwm should be started on
- adjust argc/argv by optind
- add an ENVIRONMENT section to the manpage

ok matthieu@ ray@
Diffstat (limited to 'calmwm.c')
-rw-r--r--calmwm.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/calmwm.c b/calmwm.c
index ab0142e..8cab0db 100644
--- a/calmwm.c
+++ b/calmwm.c
@@ -55,10 +55,15 @@ main(int argc, char **argv)
 	int ch;
 	int conf_flags = 0;
 
+	char *display_name = NULL;
+
 	DefaultFontName = "sans-serif:pixelsize=14:bold";
 
-	while ((ch = getopt(argc, argv, "sf:")) != -1) {
+	while ((ch = getopt(argc, argv, "d:sf:")) != -1) {
 		switch (ch) {
+		case 'd':
+			display_name = optarg;
+			break;
 		case 's':
 			conf_flags |= CONF_STICKY_GROUPS;
 			break;
@@ -69,6 +74,8 @@ main(int argc, char **argv)
 			errx(1, "Unknown option '%c'", ch);
 		}
 	}
+	argc -= optind;
+	argv +- optind;
 
 	/* Ignore a few signals. */
         if (signal(SIGPIPE, SIG_IGN) == SIG_ERR)
@@ -83,7 +90,7 @@ main(int argc, char **argv)
 	conf_setup(&G_conf);
 	G_conf.flags |= conf_flags;
 	client_setup();
-	x_setup();
+	x_setup(display_name);
 	G_starting = 0;
 
 	xev_init();
@@ -108,7 +115,7 @@ main(int argc, char **argv)
 }
 
 void
-x_setup(void)
+x_setup(char *display_name)
 {
 	int i;
 	struct screen_ctx *sc;
@@ -116,7 +123,7 @@ x_setup(void)
 
 	TAILQ_INIT(&G_screenq);
 
-	if ((G_dpy = XOpenDisplay("")) == NULL)
+	if ((G_dpy = XOpenDisplay(display_name)) == NULL)
 		errx(1, "%s:%d XOpenDisplay()", __FILE__, __LINE__);
 
 	XSetErrorHandler(x_errorhandler);