diff options
Diffstat (limited to '')
-rw-r--r-- | calmwm.c | 26 |
1 files changed, 17 insertions, 9 deletions
@@ -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); |