From d9557dba0d766f3d73131ca49b6409491684730e Mon Sep 17 00:00:00 2001 From: oga Date: Tue, 22 Jul 2008 20:42:24 +0000 Subject: split x_setup() into two. dpy_init() for setting up the display and checking the X config, and x_setup to set up the screens. There's an ordering problem that means that some of this init needs to come after the config is parsed, the rest should ideally happen before though. This is a rough split, it will be refined later. Again, needed for an upcoming change. ok okan. --- calmwm.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) (limited to 'calmwm.c') diff --git a/calmwm.c b/calmwm.c index c667364..3c932fa 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. * - * $Id: calmwm.c,v 1.24 2008/07/22 19:54:57 oga Exp $ + * $Id: calmwm.c,v 1.25 2008/07/22 20:42:24 oga Exp $ */ #include "headers.h" @@ -45,6 +45,7 @@ struct conf Conf; static char gray_bits[] = {0x02, 0x01}; static void _sigchld_cb(int); +static void dpy_init(const char *); int main(int argc, char **argv) @@ -78,10 +79,11 @@ main(int argc, char **argv) group_init(); Starting = 1; + dpy_init(display_name); bzero(&Conf, sizeof(Conf)); conf_setup(&Conf, conf_file); client_setup(); - x_setup(display_name); + x_setup(); Starting = 0; xev_init(); @@ -106,21 +108,27 @@ main(int argc, char **argv) } void -x_setup(char *display_name) +dpy_init(const char *dpyname) { - struct screen_ctx *sc; - int i; - - TAILQ_INIT(&Screenq); + int i; - if ((X_Dpy = XOpenDisplay(display_name)) == NULL) + if ((X_Dpy = XOpenDisplay(dpyname)) == NULL) errx(1, "unable to open display \"%s\"", - XDisplayName(display_name)); + XDisplayName(dpyname)); XSetErrorHandler(x_errorhandler); Doshape = XShapeQueryExtension(X_Dpy, &Shape_ev, &i); + TAILQ_INIT(&Screenq); +} + +void +x_setup(void) +{ + struct screen_ctx *sc; + int i; + Nscreens = ScreenCount(X_Dpy); for (i = 0; i < (int)Nscreens; i++) { XMALLOC(sc, struct screen_ctx); -- cgit v1.2.3-2-gb3c3