summary refs log tree commit diff
path: root/calmwm.c
diff options
context:
space:
mode:
authorsimon <simon>2008-03-23 15:09:21 +0000
committersimon <simon>2008-03-23 15:09:21 +0000
commitc3aa344e7836f4214f6cff6e2fa7c0297e7da16e (patch)
tree2c07ad69a106a4c5f33744f0001e97d731969e21 /calmwm.c
parent38ff7a904ede4e6412e5d89844e62b60e2c90fdb (diff)
downloadcwm-c3aa344e7836f4214f6cff6e2fa7c0297e7da16e.tar.gz
cwm-c3aa344e7836f4214f6cff6e2fa7c0297e7da16e.tar.xz
cwm-c3aa344e7836f4214f6cff6e2fa7c0297e7da16e.zip
Replace the symlink configuration scheme with a simple yacc parser as
found in other places of the tree.  Remove sticky and font commandline
options and add another one for alternative config locations.
Split off cwmrc(5) from cwm(1), nuke #ifdef __OpenBSD__ while there.

tested by various kind people, feedback from oga@ and okan@ - thanks!
ok oga@, jasper@, okan@
Diffstat (limited to 'calmwm.c')
-rw-r--r--calmwm.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/calmwm.c b/calmwm.c
index 2048502..4f40107 100644
--- a/calmwm.c
+++ b/calmwm.c
@@ -38,8 +38,7 @@ struct client_ctx_q		 Clientq;
 int				 Doshape, Shape_ev;
 int				 Starting;
 struct conf			 Conf;
-struct fontdesc                 *DefaultFont;
-char                            *DefaultFontName;
+struct fontdesc                 *DefaultFont = NULL;
 
 /* From TWM */
 #define gray_width 2
@@ -53,23 +52,18 @@ int
 main(int argc, char **argv)
 {
 	int ch;
-	int conf_flags = 0;
+	const char *conffile = NULL;
 
 	char *display_name = NULL;
 
-	DefaultFontName = "sans-serif:pixelsize=14:bold";
-
-	while ((ch = getopt(argc, argv, "d:sf:")) != -1) {
+	while ((ch = getopt(argc, argv, "c:d:")) != -1) {
 		switch (ch) {
+		case 'c':
+			conffile = optarg;
+			break;
 		case 'd':
 			display_name = optarg;
 			break;
-		case 's':
-			conf_flags |= CONF_STICKY_GROUPS;
-			break;
-		case 'f':
-			DefaultFontName = xstrdup(optarg);
-			break;
 		default:
 			usage();
 		}
@@ -87,8 +81,7 @@ main(int argc, char **argv)
 	group_init();
 
 	Starting = 1;
-	conf_setup(&Conf);
-	Conf.flags |= conf_flags;
+	conf_setup(&Conf, conffile);
 	client_setup();
 	x_setup(display_name);
 	Starting = 0;
@@ -209,7 +202,7 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
 	    GCLineWidth|GCSubwindowMode, &gv);
 
 	font_init(sc);
-	DefaultFont = font_getx(sc, DefaultFontName);
+	DefaultFont = font_getx(sc, Conf.DefaultFontName);
 
 	/*
 	 * XXX - this should *really* be in screen_init().  ordering